添加更多的技能和特效

This commit is contained in:
milimoe 2025-12-31 01:38:15 +08:00
parent 72b8b52171
commit 326449345b
Signed by: milimoe
GPG Key ID: 9554D37E4B8991D0
22 changed files with 478 additions and 29 deletions

View File

@ -1,5 +1,6 @@
using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Library.Constant;
using Milimoe.FunGame.Core.Model;
using Oshima.FunGame.OshimaModules.Effects.OpenEffects;
namespace Oshima.FunGame.OshimaModules.Effects.PassiveEffects
@ -49,7 +50,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.PassiveEffects
}
}
public override CharacterActionType AlterActionTypeBeforeAction(Character character, CharacterState state, ref bool canUseItem, ref bool canCastSkill, ref double pUseItem, ref double pCastSkill, ref double pNormalAttack, ref bool forceAction)
public override CharacterActionType AlterActionTypeBeforeAction(Character character, DecisionPoints dp, CharacterState state, ref bool canUseItem, ref bool canCastSkill, ref double pUseItem, ref double pCastSkill, ref double pNormalAttack, ref bool forceAction)
{
forceAction = true;
if (_targetCharacter.HP > 0)

View File

@ -1,5 +1,6 @@
using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Library.Constant;
using Milimoe.FunGame.Core.Model;
using Oshima.FunGame.OshimaModules.Effects.OpenEffects;
namespace Oshima.FunGame.OshimaModules.Effects.PassiveEffects
@ -43,10 +44,10 @@ namespace Oshima.FunGame.OshimaModules.Effects.PassiveEffects
teammates.AddRange(enemys);
}
public override CharacterActionType AlterActionTypeBeforeAction(Character character, CharacterState state, ref bool canUseItem, ref bool canCastSkill, ref double pUseItem, ref double pCastSkill, ref double pNormalAttack, ref bool forceAction)
public override CharacterActionType AlterActionTypeBeforeAction(Character character, DecisionPoints dp, CharacterState state, ref bool canUseItem, ref bool canCastSkill, ref double pUseItem, ref double pCastSkill, ref double pNormalAttack, ref bool forceAction)
{
forceAction = true;
return Milimoe.FunGame.Core.Model.GamingQueue.GetActionType(pUseItem, pCastSkill, pNormalAttack);
return Milimoe.FunGame.Core.Model.GamingQueue.GetActionType(dp, pUseItem, pCastSkill, pNormalAttack);
}
public override void OnTurnEnd(Character character)

View File

@ -0,0 +1,24 @@
using Milimoe.FunGame.Core.Entity;
namespace Oshima.FunGame.OshimaModules.Effects.SkillEffects
{
public class : Effect
{
public override long Id => Skill.Id;
public override string Name => Skill.Name;
public override string Description => $"打断施法:中断目标正在进行的吟唱。";
public (Skill skill) : base(skill)
{
GamingQueue = skill.GamingQueue;
}
public override void OnSkillCasted(Character caster, List<Character> targets, Dictionary<string, object> others)
{
foreach (Character target in targets)
{
GamingQueue?.InterruptCastingAsync(target, caster);
}
}
}
}

View File

@ -100,6 +100,13 @@ namespace Oshima.FunGame.OshimaModules
(long)MagicID. => new (),
(long)MagicID. => new (),
(long)SkillID. => new (),
(long)SkillID. => new (),
(long)SkillID. => new (),
(long)SkillID. => new (),
(long)SkillID. => new (),
(long)SkillID. => new (),
(long)SkillID. => new (),
(long)SkillID. => new (),
(long)SuperSkillID. => new (),
(long)SuperSkillID. => new (),
(long)SuperSkillID. => new (),

View File

@ -41,7 +41,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
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)];
IEnumerable<Character> list = [.. enemys.Where(e => e.HP > 0).OrderBy(e => e.HP / e.MaxHP)];
if (list.Any())
{
Character first = list.First();
@ -61,7 +61,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
{
foreach (Character enemy in enemys)
{
if (Skill.Character != null && ((enemy.HP / enemy.MaxHP) < (Skill.Character.HP / Skill.Character.MaxHP)))
if (Skill.Character != null && enemy.HP > 0 && (enemy.HP / enemy.MaxHP) < (Skill.Character.HP / Skill.Character.MaxHP))
{
.Add(enemy);
}

View File

@ -137,7 +137,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
* =
* = 2
* = +()
* = (+)
* = (+)
* = ()(AI控制行动)
* =
* = +
@ -184,6 +184,8 @@ namespace Oshima.FunGame.OshimaModules.Skills
* =
* =
* =
* =
* =
*/
public enum SkillID : long
{
@ -241,7 +243,9 @@ namespace Oshima.FunGame.OshimaModules.Skills
= 2052,
= 2053,
= 2054,
= 2055
= 2055,
= 2056,
= 2057
}
/**
@ -260,7 +264,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
* = +
* =
* = +(++)
* = +(+)/(AI控制行动)/(+)
* = +(+)/(AI控制行动)/(+)
* = ·+20%10010
* = ()
* =

View File

@ -1,5 +1,6 @@
using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Library.Constant;
using Milimoe.FunGame.Core.Model;
namespace Oshima.FunGame.OshimaModules.Skills
{
@ -62,7 +63,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
}
}
public override CharacterActionType AlterActionTypeBeforeAction(Character character, CharacterState state, ref bool canUseItem, ref bool canCastSkill, ref double pUseItem, ref double pCastSkill, ref double pNormalAttack, ref bool forceAction)
public override CharacterActionType AlterActionTypeBeforeAction(Character character, DecisionPoints dp, CharacterState state, ref bool canUseItem, ref bool canCastSkill, ref double pUseItem, ref double pCastSkill, ref double pNormalAttack, ref bool forceAction)
{
pNormalAttack += 0.1;
return CharacterActionType.None;

View File

@ -0,0 +1,80 @@
using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Library.Constant;
using Oshima.FunGame.OshimaModules.Effects.OpenEffects;
namespace Oshima.FunGame.OshimaModules.Skills
{
public class : Skill
{
public override long Id => (long)SkillID.;
public override string Name => "助威";
public override string Description => Effects.Count > 0 ? Effects.First().Description : "";
public override string DispelDescription => Effects.Count > 0 ? Effects.First().DispelDescription : "";
public override double EPCost => 75;
public override double CD => 35;
public override double HardnessTime { get; set; } = 7;
public override bool CanSelectSelf => true;
public override bool CanSelectTeammate => true;
public override bool CanSelectEnemy => false;
public override int CanSelectTargetCount => 3;
public (Character? character = null) : base(SkillType.Skill, character)
{
CastRange = 5;
Effects.Add(new (this));
}
}
public class : Effect
{
public override long Id => Skill.Id;
public override string Name => Skill.Name;
public override string Description => $"提升目标{(Skill.CanSelectTargetCount > 1 ? $" {Skill.CanSelectTargetCount} " : "")}友方角色 {ATK * 100:0.##}% 攻击力,持续 {持续时间}。";
public override EffectType EffectType => EffectType.DamageBoost;
public override DispelledType DispelledType => DispelledType.Weak;
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 = false;
private readonly double _duration = 0;
private readonly int _durationTurn = 3;
private readonly double _levelGrowth = 0;
private double ATK => Level > 0 ? 0.07 + 0.03 * (Level - 1) : 0.03;
public (Skill skill) : base(skill)
{
GamingQueue = skill.GamingQueue;
}
public override void OnSkillCasted(Character caster, List<Character> targets, Dictionary<string, object> others)
{
foreach (Character target in targets)
{
WriteLine($"[ {target} ] 的攻击力提升了 {ATK * 100:0.##}% [ {target.BaseATK * ATK:0.##} ] 点!持续时间:{持续时间}");
ExATK2 e = new(Skill, new()
{
{ "exatk", ATK }
}, caster);
target.Effects.Add(e);
if (_durative && _duration > 0)
{
e.Durative = true;
e.Duration = ;
e.RemainDuration = ;
}
else if (!_durative && _durationTurn > 0)
{
e.Durative = false;
e.DurationTurn = (int);
e.RemainDurationTurn = (int);
}
e.EffectType = EffectType;
e.Source = caster;
e.OnEffectGained(target);
GamingQueue?.LastRound.AddApplyEffects(target, EffectType);
}
}
}
}

View File

@ -0,0 +1,56 @@
using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Library.Constant;
using Milimoe.FunGame.Core.Model;
namespace Oshima.FunGame.OshimaModules.Skills
{
public class : Skill
{
public override long Id => (long)SkillID.;
public override string Name => "双连击";
public override string Description => Effects.Count > 0 ? Effects.First().Description : "";
public override string DispelDescription => Effects.Count > 0 ? Effects.First().DispelDescription : "";
public override double EPCost => 60;
public override double CD => 30;
public override double HardnessTime { get; set; } = 10;
public override bool CanSelectSelf => Character?.NormalAttack.CanSelectSelf ?? false;
public override bool CanSelectTeammate => Character?.NormalAttack.CanSelectTeammate ?? false;
public override bool CanSelectEnemy => Character?.NormalAttack.CanSelectEnemy ?? true;
public override int CanSelectTargetCount => Character?.NormalAttack.CanSelectTargetCount ?? 1;
public (Character? character = null) : base(SkillType.Skill, character)
{
Effects.Add(new (this));
}
}
public class : Effect
{
public override long Id => Skill.Id;
public override string Name => Skill.Name;
public override string Description => $"基于普通攻击的目标选择器对目标发起 2 次普通攻击。若该回合已使用过普通攻击,则只会发起 1 次普通攻击;使用该技能后,该回合不再允许普通攻击。伤害特效可叠加;不受 [ 攻击受限 ] 状态的限制。";
public (Skill skill) : base(skill)
{
GamingQueue = skill.GamingQueue;
}
public override void OnSkillCasted(Character caster, List<Character> targets, Dictionary<string, object> others)
{
if (GamingQueue != null)
{
bool hasAttacked = false;
if (GamingQueue.CharacterDecisionPoints.TryGetValue(caster, out DecisionPoints? dp) && dp != null)
{
hasAttacked = dp.ActionTypes.Contains(CharacterActionType.NormalAttack);
dp.ActionTypes.Add(CharacterActionType.NormalAttack);
}
caster.NormalAttack.Attack(GamingQueue, caster, targets);
if (!hasAttacked)
{
caster.NormalAttack.Attack(GamingQueue, caster, targets);
}
}
}
}
}

View File

@ -0,0 +1,73 @@
using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Library.Constant;
using Oshima.FunGame.OshimaModules.Effects.PassiveEffects;
namespace Oshima.FunGame.OshimaModules.Skills
{
public class : Skill
{
public override long Id => (long)SkillID.;
public override string Name => "挑拨";
public override string Description => Effects.Count > 0 ? Effects.First().Description : "";
public override string DispelDescription => Effects.Count > 0 ? Effects.First().DispelDescription : "";
public override double EPCost => 65;
public override double CD => 55;
public override double HardnessTime { get; set; } = 10;
public override bool CanSelectSelf => false;
public override bool CanSelectTeammate => false;
public override bool CanSelectEnemy => true;
public override int CanSelectTargetCount => 3;
public (Character? character = null) : base(SkillType.Skill, character)
{
CastRange = 4;
Effects.Add(new (this));
}
}
public class : Effect
{
public override long Id => Skill.Id;
public override string Name => Skill.Name;
public override string Description => $"对目标{(Skill.CanSelectTargetCount > 1 ? $" {Skill.CanSelectTargetCount} " : "")}敌方角色施加愤怒状态。愤怒:行动受限且失控,行动回合中无法自主行动,仅能对施法者发起普通攻击。持续 {持续时间}。";
public override EffectType EffectType => EffectType.Taunt;
public override DispelledType DispelledType => DispelledType.Strong;
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 = false;
private readonly double _duration = 0;
private readonly int _durationTurn = 2;
private readonly double _levelGrowth = 0;
public (Skill skill) : base(skill)
{
GamingQueue = skill.GamingQueue;
}
public override void OnSkillCasted(Character caster, List<Character> targets, Dictionary<string, object> others)
{
foreach (Character target in targets)
{
WriteLine($"[ {caster} ] 嘲讽了 [ {target} ] [ {target} ] 愤怒了!!持续时间:{持续时间}");
e = new(Skill, caster, caster);
if (_durative && _duration > 0)
{
e.Durative = true;
e.Duration = ;
e.RemainDuration = ;
}
else if (!_durative && _durationTurn > 0)
{
e.Durative = false;
e.DurationTurn = (int);
e.RemainDurationTurn = (int);
}
target.Effects.Add(e);
e.OnEffectGained(target);
GamingQueue?.LastRound.AddApplyEffects(target, e.EffectType);
}
}
}
}

View File

@ -0,0 +1,24 @@
using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Library.Constant;
using Oshima.FunGame.OshimaModules.Effects.SkillEffects;
namespace Oshima.FunGame.OshimaModules.Skills
{
public class : Skill
{
public override long Id => (long)SkillID.;
public override string Name => "旋风轮";
public override string Description => Effects.Count > 0 ? Effects.First().Description : "";
public override string DispelDescription => Effects.Count > 0 ? Effects.First().DispelDescription : "";
public override double EPCost => 80;
public override double CD => 25;
public override double HardnessTime { get; set; } = 8;
public override int CanSelectTargetCount => 5;
public (Character? character = null) : base(SkillType.Skill, character)
{
CastRange = 6;
Effects.Add(new _带基础伤害(this, 40, 55, 0.1, 0.03, DamageType.Physical));
}
}
}

View File

@ -0,0 +1,72 @@
using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Library.Constant;
namespace Oshima.FunGame.OshimaModules.Skills
{
public class : Skill
{
public override long Id => (long)SkillID.;
public override string Name => "疾走";
public override string Description => Effects.Count > 0 ? Effects.First().Description : "";
public override string DispelDescription => Effects.Count > 0 ? Effects.First().DispelDescription : "";
public override double EPCost => 25;
public override double CD => 15;
public override double HardnessTime { get; set; } = 3;
public override bool CanSelectSelf => true;
public override bool CanSelectEnemy => false;
public (Character? character = null) : base(SkillType.Skill, character)
{
Effects.Add(new (this));
}
}
public class (Skill skill) : Effect(skill)
{
public override long Id => Skill.Id;
public override string Name => Skill.Name;
public override string Description => $"本回合内大幅提升移动距离。";
public override string DispelDescription => "";
public override EffectType EffectType => EffectType.Haste;
public override bool Durative => false;
public override double Duration => 0;
public override int DurationTurn => 1;
private int
{
get
{
return Skill.Level switch
{
2 or 3 => 2,
4 or 5 => 3,
6 => 4,
_ => 1,
};
}
}
public override void OnEffectGained(Character character)
{
Skill.IsInEffect = true;
character.ExMOV += ;
}
public override void OnEffectLost(Character character)
{
Skill.IsInEffect = false;
character.ExMOV -= ;
}
public override void OnSkillCasted(Character caster, List<Character> targets, Dictionary<string, object> others)
{
if (!caster.Effects.Contains(this))
{
GamingQueue?.LastRound.AddApplyEffects(caster, EffectType);
RemainDurationTurn = DurationTurn;
caster.Effects.Add(this);
OnEffectGained(caster);
}
}
}
}

View File

@ -10,7 +10,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
public override string Description => Effects.Count > 0 ? Effects.First().Description : "";
public override string DispelDescription => Effects.Count > 0 ? Effects.First().DispelDescription : "";
public override double EPCost => 60;
public override double CD => 35;
public override double CD => 45;
public override double HardnessTime { get; set; } = 5;
public override bool CanSelectSelf => true;
public override bool CanSelectEnemy => false;

View File

@ -0,0 +1,22 @@
using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Library.Constant;
using Oshima.FunGame.OshimaModules.Effects.SkillEffects;
namespace Oshima.FunGame.OshimaModules.Skills
{
public class : Skill
{
public override long Id => (long)SkillID.;
public override string Name => "绝影";
public override string Description => Effects.Count > 0 ? Effects.First().Description : "";
public override string DispelDescription => Effects.Count > 0 ? Effects.First().DispelDescription : "";
public override double EPCost => 45;
public override double CD => 12;
public override double HardnessTime { get; set; } = 7;
public (Character? character = null) : base(SkillType.Skill, character)
{
Effects.Add(new _带基础伤害(this, 75, 70, 0.075, 0.055, DamageType.Physical));
}
}
}

View File

@ -0,0 +1,22 @@
using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Library.Constant;
using Oshima.FunGame.OshimaModules.Effects.SkillEffects;
namespace Oshima.FunGame.OshimaModules.Skills
{
public class : Skill
{
public override long Id => (long)SkillID.;
public override string Name => "绞丝棍";
public override string Description => Effects.Count > 0 ? Effects.First().Description : "";
public override string DispelDescription => Effects.Count > 0 ? Effects.First().DispelDescription : "";
public override double EPCost => 45;
public override double CD => 12;
public override double HardnessTime { get; set; } = 7;
public (Character? character = null) : base(SkillType.Skill, character)
{
Effects.Add(new _带基础伤害(this, 75, 70, 0.075, 0.055, DamageType.Physical));
}
}
}

View File

@ -0,0 +1,23 @@
using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Library.Constant;
using Oshima.FunGame.OshimaModules.Effects.SkillEffects;
namespace Oshima.FunGame.OshimaModules.Skills
{
public class : Skill
{
public override long Id => (long)SkillID.;
public override string Name => "金刚击";
public override string Description => string.Join("", Effects.Select(e => e.Description));
public override string DispelDescription => Effects.Count > 0 ? Effects.First().DispelDescription : "";
public override double EPCost => 60;
public override double CD => 20;
public override double HardnessTime { get; set; } = 8;
public (Character? character = null) : base(SkillType.Skill, character)
{
Effects.Add(new _带基础伤害(this, 65, 65, 0.09,0.04, DamageType.Physical));
Effects.Add(new (this));
}
}
}

View File

@ -0,0 +1,36 @@
using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Library.Constant;
namespace Oshima.FunGame.OshimaModules.Skills
{
[Obsolete("非指向性技能测试,请勿使用")]
public class : Skill
{
public override long Id => (long)SkillID.;
public override string Name => "闪现";
public override string Description => Effects.Count > 0 ? Effects.First().Description : "";
public override string DispelDescription => Effects.Count > 0 ? Effects.First().DispelDescription : "";
public override double EPCost => 25;
public override double CD => 25;
public override double HardnessTime { get; set; } = 3;
public override bool IsNonDirectional => true;
public (Character? character = null) : base(SkillType.Skill, character)
{
Effects.Add(new (this));
}
}
public class (Skill skill) : Effect(skill)
{
public override long Id => Skill.Id;
public override string Name => Skill.Name;
public override string Description => $"立即将角色传送到范围内的任意一个没有被角色占据的指定地点。";
public override string DispelDescription => "";
public override void OnSkillCasted(Character caster, List<Character> targets, Dictionary<string, object> others)
{
}
}
}

View File

@ -47,21 +47,14 @@ namespace Oshima.FunGame.OshimaModules.Skills
{
= true;
= true;
WriteLine($"[ {character} ] 发动了征服者!");
DamageToEnemy(character, enemy, DamageType.True, magicType, * );
WriteLine($"[ {character} ] 发动了征服者的满层效果!");
DamageToEnemy(character, enemy, DamageType.True, magicType, );
ClearExPrimaryAttribute(character);
= 0;
= false;
}
if (! && ! && < 4)
{
if ( > 0 && enemy.HP > 0)
{
= true;
WriteLine($"[ {character} ] 发动了征服者!");
DamageToEnemy(character, enemy, DamageType.True, magicType, * );
}
if ()
{
= false;
@ -82,6 +75,12 @@ namespace Oshima.FunGame.OshimaModules.Skills
break;
}
WriteLine($"[ {character} ] 的征服者层数:{层数},获得了 {累计增加:0.##} 点核心属性({CharacterSet.GetPrimaryAttributeName(核心属性)})加成。");
if ( > 0 && enemy.HP > 0)
{
= true;
WriteLine($"[ {character} ] 发动了征服者!");
DamageToEnemy(character, enemy, DamageType.True, magicType, * );
}
}
}
}

View File

@ -57,7 +57,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
RecordCharacterApplyEffects(character, EffectType.Haste);
// 检查是否达到阈值
if (character.ActionCoefficient * 100 >= )
if (character.ActionCoefficient * 100 >= && !)
{
Skill.Enable = false;
Skill.CurrentCD = ;

View File

@ -58,8 +58,11 @@ namespace Oshima.FunGame.OshimaModules.Skills
if (death == Skill.Character && > 0)
{
int lost = / 2;
-= lost;
WriteLine($"[ {death} ] 因死亡损失了 [ {lost} ] 个灵魂!");
if (lost > 0)
{
-= lost;
WriteLine($"[ {death} ] 因死亡损失了 [ {lost} ] 个灵魂!");
}
}
}

View File

@ -46,7 +46,7 @@ namespace Oshima.FunGame.OshimaServers.Service
FunGameConstant.Characters.Add(new dddovo());
FunGameConstant.Characters.Add(new Quduoduo());
FunGameConstant.Skills.AddRange([new ()]);
FunGameConstant.Skills.AddRange([new (), new (), new (), new (), new (), new (), new (), new ()]);
FunGameConstant.SuperSkills.AddRange([new (), new (), new (), new (), new (), new (), new (), new (), new (), new (), new (), new ()]);

View File

@ -121,12 +121,14 @@ namespace Oshima.FunGame.OshimaServers.Service
c.Level = clevel;
c.NormalAttack.Level = mlevel;
FunGameService.AddCharacterSkills(c, 1, slevel, slevel);
Skill = new (c)
foreach (Skill skillLoop in FunGameConstant.Skills.Where(s => s is not ).OrderBy(o => Random.Shared.Next()).Take(3))
{
Level = slevel
};
c.Skills.Add();
foreach (Skill skillLoop in FunGameConstant.CommonPassiveSkills)
Skill skill = skillLoop.Copy();
skill.Character = c;
skill.Level = slevel;
c.Skills.Add(skill);
}
foreach (Skill skillLoop in FunGameConstant.CommonPassiveSkills.OrderBy(o => Random.Shared.Next()).Take(3))
{
Skill passive = skillLoop.Copy();
passive.Character = c;
@ -343,7 +345,7 @@ namespace Oshima.FunGame.OshimaServers.Service
break;
}
actionQueue.DisplayQueue();
if (isWeb) actionQueue.DisplayQueue();
WriteLine("");
}
@ -440,7 +442,6 @@ namespace Oshima.FunGame.OshimaServers.Service
mvpBuilder.AppendLine($"总承受伤害:{stats.TotalTakenDamage:0.##} / 总承受物理伤害:{stats.TotalTakenPhysicalDamage:0.##} / 总承受魔法伤害:{stats.TotalTakenMagicDamage:0.##}");
if (stats.TotalTrueDamage > 0 || stats.TotalTakenTrueDamage > 0) mvpBuilder.AppendLine($"总计真实伤害:{stats.TotalTrueDamage:0.##} / 总承受真实伤害:{stats.TotalTakenTrueDamage:0.##}");
mvpBuilder.AppendLine($"每秒伤害:{stats.DamagePerSecond:0.##} / 每回合伤害:{stats.DamagePerTurn:0.##}");
mvpBuilder.Append($"{mvp.GetInfo()}");
}
int top = isWeb ? actionQueue.CharacterStatistics.Count : 0; // 回执多少个角色的统计信息