Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ SetSeed()

void Terraria.Utilities.UnifiedRandom.SetSeed ( int Seed)
inline

Definition at line 30 of file UnifiedRandom.cs.

31 {
32 for (int i = 0; i < SeedArray.Length; i++)
33 {
34 SeedArray[i] = 0;
35 }
36 int num = ((Seed == int.MinValue) ? int.MaxValue : Math.Abs(Seed));
37 int num2 = 161803398 - num;
38 SeedArray[55] = num2;
39 int num3 = 1;
40 for (int j = 1; j < 55; j++)
41 {
42 int num4 = 21 * j % 55;
43 SeedArray[num4] = num3;
44 num3 = num2 - num3;
45 if (num3 < 0)
46 {
47 num3 += int.MaxValue;
48 }
49 num2 = SeedArray[num4];
50 }
51 for (int k = 1; k < 5; k++)
52 {
53 for (int l = 1; l < 56; l++)
54 {
55 SeedArray[l] -= SeedArray[1 + (l + 30) % 55];
56 if (SeedArray[l] < 0)
57 {
58 SeedArray[l] += int.MaxValue;
59 }
60 }
61 }
62 inext = 0;
63 inextp = 21;
64 }

References System.Math.Abs(), Terraria.Utilities.UnifiedRandom.inext, Terraria.Utilities.UnifiedRandom.inextp, and Terraria.Utilities.UnifiedRandom.SeedArray.

Referenced by Terraria.Utilities.UnifiedRandom.UnifiedRandom(), and Terraria.GameContent.FlexibleTileWand.TryGetPlacementOption().