Elin Decompiled Documentation EA 23.331 Nightly
Loading...
Searching...
No Matches
GameLang Class Reference
Inheritance diagram for GameLang:
EClass

Static Public Member Functions

static void ClearDramaRef ()
 
static string ConvertDrama (string text, Chara c=null)
 
static string Convert (string text)
 
static string Convert (StringBuilder sb)
 
static string Parse (string text, bool thirdPerson, string val1, string val2=null, string val3=null, string val4=null)
 
static string ConvertThirdPerson (string text, bool thirdPerson)
 
- Static Public Member Functions inherited from EClass
static int rndSeed (int a, int seed)
 
static int rnd (long a)
 
static int rnd (int a)
 
static int curve (long _a, int start, int step, int rate=75)
 
static int sqrt (int a)
 
static int rndHalf (int a)
 
static float rndf (float a)
 
static int rndSqrt (int a)
 
static void Wait (float a, Card c)
 
static void Wait (float a, Point p)
 
static int Bigger (int a, int b)
 
static int Smaller (int a, int b)
 

Static Public Attributes

static string refDrama1
 
static string refDrama2
 
static string refDrama3
 
static string refDrama4
 
static string refDrama5
 
- Static Public Attributes inherited from EClass
static Core core
 

Additional Inherited Members

- Properties inherited from EClass
static Game game [get]
 
static bool AdvMode [get]
 
static Player player [get]
 
static Chara pc [get]
 
static UI ui [get]
 
static Map _map [get]
 
static Zone _zone [get]
 
static FactionBranch Branch [get]
 
static FactionBranch BranchOrHomeBranch [get]
 
static Faction Home [get]
 
static Faction Wilds [get]
 
static Scene scene [get]
 
static BaseGameScreen screen [get]
 
static GameSetting setting [get]
 
static GameData gamedata [get]
 
static ColorProfile Colors [get]
 
static World world [get]
 
static SourceManager sources [get]
 
static SourceManager editorSources [get]
 
static SoundManager Sound [get]
 
static CoreDebug debug [get]
 

Detailed Description

Definition at line 4 of file GameLang.cs.

Member Function Documentation

◆ ClearDramaRef()

static void GameLang.ClearDramaRef ( )
inlinestatic

Definition at line 16 of file GameLang.cs.

17 {
18 refDrama1 = (refDrama2 = (refDrama3 = (refDrama3 = (refDrama5 = null))));
19 }
static string refDrama1
Definition: GameLang.cs:6
static string refDrama2
Definition: GameLang.cs:8
static string refDrama5
Definition: GameLang.cs:14
static string refDrama3
Definition: GameLang.cs:10

References refDrama1, refDrama2, refDrama3, and refDrama5.

Referenced by LayerQuestBoard.OnInit(), and LayerDrama.OnKill().

◆ Convert() [1/2]

static string GameLang.Convert ( string  text)
inlinestatic

Definition at line 160 of file GameLang.cs.

161 {
162 StringBuilder stringBuilder = new StringBuilder();
163 stringBuilder.Append(text);
164 return Convert(stringBuilder);
165 }
static string Convert(string text)
Definition: GameLang.cs:160

References Convert().

Referenced by LayerDrama.ActivateNerun(), PopupManager.Add(), Convert(), ConvertDrama(), ConvertThirdPerson(), Quest.GetDetail(), QuestProgression.GetDetail(), Msg.Nerun(), Parse(), Msg.SayHomeMember(), Msg.SayPic(), Msg.Talk(), and WidgetFeed.Talk().

◆ Convert() [2/2]

static string GameLang.Convert ( StringBuilder  sb)
inlinestatic

Definition at line 167 of file GameLang.cs.

168 {
169 sb.Replace("#player", EClass.player.title);
170 sb.Replace("#pc_him", EClass.pc.IsMale ? "him".lang() : "her".lang());
171 sb.Replace("#pc_his", EClass.pc.IsMale ? "his".lang() : "her".lang());
172 sb.Replace("#pc_race", EClass.pc.race.GetName());
173 sb.Replace("#pc", EClass.pc.NameSimple);
174 return sb.ToString();
175 }
bool IsMale
Definition: Card.cs:2454
string NameSimple
Definition: Card.cs:2193
SourceRace.Row race
Definition: Chara.cs:468
Definition: EClass.cs:6
static Player player
Definition: EClass.cs:13
static Chara pc
Definition: EClass.cs:15
string title
Definition: Player.cs:1071

References Card.IsMale, Card.NameSimple, EClass.pc, EClass.player, Chara.race, and Player.title.

◆ ConvertDrama()

static string GameLang.ConvertDrama ( string  text,
Chara  c = null 
)
inlinestatic

