Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
Stats.cs
Go to the documentation of this file.
1using System;
2using UnityEngine;
3
4public class Stats : BaseStats
5{
6 public static StatsHunger Hunger = new StatsHunger
7 {
8 id = 0
9 };
10
11 public static StatsBurden Burden = new StatsBurden
12 {
13 id = 1
14 };
15
16 public static StatsStamina Stamina = new StatsStamina
17 {
18 id = 3
19 };
20
22 {
23 id = 4
24 };
25
26 public static Stats Depression = new Stats
27 {
28 id = 5
29 };
30
31 public static Stats Bladder = new Stats
32 {
33 id = 6
34 };
35
36 public static StatsHygiene Hygiene = new StatsHygiene
37 {
38 id = 7
39 };
40
41 public static StatsMana Mana = new StatsMana
42 {
43 id = 8
44 };
45
46 public static StatsSAN SAN = new StatsSAN
47 {
48 id = 13
49 };
50
51 public int rawIndex;
52
53 public int[] raw;
54
55 public virtual int value
56 {
57 get
58 {
59 return raw[rawIndex];
60 }
61 set
62 {
64 }
65 }
66
67 public virtual int max
68 {
69 get
70 {
71 return 100;
72 }
73 set
74 {
75 }
76 }
77
78 public string name => base.source.GetText();
79
80 public virtual bool TrackPhaseChange => false;
81
82 public virtual int min => 0;
83
84 public override int GetValue()
85 {
86 return value;
87 }
88
89 public override string ToString()
90 {
91 return name + " " + value + " " + GetPhase();
92 }
93
94 public override string GetText()
95 {
96 string text = base.source.GetTextArray("strPhase")[GetPhase()];
97 if (!(text == "#"))
98 {
99 return text;
100 }
101 return "";
102 }
103
104 public override Color GetColor(Gradient g)
105 {
106 return g.Evaluate((float)value / (float)max);
107 }
108
109 public Stats Set(int[] _raw, int _rawIndex, Chara _CC)
110 {
111 raw = _raw;
112 rawIndex = _rawIndex;
113 BaseStats.CC = _CC;
114 return this;
115 }
116
117 public override int GetPhase()
118 {
119 return base.source.phase[(int)Mathf.Clamp(10f * (float)value / (float)max, 0f, 9f)];
120 }
121
122 public virtual void Set(int a)
123 {
124 value = a;
125 if (value < min)
126 {
127 value = min;
128 }
129 else if (value > max)
130 {
131 value = max;
132 }
133 }
134
135 public virtual void Mod(int a)
136 {
137 if (BaseStats.CC.IsAgent)
138 {
139 return;
140 }
142 {
143 int phase = GetPhase();
144 value += a;
145 if (value < min)
146 {
147 value = min;
148 }
149 else if (value > max)
150 {
151 value = max;
152 }
153 int phase2 = GetPhase();
154 if (phase2 != phase)
155 {
156 OnChangePhase(phase2, phase);
157 }
158 }
159 else
160 {
161 value += a;
162 if (value < min)
163 {
164 value = min;
165 }
166 else if (value > max)
167 {
168 value = max;
169 }
170 }
171 }
172
173 public virtual void OnChangePhase(int phase, int lastPhase)
174 {
175 bool flag = phase > lastPhase;
176 if (base.source.invert)
177 {
178 flag = !flag;
179 }
180 string[] array = (flag ? base.source.GetText("textPhase") : base.source.GetText("textPhase2")).Split(Environment.NewLine.ToCharArray());
181 if (array.Length > phase)
182 {
183 if (flag)
184 {
185 Msg.SetColor("negative");
186 }
187 BaseStats.CC.Say(array[phase].Split('|').RandomItem(), BaseStats.CC);
189 {
190 PopText();
191 }
192 }
193 }
194}
static Chara CC
Definition: BaseStats.cs:8
void PopText()
Definition: BaseStats.cs:76
bool IsAgent
Definition: Card.cs:2109
bool ShouldShowMsg
Definition: Card.cs:2314
void Say(string lang, string ref1=null, string ref2=null)
Definition: Card.cs:6046
Definition: Chara.cs:10
Definition: Msg.cs:5
static void SetColor()
Definition: Msg.cs:22
Definition: Stats.cs:5
static StatsSAN SAN
Definition: Stats.cs:46
static StatsSleepiness Sleepiness
Definition: Stats.cs:21
override int GetValue()
Definition: Stats.cs:84
virtual void Mod(int a)
Definition: Stats.cs:135
static StatsHygiene Hygiene
Definition: Stats.cs:36
static StatsBurden Burden
Definition: Stats.cs:11
Stats Set(int[] _raw, int _rawIndex, Chara _CC)
Definition: Stats.cs:109
override int GetPhase()
Definition: Stats.cs:117
override string GetText()
Definition: Stats.cs:94
override string ToString()
Definition: Stats.cs:89
override Color GetColor(Gradient g)
Definition: Stats.cs:104
int[] raw
Definition: Stats.cs:53
string name
Definition: Stats.cs:78
virtual bool TrackPhaseChange
Definition: Stats.cs:80
virtual int min
Definition: Stats.cs:82
int rawIndex
Definition: Stats.cs:51
virtual void OnChangePhase(int phase, int lastPhase)
Definition: Stats.cs:173
static StatsMana Mana
Definition: Stats.cs:41
virtual void Set(int a)
Definition: Stats.cs:122
virtual int value
Definition: Stats.cs:56
static StatsStamina Stamina
Definition: Stats.cs:16
static Stats Depression
Definition: Stats.cs:26
static StatsHunger Hunger
Definition: Stats.cs:6
virtual int max
Definition: Stats.cs:68
static Stats Bladder
Definition: Stats.cs:31