mirror of
https://github.com/oshima-studios/OshimaGameModule.git
synced 2025-04-20 10:59:33 +08:00
技能修改
This commit is contained in:
parent
2438bcd5b6
commit
37a8a989c9
@ -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 = "秒"
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@ -170,6 +170,11 @@
|
||||
/// </summary>
|
||||
DynamicsEffect = 8032,
|
||||
|
||||
/// <summary>
|
||||
/// 无视闪避率,参数:p
|
||||
/// </summary>
|
||||
IgnoreEvade = 8033,
|
||||
|
||||
/// <summary>
|
||||
/// 被动特效终点
|
||||
/// </summary>
|
||||
|
@ -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":
|
||||
|
40
OshimaModules/Effects/OpenEffects/IgnoreEvade.cs
Normal file
40
OshimaModules/Effects/OpenEffects/IgnoreEvade.cs
Normal file
@ -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<string, object> 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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<string, object>()
|
||||
{
|
||||
{ "exspd", SPD }
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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<string, object>()
|
||||
{
|
||||
{ "exspd", SPD }
|
||||
|
@ -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;
|
||||
|
@ -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<Skill> 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),
|
||||
|
@ -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<Character> 角色有第四层 { 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);
|
||||
}
|
||||
|
@ -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<Effect> effects = enemy.Effects.Where(e => e is 累积之压标记);
|
||||
if (effects.Any() && effects.First() is 累积之压标记 e)
|
||||
{
|
||||
e.MarkLevel++;
|
||||
IEnumerable<Effect> 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<Effect> 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<Effect> 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
|
||||
{
|
||||
|
@ -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<Effect, double> 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.##}%。");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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<Character> 猎手标记 { get; set; } = [];
|
||||
|
||||
public override double AlterExpectedDamageBeforeCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, Dictionary<Effect, double> 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<Character> enemys, List<Character> teammates, List<Skill> skills, Dictionary<Character, int> continuousKilling, Dictionary<Character, int> earnedMoney)
|
||||
public override void AlterSelectListBeforeAction(Character character, List<Character> enemys, List<Character> teammates, List<Skill> skills, Dictionary<Character, int> continuousKilling, Dictionary<Character, int> earnedMoney)
|
||||
{
|
||||
猎手标记.Clear();
|
||||
IEnumerable<Character> 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<Character> enemys)
|
||||
{
|
||||
foreach (Character enemy in enemys)
|
||||
{
|
||||
if (Skill.Character != null && ((enemy.HP / enemy.MaxHP) < (Skill.Character.HP / Skill.Character.MaxHP)))
|
||||
{
|
||||
猎手标记.Add(enemy);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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<Effect, double> 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)
|
||||
|
@ -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<Effect, double> totalDamageBonus)
|
||||
@ -56,7 +68,6 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
||||
RemainDuration = Duration;
|
||||
if (!caster.Effects.Contains(this))
|
||||
{
|
||||
实际比例 = 0;
|
||||
caster.Effects.Add(this);
|
||||
OnEffectGained(caster);
|
||||
}
|
||||
|
@ -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<Effect, double> 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<Effect> 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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));
|
||||
|
||||
|
@ -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,
|
||||
|
@ -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;
|
||||
|
@ -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.##}%");
|
||||
|
Loading…
x
Reference in New Issue
Block a user