Definition at line 21 of file GameLang.cs.

22 {
24 {
25 return text;
26 }
27 StringBuilder stringBuilder = new StringBuilder();
28 string newValue = "";
29 string newValue2 = "";
30 string newValue3 = "";
31 string name = EClass.game.religions.GetRandomReligion(onlyJoinable: false).Name;
32 string @ref = "-";
33 if (c != null)
34 {
35 newValue = c.NameBraced;
36 newValue2 = (c.IsMale ? "his" : "her").lang();
37 newValue3 = (c.IsMale ? "him" : "her").lang();
38 name = c.faith.Name;
39 @ref = CalcGold.Hire(c).ToString() ?? "";
40 }
41 bool flag = false;
42 string text2 = "";
43 for (int i = 0; i < text.Length; i++)
44 {
45 if (flag)
46 {
47 if (text[i] == ']')
48 {
49 flag = false;
50 if (text2 == "qFriend" && EClass._zone.IsPCFaction)
51 {
52 text2 = "qFriendHome";
53 }
54 string[] list = Lang.GetList(text2);
55 if (list != null)
56 {
57 stringBuilder.Append(list.RandomItem());
58 }
59 else
60 {
61 stringBuilder.Append(text2);
62 }
63 }
64 else
65 {
66 text2 += text[i];
67 }
68 }
69 else if (text[i] == '[')
70 {
71 text2 = "";
72 flag = true;
73 }
74 else
75 {
76 stringBuilder.Append(text[i]);
77 }
78 }
79 if ((bool)LayerDrama.Instance && LayerDrama.Instance.drama.tg != null)
80 {
81 int gender = LayerDrama.Instance.drama.tg.gender;
82 stringBuilder.Replace("#tg_his", ((gender == 2) ? "his" : "her").lang());
83 stringBuilder.Replace("#tg_him", ((gender == 2) ? "him" : "her").lang());
84 }
85 if (DramaManager.TG != null)
86 {
87 stringBuilder.Replace("#tg", DramaManager.TG.Name);
88 }
89 if (DramaChoice.lastChoice != null)
90 {
91 stringBuilder.Replace("#last_choice", DramaChoice.lastChoice.text);
92 }
93 stringBuilder.Replace("#newline", Environment.NewLine);
94 stringBuilder.Replace("#costHire", "costHire".lang(@ref));
95 stringBuilder.Replace("#self", newValue);
96 stringBuilder.Replace("#his", newValue2);
97 stringBuilder.Replace("#him", newValue3);
98 stringBuilder.Replace("#me", newValue);
99 if (int.TryParse(refDrama1, out var result))
100 {
101 refDrama1 = result.ToFormat();
102 }
103 if (int.TryParse(refDrama2, out var result2))
104 {
105 refDrama2 = result2.ToFormat();
106 }
107 if (int.TryParse(refDrama3, out var result3))
108 {
109 refDrama3 = result3.ToFormat();
110 }
111 if (int.TryParse(refDrama4, out var result4))
112 {
113 refDrama4 = result4.ToFormat();
114 }
115 if (int.TryParse(refDrama5, out var result5))
116 {
117 refDrama5 = result5.ToFormat();
118 }
119 if (!refDrama1.IsEmpty())
120 {
121 stringBuilder.Replace("#1", refDrama1);
122 }
123 if (!refDrama2.IsEmpty())
124 {
125 stringBuilder.Replace("#2", refDrama2);
126 }
127 if (!refDrama3.IsEmpty())
128 {
129 stringBuilder.Replace("#3", refDrama3);
130 }
131 if (!refDrama4.IsEmpty())
132 {
133 stringBuilder.Replace("#4", refDrama4);
134 }
135 if (!refDrama5.IsEmpty())
136 {
137 stringBuilder.Replace("#5", refDrama5);
138 }
139 stringBuilder.Replace("#god", name);
140 stringBuilder.Replace("#player", EClass.player.title);
141 stringBuilder.Replace("#title", EClass.player.title);
142 stringBuilder.Replace("#zone", EClass._zone.Name);
143 stringBuilder.Replace("#guild_title", Guild.CurrentDrama.relation.TextTitle);
144 stringBuilder.Replace("#guild", Guild.CurrentDrama.Name);
145 stringBuilder.Replace("#race", EClass.pc.race.GetName());
146 stringBuilder.Replace("#pc_full", EClass.pc.NameBraced);
147 stringBuilder.Replace("#aka", EClass.pc.Aka);
148 stringBuilder.Replace("#bigdaddy", "bigdaddy".lang());
149 stringBuilder.Replace("#festival", EClass._zone.IsFestival ? (EClass._zone.id + "_festival").lang() : "_festival".lang());
150 stringBuilder.Replace("#brother2", (EClass.pc.IsMale ? "brother" : "sister").lang());
151 stringBuilder.Replace("#brother", Lang.GetList(EClass.pc.IsMale ? "bro" : "sis").RandomItem());
152 stringBuilder.Replace("#onii2", Lang.GetList(EClass.pc.IsMale ? "onii2" : "onee2").RandomItem());
153 stringBuilder.Replace("#onii", Lang.GetList(EClass.pc.IsMale ? "onii" : "onee").RandomItem());
154 stringBuilder.Replace("#gender", Lang.GetList("gendersDrama")[EClass.pc.bio.gender]);
155 stringBuilder.Replace("#he", ((EClass.pc.bio.gender == 2) ? "he" : "she").lang());
156 stringBuilder.Replace("#He", ((EClass.pc.bio.gender == 2) ? "he" : "she").lang().ToTitleCase());
157 return Convert(stringBuilder);
158 }
int gender
Definition: Biography.cs:29
static int Hire(Chara c)
Definition: CalcGold.cs:8
Biography bio
Definition: Card.cs:45
string Name
Definition: Card.cs:2191
string NameBraced
Definition: Chara.cs:520
string Aka
Definition: Chara.cs:220
Religion faith
Definition: Chara.cs:443
bool IsGameStarted
Definition: Core.cs:87
static DramaChoice lastChoice
Definition: DramaChoice.cs:5
string text
Definition: DramaChoice.cs:9
static Chara TG
Definition: DramaManager.cs:12
static Game game
Definition: EClass.cs:9
static Core core
Definition: EClass.cs:7
static Zone _zone
Definition: EClass.cs:21
string Name
Definition: FACTION.cs:150
FactionRelation relation
Definition: FACTION.cs:126
static string refDrama4
Definition: GameLang.cs:12
ReligionManager religions
Definition: Game.cs:159
Definition: Guild.cs:2
static Guild CurrentDrama
Definition: Guild.cs:24
Definition: Lang.cs:7
static string[] GetList(string id)
Definition: Lang.cs:113
static LayerDrama Instance
Definition: LayerDrama.cs:20
DramaManager drama
Definition: LayerDrama.cs:28
int gender
Definition: Person.cs:23
Religion GetRandomReligion(bool onlyJoinable=true, bool includeMinor=false)
virtual string Name
Definition: Religion.cs:37
virtual string Name
Definition: Spatial.cs:509
string id
Definition: Spatial.cs:13
virtual bool IsFestival
Definition: Zone.cs:213
bool IsPCFaction
Definition: Zone.cs:477

