Files
PkmnLib.NET/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/SuckerPunch.cs

18 lines
607 B
C#

using PkmnLib.Static.Moves;
namespace PkmnLib.Plugin.Gen7.Scripts.Moves;
[Script(ScriptCategory.Move, "sucker_punch")]
public class SuckerPunch : Script, IScriptOnBeforeHit
{
/// <inheritdoc />
public void OnBeforeHit(IExecutingMove move, IBattlePokemon target, byte hitIndex)
{
var targetChoice = move.Battle.ChoiceQueue?.Where(x => x.User == target).FirstOrDefault();
if (targetChoice is not IMoveChoice moveChoice ||
moveChoice.ChosenMove.MoveData.Category == MoveCategory.Status)
{
move.GetHitData(target, hitIndex).Fail();
}
}
}