IEntityManager entMan,
IPrototypeManager proto)
{
- var num = (int) Math.Round(Amount.Get(rand, entMan, proto));
+ var num = Amount.Get(rand);
for (var i = 0; i < num; i++)
{
yield return Id;
IEntityManager entMan,
IPrototypeManager proto)
{
- var rolls = Rolls.Get(rand, entMan, proto);
+ var rolls = Rolls.Get(rand);
for (var i = 0; i < rolls; i++)
{
if (!rand.Prob(Prob))
-using Robust.Shared.Prototypes;
-
namespace Content.Shared.EntityTable.ValueSelector;
/// <summary>
public sealed partial class ConstantNumberSelector : NumberSelector
{
[DataField]
- public float Value = 1;
+ public int Value = 1;
- public ConstantNumberSelector(float value)
+ public ConstantNumberSelector(int value)
{
Value = value;
}
- public override float Get(System.Random rand, IEntityManager entMan, IPrototypeManager proto)
+ public override int Get(System.Random rand)
{
return Value;
}
using Content.Shared.EntityTable.EntitySelectors;
using JetBrains.Annotations;
-using Robust.Shared.Prototypes;
namespace Content.Shared.EntityTable.ValueSelector;
[ImplicitDataDefinitionForInheritors, UsedImplicitly(ImplicitUseTargetFlags.WithInheritors)]
public abstract partial class NumberSelector
{
- public abstract float Get(System.Random rand,
- IEntityManager entMan,
- IPrototypeManager proto);
+ public abstract int Get(System.Random rand);
}
-using System.Numerics;
-using Robust.Shared.Prototypes;
-using Robust.Shared.Random;
-
namespace Content.Shared.EntityTable.ValueSelector;
/// <summary>
public sealed partial class RangeNumberSelector : NumberSelector
{
[DataField]
- public Vector2 Range = new(1, 1);
+ public Vector2i Range = new(1, 1);
- public override float Get(System.Random rand, IEntityManager entMan, IPrototypeManager proto)
+ public override int Get(System.Random rand)
{
- return rand.NextFloat(Range.X, Range.Y + 1);
+ // rand.Next() is inclusive on the first number and exclusive on the second number,
+ // so we add 1 to the second number.
+ return rand.Next(Range.X, Range.Y + 1);
}
}