References EClass._zone, Chara.Aka, Card.bio, Convert(), EClass.core, Guild.CurrentDrama, LayerDrama.drama, EClass.game, Biography.gender, Person.gender, Lang.GetList(), ReligionManager.GetRandomReligion(), CalcGold.Hire(), Spatial.id, LayerDrama.Instance, Zone.IsFestival, Core.IsGameStarted, Card.IsMale, Zone.IsPCFaction, DramaChoice.lastChoice, Card.Name, Faction.Name, Religion.Name, Spatial.Name, Chara.NameBraced, EClass.pc, EClass.player, Chara.race, refDrama1, refDrama2, refDrama3, refDrama4, refDrama5, Faction.relation, Game.religions, DramaChoice.text, FactionRelation.TextTitle, DramaManager.TG, DramaManager.tg, and Player.title.

Referenced by Card.ApplyTone(), Quest.Parse(), DramaActor.SetChoice(), and DramaActor.Talk().

◆ ConvertThirdPerson()

static string GameLang.ConvertThirdPerson ( string  text,
bool  thirdPerson 
)
inlinestatic

Definition at line 246 of file GameLang.cs.

247 {
248 string[] array = text.Split(' ');
249 StringBuilder stringBuilder = new StringBuilder();
250 bool flag = true;
251 string[] array2 = array;
252 foreach (string text2 in array2)
253 {
254 if (flag)
255 {
256 flag = false;
257 }
258 else
259 {
260 stringBuilder.Append(' ');
261 }
262 if (text2.Contains('/') && !text2.Contains('<'))
263 {
264 string[] array3 = text2.Split('/');
265 stringBuilder.Append(thirdPerson ? array3[1] : array3[0]);
266 }
267 else
268 {
269 stringBuilder.Append(text2);
270 }
271 }
272 stringBuilder.Replace("(s)", thirdPerson ? "s" : "");
273 stringBuilder.Replace("(es)", thirdPerson ? "es" : "");
274 return Convert(stringBuilder);
275 }

References Convert().

Referenced by Parse().

◆ Parse()

