{
[Dependency] private readonly IGameTiming _timing = default!;
+ private const int MaxScrambleLength = 32;
+
public string Name => "scramble";
public string TextBefore(MarkupNode node)
var seed = (int) (_timing.CurTime.TotalMilliseconds / rate);
var rand = new Random(seed + node.GetHashCode());
var charOptions = chars.ToCharArray();
+ var realLength = MathF.Min(length.Value, MaxScrambleLength);
var sb = new StringBuilder();
- for (var i = 0; i < length; i++)
+ for (var i = 0; i < realLength; i++)
{
var index = rand.Next() % charOptions.Length;
sb.Append(charOptions[index]);