33 lines
883 B
C#
33 lines
883 B
C#
using System.Collections.Generic;
|
|
using PkmnLib.Dynamic.BattleFlow;
|
|
|
|
namespace PkmnLib.Plugin.Gen7.Scripts.Side;
|
|
|
|
public class SpotlightEffect : Script
|
|
{
|
|
private readonly byte _position;
|
|
private readonly IBattleSide _side;
|
|
|
|
public SpotlightEffect(IBattleSide side, byte position)
|
|
{
|
|
_side = side;
|
|
_position = position;
|
|
}
|
|
|
|
/// <inheritdoc />
|
|
public override void ChangeIncomingTargets(IMoveChoice moveChoice, ref IReadOnlyList<IPokemon?> targets)
|
|
{
|
|
if (!TargetResolver.IsValidTarget(_side.Index, _position, moveChoice.ChosenMove.MoveData.Target,
|
|
moveChoice.User))
|
|
return;
|
|
if (_side.Pokemon[_position] == null)
|
|
return;
|
|
targets = [_side.Pokemon[_position]!];
|
|
}
|
|
|
|
/// <inheritdoc />
|
|
public override void OnEndTurn(IBattle battle)
|
|
{
|
|
RemoveSelf();
|
|
}
|
|
} |