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.##}%");