Elin Decompiled Documentation EA 23.287 Stable Patch 3
Loading...
Searching...
No Matches
Rand.cs
Go to the documentation of this file.
1using System;
2
3public static class Rand
4{
5 public static int MaxBytes = 1111;
6
7 public static int baseSeed = -1;
8
9 public static Random _random = new Random();
10
11 public static byte[] bytes;
12
13 public static void InitBytes(int a)
14 {
15 SetSeed(a);
16 bytes = new byte[MaxBytes];
17 for (int i = 0; i < MaxBytes; i++)
18 {
19 bytes[i] = (byte)_random.Next(256);
20 }
21 SetSeed();
22 }
23
24 public static void UseSeed(int seed, Action action)
25 {
27 action();
28 SetSeed();
29 }
30
31 public static int rndSeed(int a, int seed)
32 {
34 int result = rnd(a);
35 SetSeed();
36 return result;
37 }
38
39 public static void SetBaseSeed(int a = -1)
40 {
41 baseSeed = a;
42 }
43
44 public static void SetSeed(int a = -1)
45 {
46 _random = ((a != -1) ? new Random(a) : ((baseSeed == -1) ? new Random() : new Random(baseSeed)));
47 }
48
49 public static int Range(int min, int max)
50 {
51 return _random.Next(max - min) + min;
52 }
53
54 public static float Range(float min, float max)
55 {
56 return (float)(_random.NextDouble() * (double)(max - min) + (double)min);
57 }
58
59 public static int rnd(int max)
60 {
61 if (max > 0)
62 {
63 return _random.Next(max);
64 }
65 return 0;
66 }
67
68 public static float rndf(float max)
69 {
70 return Range(0f, max);
71 }
72
73 public static int rndSqrt(int max)
74 {
75 return _random.Next(_random.Next(max) + 1);
76 }
77
78 public static int rndNormal2(int max)
79 {
80 int num = max / 2;
81 return num + rnd(rnd(rnd(num) + 1) + 1) - rnd(rnd(rnd(num) + 1) + 1);
82 }
83
84 public static int rndNormal(int max)
85 {
86 int num = max / 2;
87 return num + rnd(rnd(num) + 1) - rnd(rnd(num) + 1);
88 }
89}
@ seed
Definition: Rand.cs:4
static float Range(float min, float max)
Definition: Rand.cs:54
static int MaxBytes
Definition: Rand.cs:5
static int rndNormal2(int max)
Definition: Rand.cs:78
static float rndf(float max)
Definition: Rand.cs:68
static Random _random
Definition: Rand.cs:9
static void SetBaseSeed(int a=-1)
Definition: Rand.cs:39
static byte[] bytes
Definition: Rand.cs:11
static int rndSeed(int a, int seed)
Definition: Rand.cs:31
static int Range(int min, int max)
Definition: Rand.cs:49
static void InitBytes(int a)
Definition: Rand.cs:13
static int baseSeed
Definition: Rand.cs:7
static void UseSeed(int seed, Action action)
Definition: Rand.cs:24
static int rndNormal(int max)
Definition: Rand.cs:84
static int rndSqrt(int max)
Definition: Rand.cs:73
static void SetSeed(int a=-1)
Definition: Rand.cs:44
static int rnd(int max)
Definition: Rand.cs:59