Cap scramble tag (#28804)

This commit is contained in:
Nemanja
2024-06-09 16:01:05 -04:00
committed by GitHub
parent de07c291de
commit 50d83b9360

View File

@@ -14,6 +14,8 @@ public sealed class ScrambleTag : IMarkupTag
{
[Dependency] private readonly IGameTiming _timing = default!;
private const int MaxScrambleLength = 32;
public string Name => "scramble";
public string TextBefore(MarkupNode node)
@@ -29,8 +31,9 @@ public sealed class ScrambleTag : IMarkupTag
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]);