]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Fixed lisp bug with capital and lowercase matching and other sounds matched for clari...
authordahnte <70238020+dahnte@users.noreply.github.com>
Sat, 23 Sep 2023 05:39:47 +0000 (22:39 -0700)
committerGitHub <noreply@github.com>
Sat, 23 Sep 2023 05:39:47 +0000 (15:39 +1000)
Content.Server/Speech/EntitySystems/FrontalLispSystem.cs

index 6ee548515ca5b285706c53b3fa1e9f924c3417d9..96e3620ecf0e83bb60a50d43dbbe4cb4dcc256bf 100644 (file)
@@ -15,15 +15,12 @@ public sealed class FrontalLispSystem : EntitySystem
     {
         var message = args.Message;
 
-        // handles ts, c(iey), z, ps, ti
-        message = Regex.Replace(message, @"[T]+[S]+|[C]+(?=[IEY])|[Z]+|[P][S]+|[T](?=[I])", "TH");
-        message = Regex.Replace(message, @"[Tt]+[Ss]+|[Cc]+(?=[IiEeYy])|[Zz]+|[Pp][Ss]+|[Tt](?=[Ii])", "th");
-        // handles ex
-        message = Regex.Replace(message, @"(?![E])[X]", "KTH");
-        message = Regex.Replace(message, @"(?![Ee])[Xx]", "kth");
-        // handles sth and s
-        message = Regex.Replace(message, "[S]+[T]?[H]?", "TH");
-        message = Regex.Replace(message, "[Ss]+[Tt]?[Hh]?", "th");
+        // handles ts, sc(i|e|y), c(i|e|y), ps, st(io(u|n)), ch(i|e), z, s
+        message = Regex.Replace(message, @"[T]+[Ss]+|[S]+[Cc]+(?=[IiEeYy]+)|[C]+(?=[IiEeYy]+)|[P][Ss]+|([S]+[Tt]+|[T]+)(?=[Ii]+[Oo]+[Uu]*[Nn]*)|[C]+[Hh]+(?=[Ii]*[Ee]*)|[Z]+|[S]+|[X]+(?=[Ee]+)", "TH");
+        message = Regex.Replace(message, @"[t]+[s]+|[s]+[c]+(?=[iey]+)|[c]+(?=[iey]+)|[p][s]+|([s]+[t]+|[t]+)(?=[i]+[o]+[u]*[n]*)|[c]+[h]+(?=[i]*[e]*)|[z]+|[s]+|[x]+(?=[e]+)", "th");
+        // handles ex(c), x
+        message = Regex.Replace(message, @"[E]+[Xx]+[Cc]*|[X]+", "EKTH");
+        message = Regex.Replace(message, @"[e]+[x]+[c]*|[x]+", "ekth");
 
         args.Message = message;
     }