using System.Collections.Generic; using System.Linq; using PkmnLib.Dataloader.Models; using PkmnLib.Static.Moves; using PkmnLib.Static.Utils; namespace PkmnLib.Dataloader; internal static class CommonDataLoaderHelper { internal static ISecondaryEffect? ParseEffect(this SerializedMoveEffect? effect) { if (effect == null) return null; var name = effect.Name; var chance = effect.Chance ?? -1; var parameters = effect.Parameters?.ToDictionary(x => (StringKey)x.Key, x => x.Value.ToParameter()) ?? new Dictionary(); return new SecondaryEffectImpl(chance, name, parameters); } }