namespace PkmnLib.Plugin.Gen7.Scripts.Moves; [Script(ScriptCategory.Move, "high_jump_kick")] public class HighJumpKick : Script, IScriptOnAfterHits { public void OnAfterHits(IExecutingMove move, IPokemon target) { var damage = move.Hits.Where(h => h.HasExecuted).Sum(h => h.Damage); if (damage == 0) { DoRecoil(move); } } private static void DoRecoil(IExecutingMove move) { var maxHp = move.User.BoostedStats.Hp; var recoil = maxHp / 2; if (recoil == 0) return; move.User.Damage(recoil, DamageSource.Misc); } }