Files
Delta-v/Content.Shared/EntityTable/ValueSelector/NumberSelector.cs
ce7f99fbfb Entity Table Probabilities API (#41920)
* push

* fix

* push

* abstract and more accurate

* new abstract method I guess

* that table does not explode

* webedit major

* Update Content.Shared/EntityTable/ValueSelector/BinomialNumberSelector.cs

Co-authored-by: SnappingOpossum <snappingopossum@outlook.com>

* big ass merge conflicts

* sadas

* review

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: SnappingOpossum <snappingopossum@outlook.com>
2026-06-29 12:43:45 +02:00

26 lines
786 B
C#

using Content.Shared.EntityTable.EntitySelectors;
using JetBrains.Annotations;
namespace Content.Shared.EntityTable.ValueSelector;
/// <summary>
/// Used for implementing custom value selection for <see cref="EntityTableSelector"/>
/// </summary>
[ImplicitDataDefinitionForInheritors, UsedImplicitly(ImplicitUseTargetFlags.WithInheritors)]
public abstract partial class NumberSelector
{
public abstract int Get(System.Random rand);
/// <summary>
/// Odds of occurrence
/// </summary>
/// <returns>An odds multiplier of at least one occurrence</returns>
public abstract float Odds();
/// <summary>
/// Average number of occurrences
/// </summary>
/// <returns>The average amount of occurrences</returns>
public abstract float Average();
}