22 lines
664 B
C#

namespace PkmnLib.Plugin.Gen7.Scripts.Moves;
[Script(ScriptCategory.Move, "soak")]
public class Soak : Script, IScriptOnSecondaryEffect
{
/// <inheritdoc />
public void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit)
{
if (target.ActiveAbility?.Name == "multitype")
{
move.GetHitData(target, hit).Fail();
return;
}
var typeLibrary = move.Battle.Library.StaticLibrary.Types;
// If water type is not found, we can't do anything.
if (!typeLibrary.TryGetTypeIdentifier("water", out var waterType))
return;
target.SetTypes([waterType]);
}
}