Deukhoofd b090aa65f9
All checks were successful
Build / Build (push) Successful in 48s
First couple abilities implemented
2025-05-31 12:29:03 +02:00

30 lines
1.1 KiB
C#

using PkmnLib.Static.Utils;
namespace PkmnLib.Plugin.Gen7.Scripts.Abilities;
[Script(ScriptCategory.Ability, "prevent_stat_lowering")]
public class PreventStatLowering : Script
{
private Statistic _statistic;
/// <inheritdoc />
public override void OnInitialize(IReadOnlyDictionary<StringKey, object?>? parameters)
{
if (parameters is null)
throw new ArgumentNullException(nameof(parameters), "Parameters cannot be null.");
if (!parameters.TryGetValue("stat", out var statObj) || statObj is not string statStr)
throw new ArgumentException("Parameter 'stat' is required and must be a string.", nameof(parameters));
if (!Enum.TryParse(statStr, true, out Statistic stat))
throw new ArgumentException($"Invalid statistic '{statStr}' provided.", nameof(statStr));
_statistic = stat;
}
/// <inheritdoc />
public override void PreventStatBoostChange(IPokemon target, Statistic stat, sbyte amount, bool selfInflicted,
ref bool prevent)
{
if (!selfInflicted)
prevent = false;
}
}