diff --git a/OshimaCore/Constant/Constant.cs b/OshimaCore/Constant/Constant.cs
index bba0dc3..6221dcf 100644
--- a/OshimaCore/Constant/Constant.cs
+++ b/OshimaCore/Constant/Constant.cs
@@ -1,4 +1,5 @@
using Milimoe.FunGame.Core.Library.Common.Addon;
+using Milimoe.FunGame.Core.Model;
namespace Oshima.Core.Constant
{
@@ -23,5 +24,10 @@ namespace Oshima.Core.Constant
private static readonly string[] Skills = [Skill];
private static readonly string[] Items = [Item];
public static GameModuleDepend GameModuleDepend { get; } = new(Maps, Characters, Skills, Items);
+
+ public static EquilibriumConstant GameplayEquilibriumConstant { get; } = new()
+ {
+ InGameTime = "秒"
+ };
}
}
diff --git a/OshimaModules/Effects/EffectID.cs b/OshimaModules/Effects/EffectID.cs
index f363dbd..d465d79 100644
--- a/OshimaModules/Effects/EffectID.cs
+++ b/OshimaModules/Effects/EffectID.cs
@@ -170,6 +170,11 @@
///
DynamicsEffect = 8032,
+ ///
+ /// 无视闪避率,参数:p
+ ///
+ IgnoreEvade = 8033,
+
///
/// 被动特效终点
///
diff --git a/OshimaModules/Effects/OpenEffects/DynamicsEffect.cs b/OshimaModules/Effects/OpenEffects/DynamicsEffect.cs
index 8e4bbcc..6fc96ee 100644
--- a/OshimaModules/Effects/OpenEffects/DynamicsEffect.cs
+++ b/OshimaModules/Effects/OpenEffects/DynamicsEffect.cs
@@ -142,7 +142,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
}
}
RealDynamicsValues["shtr"] = shtr;
- Descriptions.Add($"减少角色的所有主动技能 {shtr:0.##} 硬直时间。");
+ Descriptions.Add($"减少角色的所有主动技能 {shtr:0.##} {GameplayEquilibriumConstant.InGameTime}硬直时间。");
}
break;
case "nahtr":
@@ -157,7 +157,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
character.NormalAttack.HardnessTime += nahtr;
}
RealDynamicsValues["nahtr"] = nahtr;
- Descriptions.Add($"减少角色的普通攻击 {nahtr:0.##} 硬直时间。");
+ Descriptions.Add($"减少角色的普通攻击 {nahtr:0.##} {GameplayEquilibriumConstant.InGameTime}硬直时间。");
}
break;
case "exacc":
diff --git a/OshimaModules/Effects/OpenEffects/IgnoreEvade.cs b/OshimaModules/Effects/OpenEffects/IgnoreEvade.cs
new file mode 100644
index 0000000..cd38ed0
--- /dev/null
+++ b/OshimaModules/Effects/OpenEffects/IgnoreEvade.cs
@@ -0,0 +1,40 @@
+using Milimoe.FunGame.Core.Entity;
+using Milimoe.FunGame.Core.Library.Constant;
+
+namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
+{
+ public class IgnoreEvade : Effect
+ {
+ 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 double Value => 概率;
+
+ private readonly double 概率 = 0;
+
+ public override bool BeforeEvadeCheck(Character actor, Character enemy, ref double throwingBonus)
+ {
+ if (actor == Skill.Character)
+ {
+ WriteLine($"[ {actor} ] 的普通攻击无视了 [ {enemy} ] 的闪避!");
+ return false;
+ }
+ return true;
+ }
+
+ public IgnoreEvade(Skill skill, Dictionary args, Character? source = null) : base(skill, args)
+ {
+ GamingQueue = skill.GamingQueue;
+ Source = source;
+ if (Values.Count > 0)
+ {
+ string key = Values.Keys.FirstOrDefault(s => s.Equals("p", StringComparison.CurrentCultureIgnoreCase)) ?? "";
+ if (key.Length > 0 && double.TryParse(Values[key].ToString(), out double p) && p >= 0 && p <= 1)
+ {
+ 概率 = p;
+ }
+ }
+ }
+ }
+}
diff --git a/OshimaModules/Effects/OpenEffects/NormalAttackHardTimeReduce.cs b/OshimaModules/Effects/OpenEffects/NormalAttackHardTimeReduce.cs
index 88ec8d6..1a9450b 100644
--- a/OshimaModules/Effects/OpenEffects/NormalAttackHardTimeReduce.cs
+++ b/OshimaModules/Effects/OpenEffects/NormalAttackHardTimeReduce.cs
@@ -7,7 +7,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.##} 硬直时间。" + (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;
private readonly double 实际硬直时间减少 = 0;
diff --git a/OshimaModules/Effects/OpenEffects/SkillHardTimeReduce.cs b/OshimaModules/Effects/OpenEffects/SkillHardTimeReduce.cs
index 7045fad..90dd7f5 100644
--- a/OshimaModules/Effects/OpenEffects/SkillHardTimeReduce.cs
+++ b/OshimaModules/Effects/OpenEffects/SkillHardTimeReduce.cs
@@ -7,7 +7,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.##} 硬直时间。" + (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;
private readonly double 实际硬直时间减少 = 0;
diff --git a/OshimaModules/Effects/PassiveEffects/累积之压标记.cs b/OshimaModules/Effects/PassiveEffects/累积之压标记.cs
index b2648dd..1543ab2 100644
--- a/OshimaModules/Effects/PassiveEffects/累积之压标记.cs
+++ b/OshimaModules/Effects/PassiveEffects/累积之压标记.cs
@@ -7,10 +7,9 @@ namespace Oshima.FunGame.OshimaModules.Effects.PassiveEffects
{
public override long Id => 4102;
public override string Name => "累积之压标记";
- public override string Description => $"此角色持有累积之压标记,已累计 {MarkLevel} 层。来自:[ {Source} ]";
+ public override string Description => $"此角色持有累积之压标记。来自:[ {Source} ]";
public override EffectType EffectType => EffectType.Mark;
public override Character Source => _sourceCharacter;
- public int MarkLevel { get; set; } = 1;
private readonly Character _sourceCharacter;
diff --git a/OshimaModules/Effects/SkillEffects/提升友方行动速度.cs b/OshimaModules/Effects/SkillEffects/提升友方行动速度.cs
index 280705e..56c21ab 100644
--- a/OshimaModules/Effects/SkillEffects/提升友方行动速度.cs
+++ b/OshimaModules/Effects/SkillEffects/提升友方行动速度.cs
@@ -12,7 +12,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.SkillEffects
private double SPD => Level > 0 ? Math.Abs(基础数值速度 + 基础速度等级成长 * (Level - 1)) : Math.Abs(基础数值速度);
private double 基础数值速度 { get; set; } = 65;
private double 基础速度等级成长 { get; set; } = 25;
- private string 持续时间 => _durative && _duration > 0 ? _duration + " 时间" : (!_durative && _durationTurn > 0 ? _durationTurn + " 回合" : "0 时间");
+ private string 持续时间 => _durative && _duration > 0 ? _duration + $" {GameplayEquilibriumConstant.InGameTime}" : (!_durative && _durationTurn > 0 ? _durationTurn + " 回合" : $"0 {GameplayEquilibriumConstant.InGameTime}");
private readonly bool _durative;
private readonly double _duration;
private readonly int _durationTurn;
@@ -31,7 +31,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.SkillEffects
{
foreach (Character target in targets)
{
- WriteLine($"[ {target} ] 的行动速度提升了 {SPD:0.##} !持续时间:{持续时间}!");
+ WriteLine($"[ {target} ] 的行动速度提升了 {SPD:0.##} !持续时间:{持续时间} {GameplayEquilibriumConstant.InGameTime}!");
ExSPD e = new(Skill, new Dictionary()
{
{ "exspd", SPD }
diff --git a/OshimaModules/Effects/SkillEffects/造成封技.cs b/OshimaModules/Effects/SkillEffects/造成封技.cs
index 118614e..17c71e4 100644
--- a/OshimaModules/Effects/SkillEffects/造成封技.cs
+++ b/OshimaModules/Effects/SkillEffects/造成封技.cs
@@ -9,7 +9,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.SkillEffects
public override string Name => Skill.Name;
public override string Description => $"对目标{(Skill.CanSelectTargetCount > 1 ? $"至多 {Skill.CanSelectTargetCount} 个" : "")}敌人造成封技 {封技时间},无法使用技能(魔法、战技和爆发技),并打断当前施法。";
- private string 封技时间 => _durative && _duration > 0 ? 实际封技时间 + " 时间" : (!_durative && _durationTurn > 0 ? 实际封技时间 + " 回合" : "0 时间");
+ private string 封技时间 => _durative && _duration > 0 ? 实际封技时间 + $" {GameplayEquilibriumConstant.InGameTime}" : (!_durative && _durationTurn > 0 ? 实际封技时间 + " 回合" : $"0 {GameplayEquilibriumConstant.InGameTime}");
private double 实际封技时间 => _durative && _duration > 0 ? _duration + _levelGrowth * (Level - 1) : (!_durative && _durationTurn > 0 ? _durationTurn + _levelGrowth * (Level - 1) : 0);
private readonly bool _durative;
private readonly double _duration;
@@ -29,7 +29,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.SkillEffects
{
foreach (Character enemy in targets)
{
- WriteLine($"[ {caster} ] 对 [ {enemy} ] 造成了封技和施法解除!持续时间:{封技时间}!");
+ WriteLine($"[ {caster} ] 对 [ {enemy} ] 造成了封技和施法解除!持续时间:{封技时间} {GameplayEquilibriumConstant.InGameTime}!");
封技 e = new(Skill, caster, false, 0, 1);
enemy.Effects.Add(e);
e.OnEffectGained(enemy);
diff --git a/OshimaModules/Effects/SkillEffects/造成眩晕.cs b/OshimaModules/Effects/SkillEffects/造成眩晕.cs
index 9c0226a..3767735 100644
--- a/OshimaModules/Effects/SkillEffects/造成眩晕.cs
+++ b/OshimaModules/Effects/SkillEffects/造成眩晕.cs
@@ -9,7 +9,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.SkillEffects
public override string Name => Skill.Name;
public override string Description => $"对目标{(Skill.CanSelectTargetCount > 1 ? $"至多 {Skill.CanSelectTargetCount} 个" : "")}敌人造成眩晕 {眩晕时间}。";
- private string 眩晕时间 => _durative && _duration > 0 ? 实际眩晕时间 + " 时间" : (!_durative && _durationTurn > 0 ? 实际眩晕时间 + " 回合" : "0 时间");
+ private string 眩晕时间 => _durative && _duration > 0 ? 实际眩晕时间 + $" {GameplayEquilibriumConstant.InGameTime}" : (!_durative && _durationTurn > 0 ? 实际眩晕时间 + " 回合" : $"0 {GameplayEquilibriumConstant.InGameTime}");
private double 实际眩晕时间 => _durative && _duration > 0 ? _duration + _levelGrowth * (Level - 1) : (!_durative && _durationTurn > 0 ? _durationTurn + _levelGrowth * (Level - 1) : 0);
private readonly bool _durative;
private readonly double _duration;
@@ -29,7 +29,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.SkillEffects
{
foreach (Character enemy in targets)
{
- WriteLine($"[ {caster} ] 眩晕了 [ {enemy} ] !持续时间:{眩晕时间}!");
+ WriteLine($"[ {caster} ] 眩晕了 [ {enemy} ] !持续时间:{眩晕时间} {GameplayEquilibriumConstant.InGameTime}!");
眩晕 e = new(Skill, caster, false, 0, 1);
enemy.Effects.Add(e);
e.OnEffectGained(enemy);
diff --git a/OshimaModules/Effects/SkillEffects/降低敌方行动速度.cs b/OshimaModules/Effects/SkillEffects/降低敌方行动速度.cs
index 7d8cf8f..0973b0d 100644
--- a/OshimaModules/Effects/SkillEffects/降低敌方行动速度.cs
+++ b/OshimaModules/Effects/SkillEffects/降低敌方行动速度.cs
@@ -12,7 +12,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.SkillEffects
private double SPD => Level > 0 ? -Math.Abs(基础数值速度 + 基础速度等级成长 * (Level - 1)) : -Math.Abs(基础数值速度);
private double 基础数值速度 { get; set; } = 30;
private double 基础速度等级成长 { get; set; } = 20;
- private string 持续时间 => _durative && _duration > 0 ? _duration + " 时间" : (!_durative && _durationTurn > 0 ? _durationTurn + " 回合" : "0 时间");
+ private string 持续时间 => _durative && _duration > 0 ? _duration + $" {GameplayEquilibriumConstant.InGameTime}" : (!_durative && _durationTurn > 0 ? _durationTurn + " 回合" : $"0 {GameplayEquilibriumConstant.InGameTime}");
private readonly bool _durative;
private readonly double _duration;
private readonly int _durationTurn;
@@ -31,7 +31,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.SkillEffects
{
foreach (Character target in targets)
{
- WriteLine($"[ {target} ] 的行动速度降低了 {SPD:0.##} !持续时间:{持续时间}!");
+ WriteLine($"[ {target} ] 的行动速度降低了 {SPD:0.##} !持续时间:{持续时间} {GameplayEquilibriumConstant.InGameTime}!");
ExSPD e = new(Skill, new Dictionary()
{
{ "exspd", SPD }
diff --git a/OshimaModules/Items/Weapon/独奏弓.cs b/OshimaModules/Items/Weapon/独奏弓.cs
index df722f1..d4b86b3 100644
--- a/OshimaModules/Items/Weapon/独奏弓.cs
+++ b/OshimaModules/Items/Weapon/独奏弓.cs
@@ -22,7 +22,7 @@ namespace Oshima.FunGame.OshimaModules.Items
{
public override long Id => 5999;
public override string Name => "独奏弓";
- public override string Description => $"增加角色 {攻击力加成:0.##} 点攻击力,减少普通攻击 {硬直时间减少:0.##} 硬直时间。";
+ public override string Description => $"增加角色 {攻击力加成:0.##} 点攻击力,减少普通攻击 {硬直时间减少:0.##} {GameplayEquilibriumConstant.InGameTime}硬直时间。";
private readonly double 攻击力加成 = 80;
private readonly double 硬直时间减少 = 2;
diff --git a/OshimaModules/Modules/SkillModule.cs b/OshimaModules/Modules/SkillModule.cs
index b56e35f..1d5d13c 100644
--- a/OshimaModules/Modules/SkillModule.cs
+++ b/OshimaModules/Modules/SkillModule.cs
@@ -1,5 +1,6 @@
using Milimoe.FunGame.Core.Api.Utility;
using Milimoe.FunGame.Core.Entity;
+using Milimoe.FunGame.Core.Library.Constant;
using Oshima.Core.Constant;
using Oshima.FunGame.OshimaModules.Effects.ItemEffects;
using Oshima.FunGame.OshimaModules.Effects.OpenEffects;
@@ -23,6 +24,11 @@ namespace Oshima.FunGame.OshimaModules
}
}
+ protected override void AfterLoad()
+ {
+ General.GameplayEquilibriumConstant.InGameTime = "秒";
+ }
+
protected override Factory.EntityFactoryDelegate SkillFactory()
{
return (id, name, args) =>
@@ -116,6 +122,7 @@ namespace Oshima.FunGame.OshimaModules
EffectID.ExMaxHP2 => new ExMaxHP2(skill, dict),
EffectID.ExMaxMP2 => new ExMaxMP2(skill, dict),
EffectID.DynamicsEffect => new DynamicsEffect(skill, dict),
+ EffectID.IgnoreEvade => new IgnoreEvade(skill, dict),
EffectID.RecoverHP => new RecoverHP(skill, dict),
EffectID.RecoverMP => new RecoverMP(skill, dict),
EffectID.RecoverHP2 => new RecoverHP2(skill, dict),
diff --git a/OshimaModules/Skills/ColdBlue/嗜血本能.cs b/OshimaModules/Skills/ColdBlue/嗜血本能.cs
index 1f3bc3b..663ebba 100644
--- a/OshimaModules/Skills/ColdBlue/嗜血本能.cs
+++ b/OshimaModules/Skills/ColdBlue/嗜血本能.cs
@@ -10,8 +10,8 @@ namespace Oshima.FunGame.OshimaModules.Skills
public override string Name => "嗜血本能";
public override string Description => Effects.Count > 0 ? Effects.First().Description : "";
public override double EPCost => 100;
- public override double CD => 42 - 1 * (Level - 1);
- public override double HardnessTime { get; set; } = 12;
+ public override double CD => 45;
+ public override double HardnessTime { get; set; } = 5;
public override bool CanSelectSelf => true;
public override bool CanSelectEnemy => false;
@@ -25,27 +25,34 @@ namespace Oshima.FunGame.OshimaModules.Skills
{
public override long Id => Skill.Id;
public override string Name => Skill.Name;
- public override string Description => $"{Duration} 时间内,攻击拥有标记的角色将根据标记层数获得 {吸血 * 100:0.##}% 吸血每层。";
+ public override string Description => $"{Duration} {GameplayEquilibriumConstant.InGameTime}内,攻击拥有标记的角色将不会回收标记,增强 {最大生命值伤害 * 100:0.##}% 最大生命值伤害,并获得 {吸血 * 100:0.##}% 吸血。";
public override bool Durative => true;
- public override double Duration => 30;
+ public override double Duration => 25;
- public HashSet 角色有第四层 { get; } = [];
- private double 吸血 => 0.03 * Level;
+ private static double 吸血 => 0.3;
+ private double 最大生命值伤害 => 0.02 * Level;
+
+ public override void OnEffectGained(Character character)
+ {
+ if (character.Effects.Where(e => e is 累积之压特效).FirstOrDefault() is 累积之压特效 e)
+ {
+ e.系数 += 最大生命值伤害;
+ }
+ }
+
+ public override void OnEffectLost(Character character)
+ {
+ 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)
{
- int 层数 = 0;
- if (enemy.Effects.Where(e => e is 累积之压标记).FirstOrDefault() is 累积之压标记 e)
- {
- 层数 = e.MarkLevel;
- }
- else if (角色有第四层.Remove(enemy))
- {
- 层数 = 4;
- }
- double 实际吸血 = 吸血 * 层数 * damage;
+ double 实际吸血 = 吸血 * damage;
character.HP += 实际吸血;
WriteLine($"[ {character} ] 回复了 {实际吸血:0.##} 点生命值!");
}
@@ -56,7 +63,6 @@ namespace Oshima.FunGame.OshimaModules.Skills
RemainDuration = Duration;
if (!caster.Effects.Contains(this))
{
- 角色有第四层.Clear();
caster.Effects.Add(this);
OnEffectGained(caster);
}
diff --git a/OshimaModules/Skills/ColdBlue/累积之压.cs b/OshimaModules/Skills/ColdBlue/累积之压.cs
index 9b0dd11..3023576 100644
--- a/OshimaModules/Skills/ColdBlue/累积之压.cs
+++ b/OshimaModules/Skills/ColdBlue/累积之压.cs
@@ -25,9 +25,9 @@ namespace Oshima.FunGame.OshimaModules.Skills
{
public override long Id => Skill.Id;
public override string Name => Skill.Name;
- public override string Description => $"每次造成伤害都可以叠一层标记,累计 4 层时回收该角色所有标记并造成眩晕 1 回合,额外对该角色造成 {系数 * 100:0.##}% 最大生命值的物理伤害。";
+ public override string Description => $"造成伤害时会标记目标,攻击具有标记的敌人将对其造成眩晕 1 回合,并回收标记,额外对该角色造成 {系数 * 100:0.##}% 最大生命值的物理伤害。";
- private readonly double 系数 = 0.12;
+ public double 系数 { get; set; } = 0.16;
private bool 是否是嵌套伤害 = false;
public override void AfterDamageCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult)
@@ -38,40 +38,32 @@ namespace Oshima.FunGame.OshimaModules.Skills
IEnumerable effects = enemy.Effects.Where(e => e is 累积之压标记);
if (effects.Any() && effects.First() is 累积之压标记 e)
{
- e.MarkLevel++;
IEnumerable effects2 = character.Effects.Where(e => e is 嗜血本能特效);
if (effects2.Any() && effects2.First() is 嗜血本能特效 e2)
{
- if (e.MarkLevel >= 4)
- {
- e2.角色有第四层.Add(enemy);
- }
- else
- {
- e2.角色有第四层.Remove(enemy);
- }
+ // 嗜血本能生效状态下,不会移除标记
}
- if (e.MarkLevel >= 4)
+ else
{
// 移除标记
enemy.Effects.Remove(e);
- double 额外伤害 = enemy.MaxHP * 系数;
- WriteLine($"[ {character} ] 发动了累积之压!将对 [ {enemy} ] 造成眩晕和额外伤害!");
- // 眩晕
- IEnumerable effects3 = enemy.Effects.Where(e => e is 眩晕 && e.Skill == Skill);
- if (effects3.Any())
- {
- effects3.First().RemainDurationTurn++;
- }
- else
- {
- 眩晕 e3 = new(Skill, character, false, 0, 1);
- enemy.Effects.Add(e3);
- e3.OnEffectGained(enemy);
- }
- 是否是嵌套伤害 = true;
- DamageToEnemy(character, enemy, false, magicType, 额外伤害);
}
+ double 额外伤害 = enemy.MaxHP * 系数;
+ WriteLine($"[ {character} ] 发动了累积之压!将对 [ {enemy} ] 造成眩晕和额外伤害!");
+ // 眩晕
+ IEnumerable effects3 = enemy.Effects.Where(e => e is 眩晕 && e.Skill == Skill);
+ if (effects3.Any())
+ {
+ effects3.First().RemainDurationTurn++;
+ }
+ else
+ {
+ 眩晕 e3 = new(Skill, character, false, 0, 1);
+ enemy.Effects.Add(e3);
+ e3.OnEffectGained(enemy);
+ }
+ 是否是嵌套伤害 = true;
+ DamageToEnemy(character, enemy, false, magicType, 额外伤害);
}
else
{
diff --git a/OshimaModules/Skills/MagicalGirl/毁灭之势.cs b/OshimaModules/Skills/MagicalGirl/毁灭之势.cs
index a00de60..e00cad3 100644
--- a/OshimaModules/Skills/MagicalGirl/毁灭之势.cs
+++ b/OshimaModules/Skills/MagicalGirl/毁灭之势.cs
@@ -24,10 +24,12 @@ namespace Oshima.FunGame.OshimaModules.Skills
{
public override long Id => Skill.Id;
public override string Name => Skill.Name;
- public override string Description => $"每时间提升 {伤害提升 * 100:0.##}% 所有伤害,无上限,但受到伤害时效果清零。" + (累计伤害 > 0 ? $"(当前总提升:{累计伤害 * 100:0.##}%)" : "");
+ public override string Description => $"每经过 {时间流逝} {GameplayEquilibriumConstant.InGameTime},提升 {伤害提升 * 100:0.##}% 所有伤害,无上限,但是受到伤害时清零。(下一次提升在:{下一次提升:0.##} {GameplayEquilibriumConstant.InGameTime}后{(累计伤害 > 0 ? $",当前总提升:{累计伤害 * 100:0.##}%" : "")})";
- private readonly double 伤害提升 = 0.03;
+ private readonly double 时间流逝 = 7;
+ private readonly double 伤害提升 = 0.21;
private double 累计伤害 = 0;
+ private double 下一次提升 = 7;
public override double AlterActualDamageAfterCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult, ref bool isEvaded, Dictionary totalDamageBonus)
{
@@ -52,8 +54,13 @@ namespace Oshima.FunGame.OshimaModules.Skills
{
if (GamingQueue != null)
{
- 累计伤害 += 伤害提升 * eapsed;
- WriteLine($"[ {character} ] 的 [ {Name} ] 效果增加了,当前总提升:{累计伤害 * 100:0.##}%。");
+ 下一次提升 -= eapsed;
+ if (下一次提升 <= 0)
+ {
+ 累计伤害 += 伤害提升;
+ 下一次提升 += 时间流逝;
+ WriteLine($"[ {character} ] 的 [ {Name} ] 效果增加了,当前总提升:{累计伤害 * 100:0.##}%。");
+ }
}
}
}
diff --git a/OshimaModules/Skills/MagicalGirl/绝对领域.cs b/OshimaModules/Skills/MagicalGirl/绝对领域.cs
index 3800dd4..0eb95d1 100644
--- a/OshimaModules/Skills/MagicalGirl/绝对领域.cs
+++ b/OshimaModules/Skills/MagicalGirl/绝对领域.cs
@@ -9,7 +9,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
public override string Name => "绝对领域";
public override string Description => Effects.Count > 0 ? Effects.First().Description : "";
public override double EPCost => Math.Max(100, Character?.EP ?? 100);
- public override double CD => 32 + (1 * (Level - 1));
+ public override double CD => 60;
public override double HardnessTime { get; set; } = 12;
public override bool CanSelectSelf => true;
public override bool CanSelectEnemy => false;
@@ -24,7 +24,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
{
public override long Id => Skill.Id;
public override string Name => Skill.Name;
- public override string Description => $"{Duration:0.##} 时间内无法受到任何伤害,且敏捷提升 {系数 * 100:0.##}% [ {敏捷提升:0.##} ]。此技能会消耗至少 100 点能量。";
+ public override string Description => $"{Duration:0.##} {GameplayEquilibriumConstant.InGameTime}内无法受到任何伤害,且敏捷提升 {系数 * 100:0.##}% [ {敏捷提升:0.##} ]。此技能会消耗至少 100 点能量。";
public override bool Durative => true;
public override double Duration => 16 + 释放时的能量值 * 0.03;
diff --git a/OshimaModules/Skills/Mayor/精准打击.cs b/OshimaModules/Skills/Mayor/精准打击.cs
index 9de4d5b..4009479 100644
--- a/OshimaModules/Skills/Mayor/精准打击.cs
+++ b/OshimaModules/Skills/Mayor/精准打击.cs
@@ -24,7 +24,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
{
public override long Id => Skill.Id;
public override string Name => Skill.Name;
- public override string Description => $"30 时间内暴击率提升 {暴击率提升 * 100:0.##}%,暴击伤害提升 {暴击伤害提升 * 100:0.##}%,物理穿透提升 {物理穿透提升 * 100:0.##}%。";
+ public override string Description => $"30 {GameplayEquilibriumConstant.InGameTime}内暴击率提升 {暴击率提升 * 100:0.##}%,暴击伤害提升 {暴击伤害提升 * 100:0.##}%,物理穿透提升 {物理穿透提升 * 100:0.##}%。";
public override bool Durative => true;
public override double Duration => 30;
diff --git a/OshimaModules/Skills/NiuNan/智慧与力量.cs b/OshimaModules/Skills/NiuNan/智慧与力量.cs
index 5f6c4f4..8d5e571 100644
--- a/OshimaModules/Skills/NiuNan/智慧与力量.cs
+++ b/OshimaModules/Skills/NiuNan/智慧与力量.cs
@@ -61,10 +61,13 @@ namespace Oshima.FunGame.OshimaModules.Skills
}
}
- public override bool BeforeCriticalCheck(Character character, ref double throwingBonus)
+ public override bool BeforeCriticalCheck(Character actor, Character enemy, ref double throwingBonus)
{
- throwingBonus += 100;
- return false;
+ if (actor == Skill.Character)
+ {
+ throwingBonus += 100;
+ }
+ return true;
}
public override void OnTimeElapsed(Character character, double elapsed)
diff --git a/OshimaModules/Skills/Oshima/力量爆发.cs b/OshimaModules/Skills/Oshima/力量爆发.cs
index 6b9c5b7..9f28e26 100644
--- a/OshimaModules/Skills/Oshima/力量爆发.cs
+++ b/OshimaModules/Skills/Oshima/力量爆发.cs
@@ -24,7 +24,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
{
public override long Id => Skill.Id;
public override string Name => "力量爆发";
- public override string Description => $"获得 135% 力量 [ {攻击力加成:0.##} ] 的攻击力加成,但每次攻击都会损失 9% 当前生命值 [ {当前生命值:0.##} ],持续 {Duration:0.##} 时间。";
+ 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);
diff --git a/OshimaModules/Skills/QWQAQW/迅捷之势.cs b/OshimaModules/Skills/QWQAQW/迅捷之势.cs
index e02fab4..60a52ff 100644
--- a/OshimaModules/Skills/QWQAQW/迅捷之势.cs
+++ b/OshimaModules/Skills/QWQAQW/迅捷之势.cs
@@ -24,7 +24,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
{
public override long Id => Skill.Id;
public override string Name => Skill.Name;
- public override string Description => $"{Duration:0.##} 时间内,提升自身 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 double Duration => 40;
diff --git a/OshimaModules/Skills/QuDuoduo/弱者猎手.cs b/OshimaModules/Skills/QuDuoduo/弱者猎手.cs
index b593cd4..9cc989c 100644
--- a/OshimaModules/Skills/QuDuoduo/弱者猎手.cs
+++ b/OshimaModules/Skills/QuDuoduo/弱者猎手.cs
@@ -1,4 +1,5 @@
-using Milimoe.FunGame.Core.Entity;
+using System.Collections.Generic;
+using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Library.Constant;
namespace Oshima.FunGame.OshimaModules.Skills
@@ -24,11 +25,13 @@ namespace Oshima.FunGame.OshimaModules.Skills
{
public override long Id => Skill.Id;
public override string Name => Skill.Name;
- public override string Description => $"优先攻击血量更低的角色,对生命值百分比低于自己的角色造成 150% 伤害。";
+ public override string Description => $"在 AI 控制下,任何目标都将则优先选择血量更低的角色。行动开始时,弱者猎手会盯上一名角色,然后标记所有生命值百分比低于自己的角色。在此回合内攻击被盯上或者被标记的角色,将造成 150% 伤害。";
+
+ public HashSet 猎手标记 { get; set; } = [];
public override double AlterExpectedDamageBeforeCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, Dictionary totalDamageBonus)
{
- if (character == Skill.Character && (enemy.HP / enemy.MaxHP) <= (character.HP / character.MaxHP))
+ if (character == Skill.Character && 猎手标记.Contains(enemy))
{
double 额外伤害 = damage * 0.5;
return 额外伤害;
@@ -36,16 +39,34 @@ namespace Oshima.FunGame.OshimaModules.Skills
return 0;
}
- public override bool AlterEnemyListBeforeAction(Character character, List enemys, List teammates, List skills, Dictionary continuousKilling, Dictionary earnedMoney)
+ public override void AlterSelectListBeforeAction(Character character, List enemys, List teammates, List skills, Dictionary continuousKilling, Dictionary earnedMoney)
{
+ 猎手标记.Clear();
IEnumerable list = [.. enemys.OrderBy(e => e.HP / e.MaxHP)];
if (list.Any())
{
- enemys.Clear();
- enemys.Add(list.First());
- WriteLine($"[ {character} ] 发动了弱者猎手![ {list.First()} ] 被盯上了!");
+ Character first = list.First();
+ if (IsCharacterInAIControlling(character))
+ {
+ enemys.Clear();
+ enemys.Add(first);
+ }
+ 猎手标记.Add(first);
+ WriteLine($"[ {character} ] 发动了弱者猎手![ {first} ] 被盯上了!");
+ AddHalfOfMe(enemys);
+ if (猎手标记.Count > 0) WriteLine($"[ {character} ] 的弱者猎手标记了以下角色:[ {string.Join(" ] / [ ", 猎手标记)} ] !");
+ }
+ }
+
+ private void AddHalfOfMe(params IEnumerable enemys)
+ {
+ foreach (Character enemy in enemys)
+ {
+ if (Skill.Character != null && ((enemy.HP / enemy.MaxHP) < (Skill.Character.HP / Skill.Character.MaxHP)))
+ {
+ 猎手标记.Add(enemy);
+ }
}
- return true;
}
}
}
diff --git a/OshimaModules/Skills/QuDuoduo/血之狂欢.cs b/OshimaModules/Skills/QuDuoduo/血之狂欢.cs
index 6fa0e1d..2934c65 100644
--- a/OshimaModules/Skills/QuDuoduo/血之狂欢.cs
+++ b/OshimaModules/Skills/QuDuoduo/血之狂欢.cs
@@ -24,7 +24,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
{
public override long Id => Skill.Id;
public override string Name => Skill.Name;
- public override string Description => $"获得 40% 吸血,持续 {Duration:0.##} 时间。";
+ public override string Description => $"获得 40% 吸血,持续 {Duration:0.##} {GameplayEquilibriumConstant.InGameTime}。";
public override bool Durative => true;
public override double Duration => 30;
diff --git a/OshimaModules/Skills/XinYin/心灵之火.cs b/OshimaModules/Skills/XinYin/心灵之火.cs
index 433555a..337ed87 100644
--- a/OshimaModules/Skills/XinYin/心灵之火.cs
+++ b/OshimaModules/Skills/XinYin/心灵之火.cs
@@ -24,13 +24,22 @@ namespace Oshima.FunGame.OshimaModules.Skills
{
public override long Id => Skill.Id;
public override string Name => Skill.Name;
- public override string Description => $"普通攻击硬直时间减少 20%。每次使用普通攻击时,额外再发动一次普通攻击,伤害特效可叠加,冷却 {基础冷却时间:0.##} 时间。" +
- (冷却时间 > 0 ? $"(正在冷却:剩余 {冷却时间:0.##} 时间)" : "");
+ public override string Description => $"普通攻击硬直时间减少 20%。每次使用普通攻击时,额外再发动一次普通攻击,伤害特效可叠加,但伤害折减一半,冷却 {基础冷却时间:0.##} {GameplayEquilibriumConstant.InGameTime}。" +
+ (冷却时间 > 0 ? $"(正在冷却:剩余 {冷却时间:0.##} {GameplayEquilibriumConstant.InGameTime})" : "");
public double 冷却时间 { get; set; } = 0;
- public double 基础冷却时间 { get; set; } = 20;
+ public double 基础冷却时间 { get; set; } = 12;
private bool 是否是嵌套普通攻击 = false;
+ public override double AlterActualDamageAfterCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult, ref bool isEvaded, Dictionary totalDamageBonus)
+ {
+ if (character == Skill.Character && 是否是嵌套普通攻击 && isNormalAttack && damage > 0)
+ {
+ return -(damage / 2);
+ }
+ return 0;
+ }
+
public override void AfterDamageCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult)
{
if (character == Skill.Character && isNormalAttack && 冷却时间 == 0 && !是否是嵌套普通攻击 && GamingQueue != null && enemy.HP > 0)
diff --git a/OshimaModules/Skills/Yang/魔法涌流.cs b/OshimaModules/Skills/Yang/魔法涌流.cs
index 27223a5..0adcce2 100644
--- a/OshimaModules/Skills/Yang/魔法涌流.cs
+++ b/OshimaModules/Skills/Yang/魔法涌流.cs
@@ -10,7 +10,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
public override string Description => Effects.Count > 0 ? Effects.First().Description : "";
public override double EPCost => 100;
public override double CD => 35;
- public override double HardnessTime { get; set; } = 10;
+ public override double HardnessTime { get; set; } = 3;
public override bool CanSelectSelf => true;
public override bool CanSelectEnemy => false;
@@ -24,22 +24,34 @@ namespace Oshima.FunGame.OshimaModules.Skills
{
public override long Id => Skill.Id;
public override string Name => "魔法涌流";
- public override string Description => $"{Duration:0.##} 时间内,增加所有伤害的 {减伤比例 * 100:0.##}% 伤害减免,并将普通攻击转为魔法伤害,可叠加魔法震荡的效果。";
+ public override string Description => $"{Duration:0.##} {GameplayEquilibriumConstant.InGameTime}内,增加自身所有伤害的 {减伤比例 * 100:0.##}% 伤害减免;【魔法震荡】的冷却时间降低至 5 {GameplayEquilibriumConstant.InGameTime},并将普通攻击转为魔法伤害,允许普通攻击时选择至多 3 个目标。";
public override bool Durative => true;
- public override double Duration => 25;
+ public override double Duration => 30;
- private double 减伤比例 => 0.1 + 0.02 * (Level - 1);
+ private double 减伤比例 => 0.15 + 0.04 * (Level - 1);
private double 实际比例 = 0;
public override void OnEffectGained(Character character)
{
+ character.NormalAttack.CanSelectTargetCount += 2;
实际比例 = 减伤比例;
character.NormalAttack.SetMagicType(true, character.MagicType);
+ if (character.Effects.Where(e => e is 魔法震荡特效).FirstOrDefault() is 魔法震荡特效 e)
+ {
+ e.基础冷却时间 = 5;
+ if (e.冷却时间 > e.基础冷却时间) e.冷却时间 = e.基础冷却时间;
+ }
}
public override void OnEffectLost(Character character)
{
+ 实际比例 = 0;
+ character.NormalAttack.CanSelectTargetCount -= 2;
character.NormalAttack.SetMagicType(false, character.MagicType);
+ if (character.Effects.Where(e => e is 魔法震荡特效).FirstOrDefault() is 魔法震荡特效 e)
+ {
+ e.基础冷却时间 = 10;
+ }
}
public override double AlterActualDamageAfterCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult, ref bool isEvaded, Dictionary totalDamageBonus)
@@ -56,7 +68,6 @@ namespace Oshima.FunGame.OshimaModules.Skills
RemainDuration = Duration;
if (!caster.Effects.Contains(this))
{
- 实际比例 = 0;
caster.Effects.Add(this);
OnEffectGained(caster);
}
diff --git a/OshimaModules/Skills/Yang/魔法震荡.cs b/OshimaModules/Skills/Yang/魔法震荡.cs
index e81efff..f7a9604 100644
--- a/OshimaModules/Skills/Yang/魔法震荡.cs
+++ b/OshimaModules/Skills/Yang/魔法震荡.cs
@@ -25,11 +25,25 @@ namespace Oshima.FunGame.OshimaModules.Skills
{
public override long Id => Skill.Id;
public override string Name => Skill.Name;
- public override string Description => $"造成魔法伤害时有 35% 几率使敌人眩晕 1 回合。";
+ public override string Description => $"对处于完全行动不能状态的敌人额外造成 {系数 * 100:0.##}% 力量 [ {伤害加成:0.##} ] 点伤害;造成魔法伤害时使敌人眩晕 1 回合,冷却 {基础冷却时间:0.##} {GameplayEquilibriumConstant.InGameTime}。" +
+ (冷却时间 > 0 ? $"(正在冷却:剩余 {冷却时间:0.##} {GameplayEquilibriumConstant.InGameTime})" : "");
+ public double 冷却时间 { get; set; } = 0;
+ public double 基础冷却时间 { get; set; } = 10;
+ private double 系数 => 1.2 * (1 + 0.4 * (Skill.Level - 1));
+ private double 伤害加成 => 系数 * Skill.Character?.STR ?? 0;
+
+ public override double AlterExpectedDamageBeforeCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, Dictionary totalDamageBonus)
+ {
+ if (character == Skill.Character && enemy.CharacterState == CharacterState.NotActionable)
+ {
+ return 伤害加成;
+ }
+ return 0;
+ }
public override void AfterDamageCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult)
{
- if (character == Skill.Character && isMagicDamage && damageResult != DamageResult.Evaded && new Random().NextDouble() < 0.35)
+ if (character == Skill.Character && isMagicDamage && 冷却时间 == 0 && damageResult != DamageResult.Evaded && new Random().NextDouble() < 0.35)
{
IEnumerable effects = enemy.Effects.Where(e => e is 眩晕 && e.Skill == Skill);
if (effects.Any())
@@ -43,6 +57,19 @@ namespace Oshima.FunGame.OshimaModules.Skills
e.OnEffectGained(enemy);
}
WriteLine($"[ {character} ] 的魔法伤害触发了魔法震荡,[ {enemy} ] 被眩晕了!");
+ 冷却时间 = 基础冷却时间;
+ }
+ }
+
+ public override void OnTimeElapsed(Character character, double elapsed)
+ {
+ if (冷却时间 > 0)
+ {
+ 冷却时间 -= elapsed;
+ if (冷却时间 <= 0)
+ {
+ 冷却时间 = 0;
+ }
}
}
}
diff --git a/OshimaModules/Skills/dddovo/平衡强化.cs b/OshimaModules/Skills/dddovo/平衡强化.cs
index 943e3cc..228fce9 100644
--- a/OshimaModules/Skills/dddovo/平衡强化.cs
+++ b/OshimaModules/Skills/dddovo/平衡强化.cs
@@ -24,7 +24,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
{
public override long Id => Skill.Id;
public override string Name => Skill.Name;
- public override string Description => $"敏捷提高 20%,然后将目前的力量补充到与敏捷持平,持续 {Duration:0.##} 时间。";
+ public override string Description => $"敏捷提高 20%,然后将目前的力量补充到与敏捷持平,持续 {Duration:0.##} {GameplayEquilibriumConstant.InGameTime}。";
public override bool Durative => true;
public override double Duration => 30;
diff --git a/OshimaModules/Skills/战技/疾风步.cs b/OshimaModules/Skills/战技/疾风步.cs
index 9528d69..25740d5 100644
--- a/OshimaModules/Skills/战技/疾风步.cs
+++ b/OshimaModules/Skills/战技/疾风步.cs
@@ -24,7 +24,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
{
public override long Id => Skill.Id;
public override string Name => Skill.Name;
- public override string Description => $"进入不可选中状态,获得 100 行动速度,提高 8% 暴击率,持续 {Duration:0.##} 时间。破隐一击:在持续时间内,首次造成伤害会附加 {系数 * 100:0.##}% 敏捷 [ {伤害加成:0.##} ] 的强化伤害,并解除不可选中状态。";
+ public override string Description => $"进入不可选中状态,获得 100 行动速度,提高 8% 暴击率,持续 {Duration:0.##} {GameplayEquilibriumConstant.InGameTime}。破隐一击:在持续时间内,首次造成伤害会附加 {系数 * 100:0.##}% 敏捷 [ {伤害加成:0.##} ] 的强化伤害,并解除不可选中状态。";
public override bool Durative => true;
public override double Duration => 12 + (1 * (Level - 1));
diff --git a/OshimaModules/configs/oshima-studios/oshima.fungame.items.json b/OshimaModules/configs/oshima-studios/oshima.fungame.items.json
index e119fff..df7f37e 100644
--- a/OshimaModules/configs/oshima-studios/oshima.fungame.items.json
+++ b/OshimaModules/configs/oshima-studios/oshima.fungame.items.json
@@ -708,7 +708,7 @@
"Description": "增加角色 85 点攻击力和 25% 暴击伤害。",
"BackgroundStory": "一环荆棘与花朵交织的暗器,美丽而致命,象征着爱与痛的纠缠。",
"ItemType": 1,
- "WeaponType": 9,
+ "WeaponType": 11,
"QualityType": 4,
"Skills": {
"Active": null,
@@ -728,6 +728,35 @@
]
}
},
+ "金箍棒": {
+ "Id": 11572,
+ "Name": "金箍棒",
+ "Description": "增加角色 85 点攻击力。克敌机先:普通攻击有 80% 概率无视闪避。",
+ "BackgroundStory": "天河定底神珍棒,棒名如意世间高。",
+ "ItemType": 1,
+ "WeaponType": 9,
+ "QualityType": 4,
+ "Skills": {
+ "Active": null,
+ "Passives": [
+ {
+ "Id": 7030,
+ "Name": "金箍棒",
+ "SkillType": 3,
+ "Effects": [
+ {
+ "Id": 8001,
+ "exatk": 85
+ },
+ {
+ "Id": 8033,
+ "p": 0.8
+ }
+ ]
+ }
+ ]
+ }
+ },
"初级法袍": {
"Id": 12501,
"Name": "初级法袍",
@@ -837,7 +866,7 @@
"炼狱战铠": {
"Id": 12505,
"Name": "炼狱战铠",
- "Description": "增加角色 40 点物理护甲,增加角色 5 点每时间生命回复。",
+ "Description": "增加角色 40 点物理护甲,增加角色 5 点每秒生命回复。",
"BackgroundStory": "在无尽战火中锻造而成,具有极高的防御力。",
"ItemType": 2,
"WeaponType": 0,
@@ -1119,7 +1148,7 @@
"辉煌光环": {
"Id": 14504,
"Name": "辉煌光环",
- "Description": "增加角色 80 点最大魔法值和 2 点每时间魔法回复。",
+ "Description": "增加角色 80 点最大魔法值和 2 点每秒魔法回复。",
"BackgroundStory": "流光溢彩的光环。",
"ItemType": 4,
"WeaponType": 0,
@@ -1239,7 +1268,7 @@
"精灵之戒": {
"Id": 14508,
"Name": "精灵之戒",
- "Description": "增加角色 5 点每时间魔法回复,并增加角色 8 点智力。",
+ "Description": "增加角色 5 点每秒魔法回复,并增加角色 8 点智力。",
"BackgroundStory": "这枚戒指由精灵制成,能够帮助法师更快地恢复法力。",
"ItemType": 4,
"WeaponType": 0,
@@ -1268,7 +1297,7 @@
"暗影项链": {
"Id": 14509,
"Name": "暗影项链",
- "Description": "增加角色 15 点敏捷和 3 点每时间生命回复。",
+ "Description": "增加角色 15 点敏捷和 3 点每秒生命回复。",
"BackgroundStory": "项链蕴含着黑暗的力量,让佩戴者更具敏捷性。",
"ItemType": 4,
"WeaponType": 0,
@@ -1414,7 +1443,7 @@
"白月光的玉佩": {
"Id": 14514,
"Name": "白月光的玉佩",
- "Description": "增加角色 10% 魔法抗性,4 点每时间魔法回复和 5% 冷却缩减。",
+ "Description": "增加角色 10% 魔法抗性,4 点每秒魔法回复和 5% 冷却缩减。",
"BackgroundStory": "据说每个总裁都有一个救命恩人,还有一个冒充救命恩人的人。",
"ItemType": 4,
"WeaponType": 0,
diff --git a/OshimaServers/Service/FunGameActionQueue.cs b/OshimaServers/Service/FunGameActionQueue.cs
index e7f8738..297c0f4 100644
--- a/OshimaServers/Service/FunGameActionQueue.cs
+++ b/OshimaServers/Service/FunGameActionQueue.cs
@@ -1,5 +1,4 @@
using System.Text;
-using Milimoe.FunGame.Core.Api.Utility;
using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Model;
using Oshima.FunGame.OshimaModules.Effects.OpenEffects;
diff --git a/OshimaWebAPI/Controllers/FunGameController.cs b/OshimaWebAPI/Controllers/FunGameController.cs
index be2e435..8df9966 100644
--- a/OshimaWebAPI/Controllers/FunGameController.cs
+++ b/OshimaWebAPI/Controllers/FunGameController.cs
@@ -50,7 +50,7 @@ namespace Oshima.FunGame.WebAPI.Controllers
{
StringBuilder builder = new();
- builder.AppendLine(character.ToStringWithLevelWithOutUser());
+ builder.AppendLine(character.ToStringWithOutUser());
builder.AppendLine($"总计造成伤害:{stats.TotalDamage:0.##} / 场均:{stats.AvgDamage:0.##}");
builder.AppendLine($"总计造成物理伤害:{stats.TotalPhysicalDamage:0.##} / 场均:{stats.AvgPhysicalDamage:0.##}");
builder.AppendLine($"总计造成魔法伤害:{stats.TotalMagicDamage:0.##} / 场均:{stats.AvgMagicDamage:0.##}");
@@ -105,7 +105,7 @@ namespace Oshima.FunGame.WebAPI.Controllers
{
StringBuilder builder = new();
- builder.AppendLine(character.ToStringWithLevelWithOutUser());
+ builder.AppendLine(character.ToStringWithOutUser());
builder.AppendLine($"总计造成伤害:{stats.TotalDamage:0.##} / 场均:{stats.AvgDamage:0.##}");
builder.AppendLine($"总计造成物理伤害:{stats.TotalPhysicalDamage:0.##} / 场均:{stats.AvgPhysicalDamage:0.##}");
builder.AppendLine($"总计造成魔法伤害:{stats.TotalMagicDamage:0.##} / 场均:{stats.AvgMagicDamage:0.##}");
@@ -157,7 +157,7 @@ namespace Oshima.FunGame.WebAPI.Controllers
{
StringBuilder builder = new();
CharacterStatistics stats = FunGameSimulation.TeamCharacterStatistics[character];
- builder.AppendLine(character.ToStringWithLevelWithOutUser());
+ builder.AppendLine(character.ToStringWithOutUser());
builder.AppendLine($"总计参赛数:{stats.Plays}");
builder.AppendLine($"总计冠军数:{stats.Wins}");
builder.AppendLine($"胜率:{stats.Winrates * 100:0.##}%");
@@ -175,7 +175,7 @@ namespace Oshima.FunGame.WebAPI.Controllers
{
StringBuilder builder = new();
CharacterStatistics stats = FunGameSimulation.CharacterStatistics[character];
- builder.AppendLine(character.ToStringWithLevelWithOutUser());
+ builder.AppendLine(character.ToStringWithOutUser());
builder.AppendLine($"总计参赛数:{stats.Plays}");
builder.AppendLine($"总计冠军数:{stats.Wins}");
builder.AppendLine($"胜率:{stats.Winrates * 100:0.##}%");
@@ -202,7 +202,7 @@ namespace Oshima.FunGame.WebAPI.Controllers
{
StringBuilder builder = new();
CharacterStatistics stats = FunGameSimulation.TeamCharacterStatistics[character];
- builder.AppendLine(character.ToStringWithLevelWithOutUser());
+ builder.AppendLine(character.ToStringWithOutUser());
builder.AppendLine($"总计参赛数:{stats.Plays}");
builder.AppendLine($"总计冠军数:{stats.Wins}");
builder.AppendLine($"胜率:{stats.Winrates * 100:0.##}%");
@@ -220,7 +220,7 @@ namespace Oshima.FunGame.WebAPI.Controllers
{
StringBuilder builder = new();
CharacterStatistics stats = FunGameSimulation.CharacterStatistics[character];
- builder.AppendLine(character.ToStringWithLevelWithOutUser());
+ builder.AppendLine(character.ToStringWithOutUser());
builder.AppendLine($"总计参赛数:{stats.Plays}");
builder.AppendLine($"总计冠军数:{stats.Wins}");
builder.AppendLine($"胜率:{stats.Winrates * 100:0.##}%");