8 public static string ConvertDrama(
string text,
Chara c =
null)
10 if (!
EClass.core.IsGameStarted)
14 StringBuilder stringBuilder =
new StringBuilder();
16 string newValue2 =
"";
17 string name =
EClass.game.religions.GetRandomReligion(
false,
false).Name;
21 newValue = c.NameBraced;
22 newValue2 = (c.IsMale ?
"his" :
"her").lang();
24 @ref = (
CalcGold.Hire(c).ToString() ??
"");
28 for (
int i = 0; i < text.Length; i++)
35 if (text2 ==
"qFriend" &&
EClass._zone.IsPCFaction)
37 text2 =
"qFriendHome";
39 string[] list = Lang.GetList(text2);
42 stringBuilder.Append(list.RandomItem<
string>());
46 stringBuilder.Append(text2);
51 text2 += text[i].ToString();
54 else if (text[i] ==
'[')
61 stringBuilder.Append(text[i]);
70 stringBuilder.Replace(
"#last_choice",
DramaChoice.lastChoice.text);
72 stringBuilder.Replace(
"#newline", Environment.NewLine);
73 stringBuilder.Replace(
"#costHire",
"costHire".lang(@ref,
null,
null,
null,
null));
74 stringBuilder.Replace(
"#self", newValue);
75 stringBuilder.Replace(
"#his", newValue2);
76 stringBuilder.Replace(
"#me", newValue);
77 stringBuilder.Replace(
"#1",
GameLang.refDrama1);
78 stringBuilder.Replace(
"#2",
GameLang.refDrama2);
79 stringBuilder.Replace(
"#3",
GameLang.refDrama3);
80 stringBuilder.Replace(
"#4",
GameLang.refDrama4);
81 stringBuilder.Replace(
"#god", name);
82 stringBuilder.Replace(
"#player",
EClass.player.title);
83 stringBuilder.Replace(
"#title",
EClass.player.title);
84 stringBuilder.Replace(
"#zone",
EClass._zone.Name);
85 stringBuilder.Replace(
"#guild_title",
Guild.Current.relation.TextTitle);
86 stringBuilder.Replace(
"#guild",
Guild.Current.Name);
87 stringBuilder.Replace(
"#pc",
EClass.pc.NameSimple);
88 stringBuilder.Replace(
"#aka",
EClass.pc.Aka);
89 stringBuilder.Replace(
"#bigdaddy",
"bigdaddy".lang());
90 stringBuilder.Replace(
"#festival",
EClass._zone.IsFestival ? (
EClass._zone.id +
"_festival").lang() :
"_festival".lang());
91 stringBuilder.Replace(
"#brother2", (
EClass.pc.IsMale ?
"brother" :
"sister").lang());
92 stringBuilder.Replace(
"#brother", Lang.GetList(
EClass.pc.IsMale ?
"bro" :
"sis").RandomItem<
string>());
93 stringBuilder.Replace(
"#onii", Lang.GetList(
EClass.pc.IsMale ?
"onii" :
"onee").RandomItem<
string>());
94 stringBuilder.Replace(
"#gender", Lang.GetList(
"gendersDrama")[
EClass.pc.bio.gender]);
95 stringBuilder.Replace(
"#he", ((
EClass.pc.bio.gender == 2) ?
"he" :
"she").lang());
96 stringBuilder.Replace(
"#He", ((
EClass.pc.bio.gender == 2) ?
"he" :
"she").lang().ToTitleCase(
false));
97 return GameLang.Convert(stringBuilder);
101 public static string Convert(
string text)
103 StringBuilder stringBuilder =
new StringBuilder();
104 stringBuilder.Append(text);
105 return GameLang.Convert(stringBuilder);
109 public static string Convert(StringBuilder sb)
111 sb.Replace(
"#player",
EClass.player.title);
112 sb.Replace(
"#pc_him",
EClass.pc.IsMale ?
"him".lang() :
"her".lang());
113 sb.Replace(
"#pc_his",
EClass.pc.IsMale ?
"his".lang() :
"her".lang());
114 sb.Replace(
"#pc_race",
EClass.pc.race.GetName());
115 sb.Replace(
"#pc",
EClass.pc.NameSimple);
116 return sb.ToString();
120 public static string Parse(
string text,
bool thirdPerson,
string val1,
string val2 =
null,
string val3 =
null,
string val4 =
null)
122 StringBuilder stringBuilder =
new StringBuilder(text);
125 if (Lang.articlesToRemove.Count > 0)
128 foreach (
char[] trimChars
in Lang.articlesToRemove)
130 text2 = text2.TrimStart(trimChars);
132 stringBuilder.Replace(
"-#1", text2);
134 stringBuilder.Replace(
"#1", val1 ??
"");
138 if (Lang.articlesToRemove.Count > 0)
141 foreach (
char[] trimChars2
in Lang.articlesToRemove)
143 text3 = text3.TrimStart(trimChars2);
145 stringBuilder.Replace(
"-#2", text3);
147 stringBuilder.Replace(
"#2", val2);
151 stringBuilder.Replace(
"#3", val3);
155 stringBuilder.Replace(
"#4", val4);
158 if (
int.TryParse(val1, out num))
160 stringBuilder.Replace(
"#(s)", (num <= 1) ?
"" :
"_s".lang());
162 if (
Msg.thirdPerson2.active)
164 stringBuilder.Replace(
"#your2",
Msg.thirdPerson2.your);
165 stringBuilder.Replace(
"#himself2",
Msg.thirdPerson2.himself);
166 stringBuilder.Replace(
"#him2",
Msg.thirdPerson2.him);
167 stringBuilder.Replace(
"#his2",
Msg.thirdPerson2.his);
168 stringBuilder.Replace(
"#he2",
Msg.thirdPerson2.he);
169 stringBuilder.Replace(
"(s2)",
Msg.thirdPerson2.thirdperson ?
"s" :
"");
171 if (
Msg.thirdPerson1.active)
173 stringBuilder.Replace(
"#your",
Msg.thirdPerson1.your);
174 stringBuilder.Replace(
"#himself",
Msg.thirdPerson1.himself);
175 stringBuilder.Replace(
"#him",
Msg.thirdPerson1.him);
176 stringBuilder.Replace(
"#his",
Msg.thirdPerson1.his);
177 stringBuilder.Replace(
"#he",
Msg.thirdPerson1.he);
179 if (Lang.setting.thirdperson)
181 return GameLang.ConvertThirdPerson(stringBuilder.ToString(), thirdPerson);
183 return GameLang.Convert(stringBuilder);
187 public static string ConvertThirdPerson(
string text,
bool thirdPerson)
189 string[] array = text.Split(
' ', StringSplitOptions.None);
190 StringBuilder stringBuilder =
new StringBuilder();
192 foreach (
string text2
in array)
200 stringBuilder.Append(
' ');
202 if (text2.Contains(
'/') && !text2.Contains(
'<'))
204 string[] array3 = text2.Split(
'/', StringSplitOptions.None);
205 stringBuilder.Append(thirdPerson ? array3[1] : array3[0]);
209 stringBuilder.Append(text2);
212 stringBuilder.Replace(
"(s)", thirdPerson ?
"s" :
"");
213 stringBuilder.Replace(
"(es)", thirdPerson ?
"es" :
"");
214 return GameLang.Convert(stringBuilder);
218 public static string refDrama1;
221 public static string refDrama2;
224 public static string refDrama3;
227 public static string refDrama4;