PkmnLib.NET/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/OneHitKo.cs

25 lines
774 B
C#
Raw Normal View History

2025-03-02 13:03:51 +00:00
using PkmnLib.Static.Utils;
namespace PkmnLib.Plugin.Gen7.Scripts.Moves;
[Script(ScriptCategory.Move, "one_hit_ko")]
public class OneHitKo : Script
{
/// <inheritdoc />
public override void ChangeAccuracy(IExecutingMove executingMove, IPokemon target, byte hitIndex, ref int modifiedAccuracy)
{
var levelDifference = executingMove.User.Level - target.Level;
if (levelDifference < 0)
{
executingMove.GetHitData(target, hitIndex).Fail();
return;
}
modifiedAccuracy = 30 + levelDifference;
}
/// <inheritdoc />
public override void ChangeMoveDamage(IExecutingMove move, IPokemon target, byte hit, ref uint damage)
{
damage = target.BoostedStats.Hp.MultiplyOrMax(10);
}
}