using Content.Shared.EntityTable.EntitySelectors; using JetBrains.Annotations; using Robust.Shared.Random; namespace Content.Shared.EntityTable.ValueSelector; /// /// Used for implementing custom value selection for /// [ImplicitDataDefinitionForInheritors, UsedImplicitly(ImplicitUseTargetFlags.WithInheritors)] public abstract partial class NumberSelector { /// /// Returns a value for this selector given a randomizer. /// public abstract int Get(IRobustRandom rand); /// /// Odds of occurrence /// /// An odds multiplier of at least one occurrence public abstract float Odds(); /// /// Average number of occurrences /// /// The average amount of occurrences public abstract float Average(); }