Cap scramble tag (#28804)
This commit is contained in:
@@ -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]);
|
||||
|
||||
Reference in New Issue
Block a user