using PkmnLib.Static.Utils; namespace PkmnLib.Static.Moves; /// /// A secondary effect is an effect on a move that happens after it hits. /// public interface ISecondaryEffect { /// /// The chance in percentages that the effect triggers. When less than 0, the effect is always active. /// public float Chance { get; } /// /// The name of the effect. /// public StringKey Name { get; } /// /// Parameters for the effect. /// public IReadOnlyDictionary Parameters { get; } } /// public class SecondaryEffectImpl : ISecondaryEffect { /// public SecondaryEffectImpl(float chance, StringKey name, IReadOnlyDictionary parameters) { Chance = chance; Name = name; Parameters = parameters; } /// public float Chance { get; } /// public StringKey Name { get; } /// public IReadOnlyDictionary Parameters { get; } }