Refactor move classes to implement respective interfaces for better structure
All checks were successful
Build / Build (push) Successful in 52s

This commit is contained in:
2025-06-28 12:02:24 +02:00
parent 2319160b52
commit b7bdf2b744
115 changed files with 407 additions and 348 deletions

View File

@@ -4,7 +4,7 @@ using PkmnLib.Dynamic.BattleFlow;
namespace PkmnLib.Plugin.Gen7.Scripts.Battle;
[Script(ScriptCategory.Battle, "snatch_effect")]
public class SnatchEffect : Script
public class SnatchEffect : Script, IScriptStopBeforeMove
{
private Queue<IPokemon> _snatchers = new();
@@ -33,7 +33,7 @@ public class SnatchEffect : Script
}
/// <inheritdoc />
public override void StopBeforeMove(IExecutingMove move, ref bool stop)
public void StopBeforeMove(IExecutingMove move, ref bool stop)
{
if (move.UseMove.HasFlag("snatch") && TryGetSnatcher(out var snatcher))
{

View File

@@ -1,12 +1,12 @@
namespace PkmnLib.Plugin.Gen7.Scripts.Battle;
[Script(ScriptCategory.Battle, "trick_room")]
public class TrickRoomEffect : Script
public class TrickRoomEffect : Script, IScriptChangeSpeed
{
private int _turnsLeft = 5;
/// <inheritdoc />
public override void ChangeSpeed(ITurnChoice choice, ref uint speed)
public void ChangeSpeed(ITurnChoice choice, ref uint speed)
{
speed = uint.MaxValue - speed;
}

View File

@@ -1,7 +1,7 @@
namespace PkmnLib.Plugin.Gen7.Scripts.Battle;
[Script(ScriptCategory.Battle, "uproar_effect")]
public class UproarEffect : Script
public class UproarEffect : Script, IScriptOnBeforeTurnStart
{
private IPokemon? _placer;
private bool _hasUsedUproar;
@@ -24,7 +24,7 @@ public class UproarEffect : Script
}
/// <inheritdoc />
public override void OnBeforeTurnStart(ITurnChoice choice)
public void OnBeforeTurnStart(ITurnChoice choice)
{
_hasUsedUproar = false;
}