static string GameLang.Parse ( string  text,
bool  thirdPerson,
string  val1,
string  val2 = null,
string  val3 = null,
string  val4 = null 
)
inlinestatic

Definition at line 177 of file GameLang.cs.

178 {
179 StringBuilder stringBuilder = new StringBuilder(text);
180 if (val1 != null)
181 {
182 if (Lang.articlesToRemove.Count > 0)
183 {
184 string text2 = val1;
185 foreach (char[] item in Lang.articlesToRemove)
186 {
187 text2 = text2.TrimStart(item);
188 }
189 stringBuilder.Replace("-#1", text2);
190 }
191 stringBuilder.Replace("#1", val1 ?? "");
192 }
193 if (val2 != null)
194 {
195 if (Lang.articlesToRemove.Count > 0)
196 {
197 string text3 = val2;
198 foreach (char[] item2 in Lang.articlesToRemove)
199 {
200 text3 = text3.TrimStart(item2);
201 }
202 stringBuilder.Replace("-#2", text3);
203 }
204 stringBuilder.Replace("#2", val2);
205 }
206 if (val3 != null)
207 {
208 stringBuilder.Replace("#3", val3);
209 int num = val3.ToInt();
210 stringBuilder.Replace("(s3)", (num > 1) ? "s" : "");
211 }
212 if (val4 != null)
213 {
214 stringBuilder.Replace("#4", val4);
215 int num2 = val4.ToInt();
216 stringBuilder.Replace("(s4)", (num2 > 1) ? "s" : "");
217 }
218 if (int.TryParse(val1, out var result))
219 {
220 stringBuilder.Replace("#(s)", (result <= 1) ? "" : "_s".lang());
221 }
223 {
224 stringBuilder.Replace("#your2", Msg.thirdPerson2.your);
225 stringBuilder.Replace("#himself2", Msg.thirdPerson2.himself);
226 stringBuilder.Replace("#him2", Msg.thirdPerson2.him);
227 stringBuilder.Replace("#his2", Msg.thirdPerson2.his);
228 stringBuilder.Replace("#he2", Msg.thirdPerson2.he);
229 stringBuilder.Replace("(s2)", Msg.thirdPerson2.thirdperson ? "s" : "");
230 }
232 {
233 stringBuilder.Replace("#your", Msg.thirdPerson1.your);
234 stringBuilder.Replace("#himself", Msg.thirdPerson1.himself);
235 stringBuilder.Replace("#him", Msg.thirdPerson1.him);
236 stringBuilder.Replace("#his", Msg.thirdPerson1.his);
237 stringBuilder.Replace("#he", Msg.thirdPerson1.he);
238 }
240 {
241 return ConvertThirdPerson(stringBuilder.ToString(), thirdPerson);
242 }
243 return Convert(stringBuilder);
244 }
static string ConvertThirdPerson(string text, bool thirdPerson)
Definition: GameLang.cs:246
bool thirdperson
Definition: LangSetting.cs:42
static LangSetting setting
Definition: Lang.cs:55
static List< char[]> articlesToRemove
Definition: Lang.cs:45
Definition: Msg.cs:5
static ThirstPersonInfo thirdPerson2
Definition: Msg.cs:8
static ThirstPersonInfo thirdPerson1
Definition: Msg.cs:6

References ThirstPersonInfo.active, Lang.articlesToRemove, Convert(), ConvertThirdPerson(), ThirstPersonInfo.he, ThirstPersonInfo.him, ThirstPersonInfo.himself, ThirstPersonInfo.his, item, Lang.setting, LangSetting.thirdperson, ThirstPersonInfo.thirdperson, Msg.thirdPerson1, Msg.thirdPerson2, and ThirstPersonInfo.your.

Referenced by Chara.Die(), Msg.GetRawText(), Msg.Say(), and ActEffect.Wish().

Member Data Documentation

◆ refDrama1

string GameLang.refDrama1
static

Definition at line 6 of file GameLang.cs.

Referenced by ClearDramaRef(), and ConvertDrama().

◆ refDrama2

string GameLang.refDrama2
static

Definition at line 8 of file GameLang.cs.

Referenced by ClearDramaRef(), and ConvertDrama().

◆ refDrama3

string GameLang.refDrama3
static

Definition at line 10 of file GameLang.cs.

Referenced by ClearDramaRef(), and ConvertDrama().

◆ refDrama4

string GameLang.refDrama4
static

Definition at line 12 of file GameLang.cs.

Referenced by ConvertDrama().

◆ refDrama5

string GameLang.refDrama5
static

Definition at line 14 of file GameLang.cs.

Referenced by ClearDramaRef(), and ConvertDrama().


The documentation for this class was generated from the following file: