2024-11-08 23:42:15 +08:00

59 lines
2.9 KiB
C#

using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Library.Constant;
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 => $"对目标{(Skill.CanSelectTargetCount > 1 ? $" {Skill.CanSelectTargetCount} " : "")}敌人造成 {BaseDamage:0.##} + {AttributeCoefficient * 100:0.##}% {CharacterSet.GetPrimaryAttributeName(基于属性)} [ {Damage:0.##} ] 点{(IsMagic ? CharacterSet.GetMagicDamageName(MagicType) : "")}。";
private double BaseDamage => Skill.Level > 0 ? + * (Skill.Level - 1) : ;
private double AttributeCoefficient => Skill.Level > 0 ? + * (Skill.Level - 1) : ;
private double Damage
{
get
{
if (Skill.Character != null)
{
double paValue = switch
{
PrimaryAttribute.STR => Skill.Character.STR,
PrimaryAttribute.AGI => Skill.Character.AGI,
_ => Skill.Character.INT,
};
return BaseDamage + AttributeCoefficient * paValue;
}
return BaseDamage;
}
}
private PrimaryAttribute { get; set; } = PrimaryAttribute.INT;
private double { get; set; } = 100;
private double { get; set; } = 50;
private double { get; set; } = 0.4;
private double { get; set; } = 0.4;
private bool IsMagic { get; set; } = true;
public (Skill skill, PrimaryAttribute , double , double , double , double , bool isMagic = true, MagicType magicType = MagicType.None) : base(skill)
{
GamingQueue = skill.GamingQueue;
this. = ;
this. = ;
this. = ;
this. = ;
this. = ;
IsMagic = isMagic;
MagicType = magicType;
}
public override void OnSkillCasted(Character caster, List<Character> targets, Dictionary<string, object> others)
{
foreach (Character enemy in targets)
{
DamageToEnemy(caster, enemy, IsMagic, MagicType, Damage);
}
}
}
}