using PkmnLib.Plugin.Gen7.Scripts.Side;

namespace PkmnLib.Plugin.Gen7.Scripts.MoveVolatile;

[Script(ScriptCategory.MoveVolatile, "fire_water_pledge")]
public class FireWaterPledgeMove : Script, IScriptChangeMove, IScriptOnSecondaryEffect, IScriptChangeBasePower
{
    /// <inheritdoc />
    public void ChangeMove(IMoveChoice choice, ref StringKey moveName)
    {
        moveName = "water_pledge";
    }

    /// <inheritdoc />
    public void ChangeBasePower(IExecutingMove move, IPokemon target, byte hit, ref ushort basePower)
    {
        basePower = 150;
    }

    /// <inheritdoc />
    public void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit)
    {
        move.User.BattleData?.BattleSide.VolatileScripts.Add(new RainbowEffect());
    }
}