Implements several more moves

This commit is contained in:
2025-01-10 13:45:29 +01:00
parent 0ad692a921
commit ecdc9c7654
12 changed files with 206 additions and 16 deletions

View File

@@ -0,0 +1,18 @@
using PkmnLib.Dynamic.Models;
using PkmnLib.Dynamic.ScriptHandling;
using PkmnLib.Dynamic.ScriptHandling.Registry;
namespace PkmnLib.Plugin.Gen7.Scripts.Pokemon;
[Script(ScriptCategory.Pokemon, "beak_blast_effect")]
public class BeakBlastEffect : Script
{
/// <inheritdoc />
public override void OnIncomingHit(IExecutingMove move, IPokemon target, byte hit)
{
if (move.UseMove.HasFlag("contact"))
{
move.User.SetStatus("burned");
}
}
}

View File

@@ -12,15 +12,7 @@ public abstract class ProtectionEffectScript : Script
if (target.BattleData == null)
return;
var originalTarget = executingMove.MoveChoice.TargetPosition;
var targetPosition = target.BattleData.Position;
// We only want to block the hit if it's explicitly targeting the Pokemon.
if (targetPosition != originalTarget)
return;
if (executingMove.UseMove.Target is MoveTarget.All or MoveTarget.SelfUse or MoveTarget.AllAlly
or MoveTarget.AllAdjacent)
if (!executingMove.UseMove.HasFlag("protect"))
return;
block = true;