using System.Collections.Generic; using PkmnLib.Static; using PkmnLib.Static.Utils; namespace PkmnLib.Plugin.Gen7.Scripts.Items; /// <summary> /// An implementation of a pokeball script that just has a flat catch rate bonus. /// </summary> [ItemScript("pokeball")] public class StaticPokeball : PokeballScript { private byte _catchRate; /// <inheritdoc /> public StaticPokeball(IItem item) : base(item) { } /// <inheritdoc /> public override void OnInitialize(IReadOnlyDictionary<StringKey, object?>? parameters) { if (parameters == null || !parameters.TryGetValue("catchRate", out var catchRateObj) || catchRateObj is not byte catchRate) { catchRate = 1; } _catchRate = catchRate; } /// <inheritdoc /> public override byte GetCatchRate(IPokemon target) { return _catchRate; } }