Decompiled source of UltrakULL v1.2.4
plugins/UltrakULL/UltrakULL.dll
Decompiled 5 months ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.CodeDom.Compiler; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Globalization; using System.IO; using System.Linq; using System.Net; using System.Net.Http; using System.Net.Http.Headers; using System.Reflection; using System.Reflection.Emit; using System.Resources; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; using ArabicSupportUnity; using BepInEx; using BepInEx.Configuration; using BepInEx.Logging; using Discord; using HarmonyLib; using Newtonsoft.Json; using Sandbox; using TMPro; using UltrakULL.Harmony_Patches; using UltrakULL.audio; using UltrakULL.json; using UnityEngine; using UnityEngine.Events; using UnityEngine.Networking; using UnityEngine.SceneManagement; using UnityEngine.UI; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("UltrakULL")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("UltrakULL")] [assembly: AssemblyCopyright("Copyright © 2023")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("a4a60eef-e5f3-4a77-b125-236fbf44cca4")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] [assembly: AssemblyVersion("1.0.0.0")] internal enum IsolatedArabicLetters { Hamza = 65152, Alef = 65165, AlefHamza = 65155, WawHamza = 65157, AlefMaksoor = 65159, AlefMaksora = 64508, HamzaNabera = 65161, Ba = 65167, Ta = 65173, Tha2 = 65177, Jeem = 65181, H7aa = 65185, Khaa2 = 65189, Dal = 65193, Thal = 65195, Ra2 = 65197, Zeen = 65199, Seen = 65201, Sheen = 65205, S9a = 65209, Dha = 65213, T6a = 65217, T6ha = 65221, Ain = 65225, Gain = 65229, Fa = 65233, Gaf = 65237, Kaf = 65241, Lam = 65245, Meem = 65249, Noon = 65253, Ha = 65257, Waw = 65261, Ya = 65265, AlefMad = 65153, TaMarboota = 65171, PersianPe = 64342, PersianChe = 64378, PersianZe = 64394, PersianGaf = 64402, PersianGaf2 = 64398, PersianYeh = 64508 } internal enum GeneralArabicLetters { Hamza = 1569, Alef = 1575, AlefHamza = 1571, WawHamza = 1572, AlefMaksoor = 1573, AlefMagsora = 1609, HamzaNabera = 1574, Ba = 1576, Ta = 1578, Tha2 = 1579, Jeem = 1580, H7aa = 1581, Khaa2 = 1582, Dal = 1583, Thal = 1584, Ra2 = 1585, Zeen = 1586, Seen = 1587, Sheen = 1588, S9a = 1589, Dha = 1590, T6a = 1591, T6ha = 1592, Ain = 1593, Gain = 1594, Fa = 1601, Gaf = 1602, Kaf = 1603, Lam = 1604, Meem = 1605, Noon = 1606, Ha = 1607, Waw = 1608, Ya = 1610, AlefMad = 1570, TaMarboota = 1577, PersianPe = 1662, PersianChe = 1670, PersianZe = 1688, PersianGaf = 1711, PersianGaf2 = 1705, PersianYeh = 1740 } internal class ArabicMapping { public int from; public int to; public ArabicMapping(int from, int to) { this.from = from; this.to = to; } } internal class ArabicTable { private static List<ArabicMapping> mapList; private static ArabicTable arabicMapper; internal static ArabicTable ArabicMapper { get { if (arabicMapper == null) { arabicMapper = new ArabicTable(); } return arabicMapper; } } private ArabicTable() { mapList = new List<ArabicMapping>(); mapList.Add(new ArabicMapping(1569, 65152)); mapList.Add(new ArabicMapping(1575, 65165)); mapList.Add(new ArabicMapping(1571, 65155)); mapList.Add(new ArabicMapping(1572, 65157)); mapList.Add(new ArabicMapping(1573, 65159)); mapList.Add(new ArabicMapping(1609, 64508)); mapList.Add(new ArabicMapping(1574, 65161)); mapList.Add(new ArabicMapping(1576, 65167)); mapList.Add(new ArabicMapping(1578, 65173)); mapList.Add(new ArabicMapping(1579, 65177)); mapList.Add(new ArabicMapping(1580, 65181)); mapList.Add(new ArabicMapping(1581, 65185)); mapList.Add(new ArabicMapping(1582, 65189)); mapList.Add(new ArabicMapping(1583, 65193)); mapList.Add(new ArabicMapping(1584, 65195)); mapList.Add(new ArabicMapping(1585, 65197)); mapList.Add(new ArabicMapping(1586, 65199)); mapList.Add(new ArabicMapping(1587, 65201)); mapList.Add(new ArabicMapping(1588, 65205)); mapList.Add(new ArabicMapping(1589, 65209)); mapList.Add(new ArabicMapping(1590, 65213)); mapList.Add(new ArabicMapping(1591, 65217)); mapList.Add(new ArabicMapping(1592, 65221)); mapList.Add(new ArabicMapping(1593, 65225)); mapList.Add(new ArabicMapping(1594, 65229)); mapList.Add(new ArabicMapping(1601, 65233)); mapList.Add(new ArabicMapping(1602, 65237)); mapList.Add(new ArabicMapping(1603, 65241)); mapList.Add(new ArabicMapping(1604, 65245)); mapList.Add(new ArabicMapping(1605, 65249)); mapList.Add(new ArabicMapping(1606, 65253)); mapList.Add(new ArabicMapping(1607, 65257)); mapList.Add(new ArabicMapping(1608, 65261)); mapList.Add(new ArabicMapping(1610, 65265)); mapList.Add(new ArabicMapping(1570, 65153)); mapList.Add(new ArabicMapping(1577, 65171)); mapList.Add(new ArabicMapping(1662, 64342)); mapList.Add(new ArabicMapping(1670, 64378)); mapList.Add(new ArabicMapping(1688, 64394)); mapList.Add(new ArabicMapping(1711, 64402)); mapList.Add(new ArabicMapping(1705, 64398)); mapList.Add(new ArabicMapping(1740, 64508)); } internal int Convert(int toBeConverted) { foreach (ArabicMapping map in mapList) { if (map.from == toBeConverted) { return map.to; } } return toBeConverted; } } internal class TashkeelLocation { public char tashkeel; public int position; public TashkeelLocation(char tashkeel, int position) { this.tashkeel = tashkeel; this.position = position; } } internal class ArabicFixerTool { internal static bool showTashkeel = true; internal static bool combineTashkeel = true; internal static bool useHinduNumbers = false; internal static string RemoveTashkeel(string str, out List<TashkeelLocation> tashkeelLocation) { tashkeelLocation = new List<TashkeelLocation>(); char[] array = str.ToCharArray(); int num = 0; for (int i = 0; i < array.Length; i++) { if (array[i] == '\u064b') { tashkeelLocation.Add(new TashkeelLocation('\u064b', i)); num++; } else if (array[i] == '\u064c') { tashkeelLocation.Add(new TashkeelLocation('\u064c', i)); num++; } else if (array[i] == '\u064d') { tashkeelLocation.Add(new TashkeelLocation('\u064d', i)); num++; } else if (array[i] == '\u064e') { if (num > 0 && combineTashkeel && tashkeelLocation[num - 1].tashkeel == '\u0651') { tashkeelLocation[num - 1].tashkeel = 'ﱠ'; continue; } tashkeelLocation.Add(new TashkeelLocation('\u064e', i)); num++; } else if (array[i] == '\u064f') { if (num > 0 && combineTashkeel && tashkeelLocation[num - 1].tashkeel == '\u0651') { tashkeelLocation[num - 1].tashkeel = 'ﱡ'; continue; } tashkeelLocation.Add(new TashkeelLocation('\u064f', i)); num++; } else if (array[i] == '\u0650') { if (num > 0 && combineTashkeel && tashkeelLocation[num - 1].tashkeel == '\u0651') { tashkeelLocation[num - 1].tashkeel = 'ﱢ'; continue; } tashkeelLocation.Add(new TashkeelLocation('\u0650', i)); num++; } else if (array[i] == '\u0651') { if (num > 0 && combineTashkeel) { if (tashkeelLocation[num - 1].tashkeel == '\u064e') { tashkeelLocation[num - 1].tashkeel = 'ﱠ'; continue; } if (tashkeelLocation[num - 1].tashkeel == '\u064f') { tashkeelLocation[num - 1].tashkeel = 'ﱡ'; continue; } if (tashkeelLocation[num - 1].tashkeel == '\u0650') { tashkeelLocation[num - 1].tashkeel = 'ﱢ'; continue; } } tashkeelLocation.Add(new TashkeelLocation('\u0651', i)); num++; } else if (array[i] == '\u0652') { tashkeelLocation.Add(new TashkeelLocation('\u0652', i)); num++; } else if (array[i] == '\u0653') { tashkeelLocation.Add(new TashkeelLocation('\u0653', i)); num++; } } string[] array2 = str.Split('\u064b', '\u064c', '\u064d', '\u064e', '\u064f', '\u0650', '\u0651', '\u0652', '\u0653', 'ﱠ', 'ﱡ', 'ﱢ'); str = ""; string[] array3 = array2; foreach (string text in array3) { str += text; } return str; } internal static char[] ReturnTashkeel(char[] letters, List<TashkeelLocation> tashkeelLocation) { char[] array = new char[letters.Length + tashkeelLocation.Count]; int num = 0; for (int i = 0; i < letters.Length; i++) { array[num] = letters[i]; num++; foreach (TashkeelLocation item in tashkeelLocation) { if (item.position == num) { array[num] = item.tashkeel; num++; } } } return array; } internal static string FixLine(string str) { string text = ""; List<TashkeelLocation> tashkeelLocation; string text2 = RemoveTashkeel(str, out tashkeelLocation); char[] array = text2.ToCharArray(); char[] array2 = text2.ToCharArray(); for (int i = 0; i < array.Length; i++) { array[i] = (char)ArabicTable.ArabicMapper.Convert(array[i]); } for (int j = 0; j < array.Length; j++) { bool flag = false; if (array[j] == 'ﻝ' && j < array.Length - 1) { if (array[j + 1] == 'ﺇ') { array[j] = 'ﻷ'; array2[j + 1] = '\uffff'; flag = true; } else if (array[j + 1] == 'ﺍ') { array[j] = 'ﻹ'; array2[j + 1] = '\uffff'; flag = true; } else if (array[j + 1] == 'ﺃ') { array[j] = 'ﻵ'; array2[j + 1] = '\uffff'; flag = true; } else if (array[j + 1] == 'ﺁ') { array[j] = 'ﻳ'; array2[j + 1] = '\uffff'; flag = true; } } if (!IsIgnoredCharacter(array[j])) { if (IsMiddleLetter(array, j)) { array2[j] = (char)(array[j] + 3); } else if (IsFinishingLetter(array, j)) { array2[j] = (char)(array[j] + 1); } else if (IsLeadingLetter(array, j)) { array2[j] = (char)(array[j] + 2); } } text = text + Convert.ToString(array[j], 16) + " "; if (flag) { j++; } if (useHinduNumbers) { if (array[j] == '0') { array2[j] = '٠'; } else if (array[j] == '1') { array2[j] = '١'; } else if (array[j] == '2') { array2[j] = '٢'; } else if (array[j] == '3') { array2[j] = '٣'; } else if (array[j] == '4') { array2[j] = '٤'; } else if (array[j] == '5') { array2[j] = '٥'; } else if (array[j] == '6') { array2[j] = '٦'; } else if (array[j] == '7') { array2[j] = '٧'; } else if (array[j] == '8') { array2[j] = '٨'; } else if (array[j] == '9') { array2[j] = '٩'; } } } if (showTashkeel) { array2 = ReturnTashkeel(array2, tashkeelLocation); } List<char> list = new List<char>(); List<char> list2 = new List<char>(); for (int num = array2.Length - 1; num >= 0; num--) { if (char.IsPunctuation(array2[num]) && num > 0 && num < array2.Length - 1 && (char.IsPunctuation(array2[num - 1]) || char.IsPunctuation(array2[num + 1]))) { if (array2[num] == '(') { list.Add(')'); } else if (array2[num] == ')') { list.Add('('); } else if (array2[num] == '<') { list.Add('>'); } else if (array2[num] == '>') { list.Add('<'); } else if (array2[num] == '[') { list.Add(']'); } else if (array2[num] == ']') { list.Add('['); } else if (array2[num] != '\uffff') { list.Add(array2[num]); } } else if (array2[num] == ' ' && num > 0 && num < array2.Length - 1 && (char.IsLower(array2[num - 1]) || char.IsUpper(array2[num - 1]) || char.IsNumber(array2[num - 1])) && (char.IsLower(array2[num + 1]) || char.IsUpper(array2[num + 1]) || char.IsNumber(array2[num + 1]))) { list2.Add(array2[num]); } else if (char.IsNumber(array2[num]) || char.IsLower(array2[num]) || char.IsUpper(array2[num]) || char.IsSymbol(array2[num]) || char.IsPunctuation(array2[num])) { if (array2[num] == '(') { list2.Add(')'); } else if (array2[num] == ')') { list2.Add('('); } else if (array2[num] == '<') { list2.Add('>'); } else if (array2[num] == '>') { list2.Add('<'); } else if (array2[num] == '[') { list.Add(']'); } else if (array2[num] == ']') { list.Add('['); } else { list2.Add(array2[num]); } } else if ((array2[num] >= '\ud800' && array2[num] <= '\udbff') || (array2[num] >= '\udc00' && array2[num] <= '\udfff')) { list2.Add(array2[num]); } else { if (list2.Count > 0) { for (int k = 0; k < list2.Count; k++) { list.Add(list2[list2.Count - 1 - k]); } list2.Clear(); } if (array2[num] != '\uffff' && array2[num] != 0) { list.Add(array2[num]); } } } if (list2.Count > 0) { for (int l = 0; l < list2.Count; l++) { list.Add(list2[list2.Count - 1 - l]); } list2.Clear(); } array2 = new char[list.Count]; for (int m = 0; m < array2.Length; m++) { array2[m] = list[m]; } str = new string(array2); return str; } internal static bool IsIgnoredCharacter(char ch) { bool flag = char.IsPunctuation(ch); bool flag2 = char.IsNumber(ch); bool flag3 = char.IsLower(ch); bool flag4 = char.IsUpper(ch); bool flag5 = char.IsSymbol(ch); bool flag6 = ch == 'ﭖ' || ch == 'ﭺ' || ch == 'ﮊ' || ch == 'ﮒ' || ch == 'ﮎ'; bool flag7 = ch <= '\ufeff' && ch >= 'ﹰ'; bool flag8 = flag7 || flag6 || ch == 'ﯼ'; return flag || flag2 || flag3 || flag4 || flag5 || !flag8 || ch == 'a' || ch == '>' || ch == '<' || ch == '؛'; } internal static bool IsLeadingLetter(char[] letters, int index) { bool flag = index == 0 || letters[index - 1] == ' ' || letters[index - 1] == '*' || letters[index - 1] == 'A' || char.IsPunctuation(letters[index - 1]) || letters[index - 1] == '>' || letters[index - 1] == '<' || letters[index - 1] == 'ﺍ' || letters[index - 1] == 'ﺩ' || letters[index - 1] == 'ﺫ' || letters[index - 1] == 'ﺭ' || letters[index - 1] == 'ﺯ' || letters[index - 1] == 'ﮊ' || letters[index - 1] == 'ﻭ' || letters[index - 1] == 'ﺁ' || letters[index - 1] == 'ﺃ' || letters[index - 1] == 'ﺀ' || letters[index - 1] == 'ﺇ' || letters[index - 1] == 'ﺅ'; bool flag2 = letters[index] != ' ' && letters[index] != 'ﺩ' && letters[index] != 'ﺫ' && letters[index] != 'ﺭ' && letters[index] != 'ﺯ' && letters[index] != 'ﮊ' && letters[index] != 'ﺍ' && letters[index] != 'ﺃ' && letters[index] != 'ﺇ' && letters[index] != 'ﺁ' && letters[index] != 'ﺅ' && letters[index] != 'ﻭ' && letters[index] != 'ﺀ'; bool flag3 = index < letters.Length - 1 && letters[index + 1] != ' ' && letters[index + 1] != '\n' && letters[index + 1] != '\r' && !char.IsPunctuation(letters[index + 1]) && !char.IsNumber(letters[index + 1]) && !char.IsSymbol(letters[index + 1]) && !char.IsLower(letters[index + 1]) && !char.IsUpper(letters[index + 1]) && letters[index + 1] != 'ﺀ'; if (flag && flag2 && flag3) { return true; } return false; } internal static bool IsFinishingLetter(char[] letters, int index) { bool flag = index != 0; bool flag2 = index != 0 && letters[index - 1] != ' ' && letters[index - 1] != 'ﺩ' && letters[index - 1] != 'ﺫ' && letters[index - 1] != 'ﺭ' && letters[index - 1] != 'ﺯ' && letters[index - 1] != 'ﮊ' && letters[index - 1] != 'ﻭ' && letters[index - 1] != 'ﺍ' && letters[index - 1] != 'ﺁ' && letters[index - 1] != 'ﺃ' && letters[index - 1] != 'ﺇ' && letters[index - 1] != 'ﺅ' && letters[index - 1] != 'ﺀ' && !char.IsPunctuation(letters[index - 1]) && !char.IsSymbol(letters[index - 1]) && letters[index - 1] != '>' && letters[index - 1] != '<'; bool flag3 = letters[index] != ' ' && letters[index] != 'ﺀ'; if (flag2 && flag3) { return true; } return false; } internal static bool IsMiddleLetter(char[] letters, int index) { bool flag = index != 0 && letters[index] != 'ﺍ' && letters[index] != 'ﺩ' && letters[index] != 'ﺫ' && letters[index] != 'ﺭ' && letters[index] != 'ﺯ' && letters[index] != 'ﮊ' && letters[index] != 'ﻭ' && letters[index] != 'ﺁ' && letters[index] != 'ﺃ' && letters[index] != 'ﺇ' && letters[index] != 'ﺅ' && letters[index] != 'ﺀ'; bool flag2 = index != 0 && letters[index - 1] != 'ﺍ' && letters[index - 1] != 'ﺩ' && letters[index - 1] != 'ﺫ' && letters[index - 1] != 'ﺭ' && letters[index - 1] != 'ﺯ' && letters[index - 1] != 'ﮊ' && letters[index - 1] != 'ﻭ' && letters[index - 1] != 'ﺁ' && letters[index - 1] != 'ﺃ' && letters[index - 1] != 'ﺇ' && letters[index - 1] != 'ﺅ' && letters[index - 1] != 'ﺀ' && !char.IsPunctuation(letters[index - 1]) && letters[index - 1] != '>' && letters[index - 1] != '<' && letters[index - 1] != ' ' && letters[index - 1] != '*'; bool flag3 = index < letters.Length - 1 && letters[index + 1] != ' ' && letters[index + 1] != '\r' && letters[index + 1] != 'ﺀ' && !char.IsNumber(letters[index + 1]) && !char.IsSymbol(letters[index + 1]) && !char.IsPunctuation(letters[index + 1]); if (flag3 && flag2 && flag) { try { if (char.IsPunctuation(letters[index + 1])) { return false; } return true; } catch { return false; } } return false; } } namespace ArabicSupportUnity { public class ArabicFixer { public static string Fix(string str) { return Fix(str, showTashkeel: false, useHinduNumbers: true); } public static string Fix(string str, bool rtl) { if (rtl) { return Fix(str); } string[] array = str.Split(new char[1] { ' ' }); string text = ""; string text2 = ""; string[] array2 = array; foreach (string text3 in array2) { if (char.IsLower(text3.ToLower()[text3.Length / 2])) { text = text + Fix(text2) + text3 + " "; text2 = ""; } else { text2 = text2 + text3 + " "; } } if (text2 != "") { text += Fix(text2); } return text; } public static string Fix(string str, bool showTashkeel, bool useHinduNumbers) { ArabicFixerTool.showTashkeel = showTashkeel; ArabicFixerTool.useHinduNumbers = useHinduNumbers; if (str.Contains("\n")) { str = str.Replace("\n", Environment.NewLine); } if (str.Contains(Environment.NewLine)) { string[] separator = new string[1] { Environment.NewLine }; string[] array = str.Split(separator, StringSplitOptions.None); if (array.Length == 0) { return ArabicFixerTool.FixLine(str); } if (array.Length == 1) { return ArabicFixerTool.FixLine(str); } string text = ArabicFixerTool.FixLine(array[0]); int i = 1; if (array.Length > 1) { for (; i < array.Length; i++) { text = text + Environment.NewLine + ArabicFixerTool.FixLine(array[i]); } } return text; } return ArabicFixerTool.FixLine(str); } public static string Fix(string str, bool showTashkeel, bool combineTashkeel, bool useHinduNumbers) { ArabicFixerTool.combineTashkeel = combineTashkeel; return Fix(str, showTashkeel, useHinduNumbers); } } } namespace UltrakULL { public static class Act1 { private static void PatchHellmap(ref GameObject canvasObj) { try { GameObject gameObjectChild = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(canvasObj, "Hellmap"), "Hellmap Act 1"); TextMeshProUGUI textMeshProUGUI = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(gameObjectChild, "Text")); ((TMP_Text)textMeshProUGUI).text = LanguageManager.CurrentLanguage.misc.hellmap_limbo; TextMeshProUGUI textMeshProUGUI2 = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(gameObjectChild, "Text (1)")); ((TMP_Text)textMeshProUGUI2).text = LanguageManager.CurrentLanguage.misc.hellmap_lust; TextMeshProUGUI textMeshProUGUI3 = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(gameObjectChild, "Text (2)")); ((TMP_Text)textMeshProUGUI3).text = LanguageManager.CurrentLanguage.misc.hellmap_gluttony; } catch (Exception ex) { Logging.Warn("Failed to patch Act 1 hellmap."); Logging.Warn(ex.ToString()); } } public static void PatchAct1(ref GameObject canvasObj) { string currentSceneName = CommonFunctions.GetCurrentSceneName(); string levelName = Act1Strings.GetLevelName(); string levelChallenge = Act1Strings.GetLevelChallenge(currentSceneName); PatchHellmap(ref canvasObj); CommonFunctions.PatchResultsScreen(levelName, levelChallenge); } } public static class Act1Strings { private static string Level11(string message, string message2, string input) { string text = message + message2; if (text.Contains("ITEMS")) { CommonFunctions.PreviousHudMessage = LanguageManager.CurrentLanguage.act1.act1_limboFirst_items1 + " '<color=orange>" + input + "'</color> " + LanguageManager.CurrentLanguage.act1.act1_limboFirst_items2; return LanguageManager.CurrentLanguage.act1.act1_limboFirst_items1 + " '<color=orange>" + input + "'</color> " + LanguageManager.CurrentLanguage.act1.act1_limboFirst_items2; } if (text.Contains("NAILGUN")) { CommonFunctions.PreviousHudMessage = LanguageManager.CurrentLanguage.act1.act1_limboFirst_nailgun1 + " '<color=orange>" + input + "'</color> " + LanguageManager.CurrentLanguage.act1.act1_limboFirst_nailgun2 + "\n" + LanguageManager.CurrentLanguage.act1.act1_limboFirst_nailgun3; return LanguageManager.CurrentLanguage.act1.act1_limboFirst_nailgun1 + " '<color=orange>" + input + "'</color> " + LanguageManager.CurrentLanguage.act1.act1_limboFirst_nailgun2 + "\n" + LanguageManager.CurrentLanguage.act1.act1_limboFirst_nailgun3; } return CommonFunctions.PreviousHudMessage; } private static string Level12(string message, string message2) { string text = message + message2; if (text.Contains("BLUE")) { return LanguageManager.CurrentLanguage.act1.act1_limboSecond_blueAttack; } return "Unknown 1-2 string"; } private static string Level13(string message, string message2) { string text = message + message2; if (text.Contains("SPLIT")) { return LanguageManager.CurrentLanguage.act1.act1_limboThird_splitDoor1 + "\n" + LanguageManager.CurrentLanguage.act1.act1_limboThird_splitDoor2; } return "Unknown 1-3 string"; } private static string Level14(string message, string message2, string input) { string text = message + message2; if (text.Contains("PICK")) { return LanguageManager.CurrentLanguage.act1.act1_limboFourth_book; } if (text.Contains("Hank")) { return LanguageManager.CurrentLanguage.act1.act1_limboFourth_hank1 + "\n" + LanguageManager.CurrentLanguage.act1.act1_limboFourth_hank2; } if (text.Contains("ALTERNATE")) { return LanguageManager.CurrentLanguage.act1.act1_limboFourth_alternateRevolver; } if (text.Contains("EQUIPPED")) { return LanguageManager.CurrentLanguage.act1.act1_limboFourth_newArm + " '<color=orange>" + input + "'</color>."; } return "Unknown 1-4 string"; } private static string Level1Secret(string message, string message2) { string text = message + message2; if (text.Contains("LOOKS")) { return LanguageManager.CurrentLanguage.act1.act1_limboSecret_noclipSkip; } return "Unknown 1-S string"; } private static string Level21(string message, string message2, string input) { string text = message + message2; if (text.Contains("KNUCKLE")) { return LanguageManager.CurrentLanguage.act1.act1_lustFirst_knuckleblaster1 + " '<color=orange>" + input + "</color>' " + LanguageManager.CurrentLanguage.act1.act1_lustFirst_knuckleblaster2; } if (text.Contains("DASH")) { return LanguageManager.CurrentLanguage.act1.act1_lustFirst_dashJump; } return "Unknown 2-1 string"; } private static string Level22(string message, string message2, string input) { string text = message + message2; if (text.Contains("FEEDBACKER")) { return LanguageManager.CurrentLanguage.act1.act1_lustSecond_feedbacker1 + "\n" + LanguageManager.CurrentLanguage.act1.act1_lustSecond_feedbacker2 + " '<color=orange>" + input + "</color>'."; } if (text.Contains("RAILCANNON")) { return LanguageManager.CurrentLanguage.act1.act1_lustSecond_railcannon; } return "Unknown 2-2 string"; } private static string Level23(string message, string message2) { string text = message + message2; if (text.Contains("water")) { return LanguageManager.CurrentLanguage.act1.act1_lustThird_water; } return "Unknown 2-3 string"; } private static string Level24() { return "Unknown 2-4 string"; } private static string Level2Secret() { return "Unknown 2-S string"; } private static string Level31() { return "Unknown 3-1 string"; } private static string Level32() { return "Unknown 3-2 string"; } public static string GetMessage(string message, string message2, string input) { string currentSceneName = CommonFunctions.GetCurrentSceneName(); string text = message + message2; if (text.Contains("mechanism")) { return LanguageManager.CurrentLanguage.act1.act1_secret; } return currentSceneName switch { "Level 1-1" => Level11(message, message2, input), "Level 1-2" => Level12(message, message2), "Level 1-3" => Level13(message, message2), "Level 1-4" => Level14(message, message2, input), "Level 1-S" => Level1Secret(message, message2), "Level 2-1" => Level21(message, message2, input), "Level 2-2" => Level22(message, message2, input), "Level 2-3" => Level23(message, message2), "Level 2-4" => Level24(), "Level 2-S" => Level2Secret(), "Level 3-1" => Level31(), "Level 3-2" => Level32(), _ => "Unimplemented Act 1 string", }; } public static string GetLevelChallenge(string currentLevel) { return currentLevel switch { "Level 1-1" => LanguageManager.CurrentLanguage.levelChallenges.challenges_limboFirst, "Level 1-2" => LanguageManager.CurrentLanguage.levelChallenges.challenges_limboSecond, "Level 1-3" => LanguageManager.CurrentLanguage.levelChallenges.challenges_limboThird, "Level 1-4" => LanguageManager.CurrentLanguage.levelChallenges.challenges_limboFourth, "Level 2-1" => LanguageManager.CurrentLanguage.levelChallenges.challenges_lustFirst, "Level 2-2" => LanguageManager.CurrentLanguage.levelChallenges.challenges_lustSecond, "Level 2-3" => LanguageManager.CurrentLanguage.levelChallenges.challenges_lustThird, "Level 2-4" => LanguageManager.CurrentLanguage.levelChallenges.challenges_lustFourth, "Level 3-1" => LanguageManager.CurrentLanguage.levelChallenges.challenges_gluttonyFirst, "Level 3-2" => LanguageManager.CurrentLanguage.levelChallenges.challenges_gluttonySecond, _ => "Unknown challenge description", }; } public static string GetLevelName() { return CommonFunctions.GetCurrentSceneName() switch { "Level 1-1" => "1-1 - " + LanguageManager.CurrentLanguage.levelNames.levelName_limboFirst, "Level 1-2" => "1-2 - " + LanguageManager.CurrentLanguage.levelNames.levelName_limboSecond, "Level 1-3" => "1-3 - " + LanguageManager.CurrentLanguage.levelNames.levelName_limboThird, "Level 1-4" => "1-4 - " + LanguageManager.CurrentLanguage.levelNames.levelName_limboFourth, "Level 1-S" => "1-S - " + LanguageManager.CurrentLanguage.levelNames.levelName_limboSecret, "Level 2-1" => "2-1 - " + LanguageManager.CurrentLanguage.levelNames.levelName_lustFirst, "Level 2-2" => "2-2 - " + LanguageManager.CurrentLanguage.levelNames.levelName_lustSecond, "Level 2-3" => "2-3 - " + LanguageManager.CurrentLanguage.levelNames.levelName_lustThird, "Level 2-4" => "2-4 - " + LanguageManager.CurrentLanguage.levelNames.levelName_lustFourth, "Level 2-S" => "2-S - " + LanguageManager.CurrentLanguage.levelNames.levelName_lustSecret, "Level 3-1" => "3-1 - " + LanguageManager.CurrentLanguage.levelNames.levelName_gluttonyFirst, "Level 3-2" => "3-2 - " + LanguageManager.CurrentLanguage.levelNames.levelName_gluttonySecond, _ => "Unknown level name", }; } } public static class Act1Vn { public static void PatchPrompts(ref GameObject canvasObj) { //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Expected O, but got Unknown GameObject gameObjectChild = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(canvasObj, "PowerUpVignette"), "Panel"), "Aspect Ratio Mask"); GameObject gameObjectChild2 = CommonFunctions.GetGameObjectChild(gameObjectChild, "Fallen"); List<GameObject> list = new List<GameObject>(); foreach (Transform item in gameObjectChild2.transform) { Transform val = item; if (((Object)((Component)val).gameObject).name == "Choices Box") { list.Add(((Component)val).gameObject); } } GameObject parentObject = list[0]; GameObject parentObject2 = list[1]; Text textfromGameObject = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(parentObject, "Button (A)"), "Text")); textfromGameObject.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_fallenPromptFirst1; Text textfromGameObject2 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(parentObject, "Button (B)"), "Text")); textfromGameObject2.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_fallenPromptFirst2; Text textfromGameObject3 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(parentObject, "Button (C)"), "Text")); textfromGameObject3.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_fallenPromptFirst3; Text textfromGameObject4 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(parentObject2, "Button (A)"), "Text")); textfromGameObject4.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_fallenPromptSecond1; Text textfromGameObject5 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(parentObject2, "Button (B)"), "Text")); textfromGameObject5.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_fallenPromptSecond2; Text textfromGameObject6 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(parentObject2, "Button (C)"), "Text")); textfromGameObject6.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_fallenPromptSecond3; GameObject gameObjectChild3 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Middle"), "Choices Box (1)"); Text textfromGameObject7 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild3, "Button (A)"), "Text")); textfromGameObject7.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_middlePrompt1; Text textfromGameObject8 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild3, "Button (B)"), "Text")); textfromGameObject8.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_middlePrompt2; Text textfromGameObject9 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild3, "Button (C)"), "Text")); textfromGameObject9.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_middlePrompt3; GameObject gameObjectChild4 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Middle"), "Choices Box (2)"); Text textfromGameObject10 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild4, "Button (A)"), "Text")); textfromGameObject10.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_middlePromptSecondRecklessness; Text textfromGameObject11 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild4, "Button (B)"), "Text")); textfromGameObject11.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_middlePromptSecondWaiting; Text textfromGameObject12 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild4, "Button (C)"), "Text")); textfromGameObject12.text = "...Pourquoi sommes-nous ici?"; GameObject gameObjectChild5 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Recklessness"), "Choices Box"); Text textfromGameObject13 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild5, "Button (A)"), "Text")); textfromGameObject13.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_recklessnessPrompt1; Text textfromGameObject14 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild5, "Button (B)"), "Text")); textfromGameObject14.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_recklessnessPrompt2; GameObject gameObjectChild6 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Recklessness"), "Choices Box (1)"); Text textfromGameObject15 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild6, "Button (A)"), "Text")); textfromGameObject15.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_recklessnessPrompt3; GameObject gameObjectChild7 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Waiting"), "Choices Box"); Text textfromGameObject16 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild7, "Button (A)"), "Text")); textfromGameObject16.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_waitingPromptFirst1; Text textfromGameObject17 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild7, "Button (B)"), "Text")); textfromGameObject17.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_waitingPromptFirst2; GameObject gameObjectChild8 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Waiting"), "Choices Box (1)"); Text textfromGameObject18 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild8, "Button (A)"), "Text")); textfromGameObject18.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_waitingPromptThird; GameObject gameObjectChild9 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Nihilism"), "Choices Box (2)"); Text textfromGameObject19 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild9, "Button (A)"), "Text")); textfromGameObject19.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilismPrompt1; GameObject gameObjectChild10 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Nihilism"), "Choices Box (3)"); Text textfromGameObject20 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild10, "Button (A)"), "Text")); textfromGameObject20.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilismPrompt2; GameObject gameObjectChild11 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Nihilism"), "Choices Box (4)"); Text textfromGameObject21 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild11, "Button (A)"), "Text")); textfromGameObject21.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilismPrompt3; GameObject gameObjectChild12 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Nihilism"), "Choices Box (5)"); Text textfromGameObject22 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild12, "Button (A)"), "Text")); textfromGameObject22.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilismPrompt4; GameObject gameObjectChild13 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Nihilism"), "Choices Box (6)"); Text textfromGameObject23 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild13, "Button (A)"), "Text")); textfromGameObject23.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilismPrompt5; GameObject gameObjectChild14 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Nihilism"), "Choices Box (7)"); Text textfromGameObject24 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild14, "Button (A)"), "Text")); textfromGameObject24.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilismPrompt6; GameObject gameObjectChild15 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Nihilism"), "Choices Box (8)"); Text textfromGameObject25 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild15, "Button (A)"), "Text")); textfromGameObject25.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilismPrompt7; GameObject gameObjectChild16 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Nihilism"), "Choices Box (9)"); Text textfromGameObject26 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild16, "Button (A)"), "Text")); textfromGameObject26.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilismPrompt8; GameObject gameObjectChild17 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Nihilism"), "Choices Box (10)"); Text textfromGameObject27 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild17, "Button (A)"), "Text")); textfromGameObject27.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilismPrompt9; GameObject gameObjectChild18 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Nihilism"), "Choices Box (11)"); Text textfromGameObject28 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild18, "Button (A)"), "Text")); textfromGameObject28.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilismPrompt10; GameObject gameObjectChild19 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Nihilism"), "Choices Box (12)"); Text textfromGameObject29 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild19, "Button (A)"), "Text")); textfromGameObject29.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilismPrompt11; GameObject gameObjectChild20 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Nihilism"), "Choices Box (13)"); Text textfromGameObject30 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild20, "Button (A)"), "Text")); textfromGameObject30.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilismPrompt12; GameObject gameObjectChild21 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Nihilism"), "Choices Box (14)"); Text textfromGameObject31 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild21, "Button (A)"), "Text")); textfromGameObject31.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilismPrompt13; GameObject gameObjectChild22 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Nihilism"), "Choices Box (16)"); Text textfromGameObject32 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild22, "Button (A)"), "Text")); textfromGameObject32.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilismPrompt14; GameObject gameObjectChild23 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Nihilism"), "Choices Box (17)"); Text textfromGameObject33 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild23, "Button (A)"), "Text")); textfromGameObject33.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilismPrompt15; GameObject gameObjectChild24 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Nihilism"), "Choices Box (18)"); Text textfromGameObject34 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild24, "Button (A)"), "Text")); textfromGameObject34.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilismPrompt16; GameObject gameObjectChild25 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Nihilism"), "Choices Box (19)"); Text textfromGameObject35 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild25, "Button (A)"), "Text")); textfromGameObject35.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilismPrompt17; GameObject gameObjectChild26 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Nihilism"), "Choices Box (20)"); Text textfromGameObject36 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild26, "Button (A)"), "Text")); textfromGameObject36.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilismPrompt18; GameObject gameObjectChild27 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Nihilism"), "Choices Box (21)"); Text textfromGameObject37 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild27, "Button (A)"), "Text")); textfromGameObject37.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilismPrompt19; GameObject gameObjectChild28 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Nihilism"), "Choices Box (22)"); Text textfromGameObject38 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild28, "Button (A)"), "Text")); textfromGameObject38.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilismPrompt20; GameObject gameObjectChild29 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Nihilism"), "Choices Box (25)"); Text textfromGameObject39 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild29, "Button (A)"), "Text")); textfromGameObject39.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilismPrompt21; GameObject gameObjectChild30 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Nihilism"), "Choices Box (23)"); Text textfromGameObject40 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild30, "Button (A)"), "Text")); textfromGameObject40.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilismPrompt22; GameObject gameObjectChild31 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Nihilism"), "Choices Box (24)"); Text textfromGameObject41 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild31, "Button (A)"), "Text")); textfromGameObject41.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilismPrompt23; GameObject gameObjectChild32 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Conclusion"), "Choices Box (2)"); Text textfromGameObject42 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild32, "Button (A)"), "Text")); Text textfromGameObject43 = CommonFunctions.GetTextfromGameObject(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild32, "Button (B)"), "Text")); textfromGameObject42.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_conclusionPrompt1; textfromGameObject43.text = LanguageManager.CurrentLanguage.visualnovel.visualnovel_conclusionPrompt2; } public static string GetNextString(string inputString) { if (inputString.Contains("Heavy steps")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_introFirst1 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_introFirst2 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_introFirst3 + "▼\n\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_introFirst4 + "▼\n\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_introFirst5 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_introFirst6 + "▼\n\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_introFirst7 + "▼\n"; } if (inputString.Contains("I bit down")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_introSecond1 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_introSecond2 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_introSecond3 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_introSecond4 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_introSecond5 + "▼}\n\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_introSecond6 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_introSecond7 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_introSecond8 + "▼"; } if (inputString.Contains("Oof ow")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_fallen1 + "▼"; } if (inputString.Contains("I'm just someone")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_fallenResponseFirst + "▼"; } if (inputString.Contains("Well I just got")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_fallenResponseSecond + "▼"; } if (inputString.Contains("Oh great")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_fallenResponseThird1 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_fallenResponseThird2 + "▼"; } if (inputString.Contains("Alright, alright")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_fallenResponseFourth + "▼"; } if (inputString.Contains("UGH?")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_fallenResponseFifth + "▼"; } if (inputString.Contains("*Sigh*")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_kindFirst1 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_kindFirst2 + "▼"; } if (inputString.Contains("Though, by the")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_kindSecond + "▼"; } if (inputString.Contains("So how about you")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_kindThird + "▼"; } if (inputString.Contains("Listen up,")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_rudeFirst1 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_rudeFirst2 + "▼"; } if (inputString.Contains("By the looks of it")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_rudeSecond + "▼"; } if (inputString.Contains("So I'll forgive you")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_rudeThird + "▼"; } if (inputString.Contains("UGH!")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_middleResponseFirst1 + "▼"; } if (inputString.Contains("Though in retrospect")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_middleResponseFirst2 + "▼"; } if (inputString.Contains("Oh well,")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_middleResponseFirst3 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_middleResponseFirst4 + "▼\n"; } if (inputString.Contains("I'm Mirage.")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_middleResponseFirst5 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_middleResponseFirst6 + "▼"; } if (inputString.Contains("WHAT?")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_middleResponseSecond1 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_middleResponseSecond2 + "▼"; } if (inputString.Contains("If you DON'T")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_middleResponseSecond3 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_middleResponseSecond4 + "▼"; } if (inputString.Contains("Bullshit!")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_middleResponseThird1 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_middleResponseThird2 + "▼"; } if (inputString.Contains("Though considering")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_middleResponseThird3 + "▼"; } if (inputString.Contains("Wandering around like")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_waitingFirst + "▼"; } if (inputString.Contains("Since we were")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_waitingSecond + "▼"; } if (inputString.Contains("Therefore,")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_waitingThird1 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_waitingThird2 + "▼"; } if (inputString.Contains("Suit yourself")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_waitingResponseFirst1 + "▼\n"; } if (inputString.Contains("Couldn't care less")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_waitingResponseFirst2 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_waitingResponseFirst3 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_waitingResponseFirst4 + "▼"; } if (inputString.Contains("Hah!")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_waitingResponseSecond1 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_waitingResponseSecond2 + "▼"; } if (inputString.Contains("Because nothing")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_waitingResponseThird1 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_waitingResponseThird2 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_waitingResponseThird3 + "▼"; } if (inputString.Contains("Yeah?")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_recklessnessFirst + "▼"; } if (inputString.Contains("But yes,")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_recklessnessSecond1 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_recklessnessSecond2 + "▼"; } if (inputString.Contains("What's the point of making")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_recklessnessResponseFirst1 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_recklessnessResponseFirst2 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_recklessnessResponseFirst3 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_recklessnessResponseFirst4 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_recklessnessResponseFirst5 + "▼\n"; } if (inputString.Contains("Don't flatter yourself")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_recklessnessResponseSecond1 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_recklessnessResponseSecond2 + "▼"; } if (inputString.Contains("Everything.")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_recklessnessResponseThird + "▼"; } if (inputString.Contains("I mean really")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism1 + "▼"; } if (inputString.Contains("The human mind")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism2 + "▼"; } if (inputString.Contains("We can only ever")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism3 + "▼"; } if (inputString.Contains("Death is")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism4 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism5 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism6 + "▼"; } if (inputString.Contains("It doesn't matter")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism7 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism8 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism9 + "▼"; } if (inputString.Contains("Human intelligence")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism10 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism11 + "▼"; } if (inputString.Contains("Our intelligence")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism12 + "▼"; } if (inputString.Contains("It's an over-extension")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism13 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism14 + "▼\n"; } if (inputString.Contains("Much like the Irish")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism15 + "▼"; } if (inputString.Contains("The human mind is an")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism16 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism17 + "▼\n"; } if (inputString.Contains("Existential dread")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism18 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism19 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism20 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism21 + "▼"; } if (inputString.Contains("We are unable")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism22 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism23 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism24 + "▼"; } if (inputString.Contains("We create distractions")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism25 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism26 + "▼"; } if (inputString.Contains("We sublimate it")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism27 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism28 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism29 + "▼"; } if (inputString.Contains("But these ways")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism30 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism31 + "▼"; } if (inputString.Contains("In the end")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism32 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism33 + "▼"; } if (inputString.Contains("Huh?")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism34 + "▼"; } if (inputString.Contains("How could it not be?")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism35 + "▼"; } if (inputString.Contains("But still")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism36 + "▼"; } if (inputString.Contains("I do understand")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism37 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism38 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism39 + "▼"; } if (inputString.Contains("I see.")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism40 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism41 + "▼"; } if (inputString.Contains("I understand it logically")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism42 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_nihilism43 + "▼"; } if (inputString.Contains("Well I'll be damned")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_conclusion1 + "▼"; } if (inputString.Contains("Guess you got a good")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_conclusion2 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_conclusion3 + "▼"; } if (inputString.Contains("Man...")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_conclusion4 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_conclusion5 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_conclusion6 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_conclusion7 + "▼"; } if (inputString.Contains("Thank you.")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_conclusion8 + "▼\n"; } if (inputString.Contains("You've given me a lot")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_conclusion9 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_conclusion10 + "▼\n"; } if (inputString.Contains("Say...")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_conclusion11 + "▼"; } if (inputString.Contains("Oh, you sneaky")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_conclusionResponseFirst1 + "▼"; } if (inputString.Contains("But alright")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_conclusionResponseFirst2 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_conclusionResponseFirst3 + "▼"; } if (inputString.Contains("Alright, suit yourself")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_conclusionResponseSecond1 + "▼\n" + LanguageManager.CurrentLanguage.visualnovel.visualnovel_conclusionResponseSecond2 + "▼"; } if (inputString.Contains("See you around")) { return LanguageManager.CurrentLanguage.visualnovel.visualnovel_conclusionResponseSecond3 + "▼"; } return inputString; } } public static class Act2 { private static void PatchHellmap(ref GameObject canvasObj) { GameObject gameObjectChild = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(canvasObj, "Hellmap"), "Hellmap Act 2"); TextMeshProUGUI textMeshProUGUI = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(gameObjectChild, "Text")); ((TMP_Text)textMeshProUGUI).text = LanguageManager.CurrentLanguage.misc.hellmap_greed; TextMeshProUGUI textMeshProUGUI2 = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(gameObjectChild, "Text (1)")); ((TMP_Text)textMeshProUGUI2).text = LanguageManager.CurrentLanguage.misc.hellmap_wrath; TextMeshProUGUI textMeshProUGUI3 = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(gameObjectChild, "Text (2)")); ((TMP_Text)textMeshProUGUI3).text = LanguageManager.CurrentLanguage.misc.hellmap_heresy; } public static void PatchAct2(ref GameObject canvasObj) { string currentSceneName = CommonFunctions.GetCurrentSceneName(); string levelName = Act2Strings.GetLevelName(); string levelChallenge = Act2Strings.GetLevelChallenge(currentSceneName); CommonFunctions.PatchResultsScreen(levelName, levelChallenge); PatchHellmap(ref canvasObj); } } public static class Act2Strings { private static string _previousMessage = ""; private static string Level41() { return "Unknown 4-1 string"; } private static string Level42(string message, string message2) { string text = message + message2; if (text.Contains("BLEED")) { return LanguageManager.CurrentLanguage.act2.act2_greedSecond_sand; } return "Unknown 4-2 string"; } private static string Level43(string message, string message2) { string text = message + message2; if (text.Contains("FILTH")) { return LanguageManager.CurrentLanguage.act2.act2_greedThird_wallClip; } if (text.Contains("wicked")) { return LanguageManager.CurrentLanguage.act2.act2_greedThird_troll1; } if (text.Contains("kidding")) { return LanguageManager.CurrentLanguage.act2.act2_greedThird_troll2; } if (text.Contains("TOMB")) { return LanguageManager.CurrentLanguage.act2.act2_greedThird_tombOfKings; } return "Unknown 4-3 string"; } private static string Level44(string message, string message2, string input) { string text = message + message2; if (text == "") { return _previousMessage; } if (text.Contains("ALTERNATE")) { return LanguageManager.CurrentLanguage.act1.act1_limboFourth_alternateRevolver; } if (text.Contains("You're")) { return LanguageManager.CurrentLanguage.act2.act2_greedFourth_v2; } if (text.Contains("Hold")) { _previousMessage = LanguageManager.CurrentLanguage.act2.act2_greedFourth_whiplash1 + " <color=orange>" + input + "</color> " + LanguageManager.CurrentLanguage.act2.act2_greedFourth_whiplash2; return LanguageManager.CurrentLanguage.act2.act2_greedFourth_whiplash1 + " <color=orange>" + input + "</color> " + LanguageManager.CurrentLanguage.act2.act2_greedFourth_whiplash2; } if (text.Contains("HEAVY")) { _previousMessage = LanguageManager.CurrentLanguage.act2.act2_greedFourth_whiplash3; return LanguageManager.CurrentLanguage.act2.act2_greedFourth_whiplash3; } if (text.Contains("HARD DAMAGE")) { _previousMessage = LanguageManager.CurrentLanguage.act2.act2_greedFourth_whiplashHardDamage1 + "\n" + LanguageManager.CurrentLanguage.act2.act2_greedFourth_whiplashHardDamage2; return LanguageManager.CurrentLanguage.act2.act2_greedFourth_whiplashHardDamage1 + "\n" + LanguageManager.CurrentLanguage.act2.act2_greedFourth_whiplashHardDamage2; } return "Unknown 4-4 string"; } private static string Level4Secret(string message, string message2, string input) { string text = message + message2; if (text.Contains("HOLD")) { return LanguageManager.CurrentLanguage.act2.act2_greedSecret_holdToJump1 + "<color=orange> " + input + " </color>" + LanguageManager.CurrentLanguage.act2.act2_greedSecret_holdToJump2; } return LanguageManager.CurrentLanguage.act2.act2_greedSecret_holdToJump1 + "<color=orange> " + input + " </color>" + LanguageManager.CurrentLanguage.act2.act2_greedSecret_holdToJump2; } private static string Level51(string message, string message2) { string text = message + message2; if (text.Contains("HOOKPOINT")) { return LanguageManager.CurrentLanguage.act2.act2_wrathFirst_slingshot; } if (text.Contains("WHIPLASH")) { return LanguageManager.CurrentLanguage.act2.act2_wrathFirst_whiplashUnderwater; } if (text.Contains("SENTRIES")) { return LanguageManager.CurrentLanguage.act2.act2_wrathFirst_sentry; } if (text.Contains("drained")) { return LanguageManager.CurrentLanguage.act2.act2_wrathFirst_waterDrained; } return "Unknown 5-1 string"; } private static string Level52(string message, string message2) { string text = message + message2; if (text.Contains("JAKITO")) { return LanguageManager.CurrentLanguage.act2.act2_wrathSecond_jakito1; } if (text.Contains("THANK")) { return LanguageManager.CurrentLanguage.act2.act2_wrathSecond_jakito2; } if (text.Contains("NO")) { return LanguageManager.CurrentLanguage.act2.act2_wrathSecond_jakito3; } if (text.Contains("Hark")) { return LanguageManager.CurrentLanguage.act2.act2_wrathSecond_neptune; } if (text.Contains("IDOL")) { return LanguageManager.CurrentLanguage.act2.act2_wrathSecond_idol; } return "Unknown 5-2 string"; } private static string Level53(string message, string message2) { string text = message + message2; if (text.Contains("Indirect")) { return LanguageManager.CurrentLanguage.act2.act2_wrathThird_rocketLauncher; } if (text.Contains("FALLING")) { return LanguageManager.CurrentLanguage.act2.act2_wrathThird_rocketLauncherMidair; } if (text.Contains("Soldiers")) { return LanguageManager.CurrentLanguage.act2.act2_wrathThird_soldierBlock; } if (text.Contains("Hank")) { return LanguageManager.CurrentLanguage.act2.act2_wrathThird_hank; } return "Unknown 5-3 string"; } private static string Level54() { return "Unknown 5-4 string"; } private static string Level5Secret(string message) { if (message.Contains("living")) { return LanguageManager.CurrentLanguage.fishing.fish_living; } if (message.Contains("Too small")) { return LanguageManager.CurrentLanguage.fishing.fish_tooSmall; } if (message.Contains("This bait")) { return LanguageManager.CurrentLanguage.fishing.fish_baitNotWork; } if (message.Contains("A fish took")) { return LanguageManager.CurrentLanguage.fishing.fish_baitTaken; } if (message.Contains("Fishing interrupted")) { return LanguageManager.CurrentLanguage.fishing.fish_interrupted; } if (message.Contains("Cooking failed")) { return LanguageManager.CurrentLanguage.fishing.fish_cookingFailed; } if (message.Contains("Nothing seems")) { return LanguageManager.CurrentLanguage.fishing.fish_noFishBiting; } return "Unknown 5-S string"; } private static string Level61(string message, string message2) { string text = message + message2; if (text.Contains("A R M B O Y")) { return LanguageManager.CurrentLanguage.act2.act2_heresyFirst_armboy; } return "Unknown 6-1 string"; } private static string Level62() { return "Unknown 6-2 string"; } public static string GetMessage(string message, string message2, string input) { string currentSceneName = CommonFunctions.GetCurrentSceneName(); string text = message + message2; if (text.Contains("opens")) { return LanguageManager.CurrentLanguage.act2.act2_greed_secretDoor; } if (text.Contains("YOU'RE")) { return LanguageManager.CurrentLanguage.act2.act2_secretNotReady; } return currentSceneName switch { "Level 4-1" => Level41(), "Level 4-2" => Level42(message, message2), "Level 4-3" => Level43(message, message2), "Level 4-4" => Level44(message, message2, input), "Level 4-S" => Level4Secret(message, message2, input), "Level 5-1" => Level51(message, message2), "Level 5-2" => Level52(message, message2), "Level 5-3" => Level53(message, message2), "Level 5-4" => Level54(), "Level 5-S" => Level5Secret(message), "Level 6-1" => Level61(message, message2), "Level 6-2" => Level62(), _ => "Unimplemented Act 2 string", }; } public static string GetLevelChallenge(string currentLevel) { return currentLevel switch { "Level 4-1" => LanguageManager.CurrentLanguage.levelChallenges.challenges_greedFirst, "Level 4-2" => LanguageManager.CurrentLanguage.levelChallenges.challenges_greedSecond, "Level 4-3" => LanguageManager.CurrentLanguage.levelChallenges.challenges_greedThird, "Level 4-4" => LanguageManager.CurrentLanguage.levelChallenges.challenges_greedFourth, "Level 5-1" => LanguageManager.CurrentLanguage.levelChallenges.challenges_wrathFirst, "Level 5-2" => LanguageManager.CurrentLanguage.levelChallenges.challenges_wrathSecond, "Level 5-3" => LanguageManager.CurrentLanguage.levelChallenges.challenges_wrathThird, "Level 5-4" => LanguageManager.CurrentLanguage.levelChallenges.challenges_wrathFourth, "Level 6-1" => LanguageManager.CurrentLanguage.levelChallenges.challenges_heresyFirst, "Level 6-2" => LanguageManager.CurrentLanguage.levelChallenges.challenges_heresySecond, _ => "Unknown challenge description", }; } public static string GetLevelName() { return CommonFunctions.GetCurrentSceneName() switch { "Level 4-1" => "4-1 - " + LanguageManager.CurrentLanguage.levelNames.levelName_greedFirst, "Level 4-2" => "4-2 - " + LanguageManager.CurrentLanguage.levelNames.levelName_greedSecond, "Level 4-3" => "4-3 - " + LanguageManager.CurrentLanguage.levelNames.levelName_greedThird, "Level 4-4" => "4-4 - " + LanguageManager.CurrentLanguage.levelNames.levelName_greedFourth, "Level 5-1" => "5-1 - " + LanguageManager.CurrentLanguage.levelNames.levelName_wrathFirst, "Level 5-2" => "5-2 - " + LanguageManager.CurrentLanguage.levelNames.levelName_wrathSecond, "Level 5-3" => "5-3 - " + LanguageManager.CurrentLanguage.levelNames.levelName_wrathThird, "Level 5-4" => "5-4 - " + LanguageManager.CurrentLanguage.levelNames.levelName_wrathFourth, "Level 6-1" => "6-1 - " + LanguageManager.CurrentLanguage.levelNames.levelName_heresyFirst, "Level 6-2" => "6-2 - " + LanguageManager.CurrentLanguage.levelNames.levelName_heresySecond, _ => "Unknown level name", }; } } public static class Act3 { private static void PatchHellmap(ref GameObject canvasObj) { GameObject gameObjectChild = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(canvasObj, "Hellmap"), "Hellmap Act 3"); TextMeshProUGUI textMeshProUGUI = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(gameObjectChild, "Text")); ((TMP_Text)textMeshProUGUI).text = LanguageManager.CurrentLanguage.misc.hellmap_violence; TextMeshProUGUI textMeshProUGUI2 = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(gameObjectChild, "Text (1)")); ((TMP_Text)textMeshProUGUI2).text = LanguageManager.CurrentLanguage.misc.hellmap_fraud; TextMeshProUGUI textMeshProUGUI3 = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(gameObjectChild, "Text (2)")); ((TMP_Text)textMeshProUGUI3).text = LanguageManager.CurrentLanguage.misc.hellmap_treachery; } public static void PatchAct3(ref GameObject canvasObj) { string currentSceneName = CommonFunctions.GetCurrentSceneName(); string levelName = Act3Strings.GetLevelName(); string levelChallenge = Act3Strings.GetLevelChallenge(currentSceneName); CommonFunctions.PatchResultsScreen(levelName, levelChallenge); PatchHellmap(ref canvasObj); } } public static class Act3Strings { public static string Level71() { return "Unknown 7-1 string"; } public static string Level72() { return "Unknown 7-2 string"; } public static string Level73() { return "Unknown 7-3 string"; } public static string Level74() { return "Unknown 7-4 string"; } public static string Level7Secret() { return "Unknown 7-S string"; } public static string Level81() { return "Unknown 8-1 string"; } public static string Level82() { return "Unknown 8-2 string"; } public static string Level83() { return "Unknown 8-3 string"; } public static string Level84() { return "Unknown 8-4 string"; } public static string Level8Secret() { return "Unknown 8-S string"; } public static string Level91() { return "Unknown 9-1 string"; } public static string Level92() { return "Unknown 9-2 string"; } public static string GetMessage(string message, string message2, string input) { string currentSceneName = CommonFunctions.GetCurrentSceneName(); string text = message + message2; return currentSceneName switch { "Level 7-1" => Level71(), "Level 7-2" => Level72(), "Level 7-3" => Level73(), "Level 7-4" => Level74(), "Level 7-S" => Level7Secret(), "Level 8-1" => Level81(), "Level 8-2" => Level82(), "Level 8-3" => Level83(), "Level 8-4" => Level84(), "Level 8-S" => Level8Secret(), "Level 9-1" => Level91(), "Level 9-2" => Level92(), _ => "Unimplemented Act 3 string", }; } public static string GetLevelChallenge(string currentLevel) { return currentLevel switch { "Level 7-1" => LanguageManager.CurrentLanguage.levelChallenges.challenges_violenceFirst, "Level 7-2" => LanguageManager.CurrentLanguage.levelChallenges.challenges_violenceSecond, "Level 7-3" => LanguageManager.CurrentLanguage.levelChallenges.challenges_violenceThird, "Level 7-4" => LanguageManager.CurrentLanguage.levelChallenges.challenges_violenceFourth, "Level 8-1" => LanguageManager.CurrentLanguage.levelChallenges.challenges_fraudFirst, "Level 8-2" => LanguageManager.CurrentLanguage.levelChallenges.challenges_fraudSecond, "Level 8-3" => LanguageManager.CurrentLanguage.levelChallenges.challenges_fraudThird, "Level 8-4" => LanguageManager.CurrentLanguage.levelChallenges.challenges_fraudFourth, "Level 9-1" => LanguageManager.CurrentLanguage.levelChallenges.challenges_treacheryFirst, "Level 9-2" => LanguageManager.CurrentLanguage.levelChallenges.challenges_treacherySecond, _ => "Unknown challenge description", }; } public static string GetLevelName() { return CommonFunctions.GetCurrentSceneName() switch { "Level 7-1" => "7-1 - " + LanguageManager.CurrentLanguage.levelNames.levelName_violenceFirst, "Level 7-2" => "7-2 - " + LanguageManager.CurrentLanguage.levelNames.levelName_violenceSecond, "Level 7-3" => "7-3 - " + LanguageManager.CurrentLanguage.levelNames.levelName_violenceThird, "Level 7-4" => "7-4 - " + LanguageManager.CurrentLanguage.levelNames.levelName_violenceFourth, "Level 8-1" => "8-1 - " + LanguageManager.CurrentLanguage.levelNames.levelName_fraudFirst, "Level 8-2" => "8-2 - " + LanguageManager.CurrentLanguage.levelNames.levelName_fraudSecond, "Level 8-3" => "8-3 - " + LanguageManager.CurrentLanguage.levelNames.levelName_fraudThird, "Level 8-4" => "8-4 - " + LanguageManager.CurrentLanguage.levelNames.levelName_fraudFourth, "Level 9-1" => "9-1 - " + LanguageManager.CurrentLanguage.levelNames.levelName_treacheryFirst, "Level 9-2" => "9-2 - " + LanguageManager.CurrentLanguage.levelNames.levelName_treacherySecond, _ => "Unknown level name", }; } } public static class Books { public static string GetBookText(string originalText) { switch (CommonFunctions.GetCurrentSceneName()) { case "CreditsMuseum2": return DevMuseum.GetMuseumBook(originalText); case "Level 1-4": return "<b>" + LanguageManager.CurrentLanguage.books.books_limboFourth1 + "</b>\n\n<i>" + LanguageManager.CurrentLanguage.books.books_limboFourth2 + "\n\n" + LanguageManager.CurrentLanguage.books.books_limboFourth3 + "\n\n" + LanguageManager.CurrentLanguage.books.books_limboFourth4 + "</i>\n\n<b>" + LanguageManager.CurrentLanguage.books.books_limboFourth5 + "</b>"; case "Level 2-2": return "<b>" + LanguageManager.CurrentLanguage.books.books_lustSecond1 + "</b>\n\n<i>" + LanguageManager.CurrentLanguage.books.books_lustSecond2 + "\n\n" + LanguageManager.CurrentLanguage.books.books_lustSecond3 + "\n\n" + LanguageManager.CurrentLanguage.books.books_lustSecond4 + "</i>\n\n<b>" + LanguageManager.CurrentLanguage.books.books_lustSecond5 + "</b>"; case "Level 4-2": return "<b>" + LanguageManager.CurrentLanguage.books.books_greedSecond1 + "</b>\n\n<i>" + LanguageManager.CurrentLanguage.books.books_greedSecond2 + "\n\n" + LanguageManager.CurrentLanguage.books.books_greedSecond3 + "\n\n" + LanguageManager.CurrentLanguage.books.books_greedSecond4 + "\n\n" + LanguageManager.CurrentLanguage.books.books_greedSecond5 + "</i>\n\n<b>" + LanguageManager.CurrentLanguage.books.books_greedSecond6 + "</b>\n"; case "Level 4-3": return LanguageManager.CurrentLanguage.books.books_greedThird1 + "\n\n" + LanguageManager.CurrentLanguage.books.books_greedThird2 + "\n\n" + LanguageManager.CurrentLanguage.books.books_greedThird3 + "\n\n" + LanguageManager.CurrentLanguage.books.books_greedThird4 + "\n\n"; case "Level 5-2": return "<b>" + LanguageManager.CurrentLanguage.books.books_wrathSecond1 + "</b>\n\n<b>" + LanguageManager.CurrentLanguage.books.books_wrathSecond2 + "</b>\n\n" + LanguageManager.CurrentLanguage.books.books_wrathSecond3 + "\n\n" + LanguageManager.CurrentLanguage.books.books_wrathSecond4 + "\n\n" + LanguageManager.CurrentLanguage.books.books_wrathSecond5 + "\n\n<i>" + LanguageManager.CurrentLanguage.books.books_wrathSecond6 + "</i>\n\n" + LanguageManager.CurrentLanguage.books.books_wrathSecond7 + "\n\n" + LanguageManager.CurrentLanguage.books.books_wrathSecond8 + "\n\n<b>" + LanguageManager.CurrentLanguage.books.books_wrathSecond9 + "</b>"; case "Level 5-S": if (originalText.Contains("DAY 529")) { return LanguageManager.CurrentLanguage.fishing.fish_book1 + "\n\n" + LanguageManager.CurrentLanguage.fishing.fish_book2 + "\n" + LanguageManager.CurrentLanguage.fishing.fish_book3 + "\n" + LanguageManager.CurrentLanguage.fishing.fish_book4 + "\n" + LanguageManager.CurrentLanguage.fishing.fish_book8 + "\n\n" + LanguageManager.CurrentLanguage.fishing.fish_book5 + "\n" + LanguageManager.CurrentLanguage.fishing.fish_book6 + "\n" + LanguageManager.CurrentLanguage.fishing.fish_book7 + "\n\n" + LanguageManager.CurrentLanguage.fishing.fish_book8 + "\n\n" + LanguageManager.CurrentLanguage.fishing.fish_book7 + "\n" + LanguageManager.CurrentLanguage.fishing.fish_book8 + "\n\n" + LanguageManager.CurrentLanguage.fishing.fish_book7 + " " + LanguageManager.CurrentLanguage.fishing.fish_book8 + "\n\n<size=47>" + LanguageManager.CurrentLanguage.fishing.fish_book9 + "</size>\n<size=45>" + LanguageManager.CurrentLanguage.fishing.fish_book9 + "</size>\n<size=43>" + LanguageManager.CurrentLanguage.fishing.fish_book9 + "</size>\n<size=41>" + LanguageManager.CurrentLanguage.fishing.fish_book9 + "</size>\n<size=39>" + LanguageManager.CurrentLanguage.fishing.fish_book9 + "</size>\n<size=37>" + LanguageManager.CurrentLanguage.fishing.fish_book9 + "</size>\n<size=35>" + LanguageManager.CurrentLanguage.fishing.fish_book9 + "</size>\n<size=33>" + LanguageManager.CurrentLanguage.fishing.fish_book9 + "</size>\n<size=31>" + LanguageManager.CurrentLanguage.fishing.fish_book9 + "</size>\n<size=29>" + LanguageManager.CurrentLanguage.fishing.fish_book9 + "</size>\n<size=27>" + LanguageManager.CurrentLanguage.fishing.fish_book9 + "</size>\n<size=25>" + LanguageManager.CurrentLanguage.fishing.fish_book9 + "</size>\n<size=23>" + LanguageManager.CurrentLanguage.fishing.fish_book9 + "</size>\n<size=21>" + LanguageManager.CurrentLanguage.fishing.fish_book9 + "</size>\n<size=19>" + LanguageManager.CurrentLanguage.fishing.fish_book9 + "</size>\n<size=17>" + LanguageManager.CurrentLanguage.fishing.fish_book9 + "</size>\n<size=15>" + LanguageManager.CurrentLanguage.fishing.fish_book9 + "</size>\n<size=13>" + LanguageManager.CurrentLanguage.fishing.fish_book9 + "</size>\n<size=11>" + LanguageManager.CurrentLanguage.fishing.fish_book9 + "</size>\n<size=9>" + LanguageManager.CurrentLanguage.fishing.fish_book9 + "</size>\n<size=7>" + LanguageManager.CurrentLanguage.fishing.fish_book9 + "</size>\n<size=5>" + LanguageManager.CurrentLanguage.fishing.fish_book9 + "</size>\n<size=3>" + LanguageManager.CurrentLanguage.fishing.fish_book9 + "</size>\n<size=1>" + LanguageManager.CurrentLanguage.fishing.fish_book9 + "</size>\n\n" + LanguageManager.CurrentLanguage.fishing.fish_book10; } return LanguageManager.CurrentLanguage.fishing.fish_bottleMessage1 + "\n\n\n" + LanguageManager.CurrentLanguage.fishing.fish_bottleMessage2 + "\n\n\n" + LanguageManager.CurrentLanguage.fishing.fish_bottleMessage3 + "\n\n\n" + LanguageManager.CurrentLanguage.fishing.fish_bottleMessage4 + "\n\n\n" + LanguageManager.CurrentLanguage.fishing.fish_bottleMessage5 + "\n\n\n" + LanguageManager.CurrentLanguage.fishing.fish_bottleMessage6 + "\n\n\n"; default: return "Unknown book"; } } } public static class BossStrings { public static string GetBossName(string originalBossName) { Logging.Warn(originalBossName); return EnemyBios.GetName(originalBossName.ToUpper()); } } public static class Cheats { public static void PatchCheatConsentPanel(ref GameObject canvasObj) { //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Expected O, but got Unknown GameObject gameObjectChild = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(canvasObj, "Cheat Menu"), "Cheats Consent"), "Panel"); GameObject gameObjectChild2 = CommonFunctions.GetGameObjectChild(gameObjectChild, "Text"); TextMeshProUGUI textMeshProUGUI = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(gameObjectChild, "Text")); ((TMP_Text)textMeshProUGUI).text = LanguageManager.CurrentLanguage.cheats.cheats_disclaimer1 + "\n\n" + LanguageManager.CurrentLanguage.cheats.cheats_disclaimer2; TextMeshProUGUI textMeshProUGUI2 = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Yes"), "Text")); ((TMP_Text)textMeshProUGUI2).text = LanguageManager.CurrentLanguage.cheats.cheats_disclaimerYes; ((TMP_Text)textMeshProUGUI2).fontSize = 22f; TextMeshProUGUI textMeshProUGUI3 = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "No"), "Text")); ((TMP_Text)textMeshProUGUI3).text = LanguageManager.CurrentLanguage.cheats.cheats_disclaimerNo; GameObject gameObjectChild3 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(canvasObj, "Cheat Menu"), "Cheats Manager"); TextMeshProUGUI textMeshProUGUI4 = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(gameObjectChild3, "Title")); ((TMP_Text)textMeshProUGUI4).text = LanguageManager.CurrentLanguage.cheats.cheats_panelTitle; Component[] components = gameObjectChild2.GetComponents(typeof(Component)); Behaviour val = (Behaviour)components[3]; val.enabled = false; GameObject gameObjectChild4 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(canvasObj, "Cheat Menu"), "Cheats Overlay"), "Cheats Enabled"); TextMeshProUGUI textMeshProUGUI5 = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(gameObjectChild4, "Title")); ((TMP_Text)textMeshProUGUI5).text = LanguageManager.CurrentLanguage.cheats.cheats_cheatsEnabled; TextMeshProUGUI textMeshProUGUI6 = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(canvasObj, "Cheat Menu"), "Cheats Teleport"), "Title")); ((TMP_Text)textMeshProUGUI6).text = LanguageManager.CurrentLanguage.cheats.cheats_teleportMenu; } public static string GetCheatStatus(string cheatStatus) { if (cheatStatus == null) { return null; } try { return cheatStatus switch { "STAY ACTIVE" => LanguageManager.CurrentLanguage.cheats.cheats_stayActive, "DISABLE ON RELOAD" => LanguageManager.CurrentLanguage.cheats.cheats_disableOnReload, "EQUIP" => LanguageManager.CurrentLanguage.cheats.cheats_equip, "REMOVE" => LanguageManager.CurrentLanguage.cheats.cheats_remove, "OPEN" => LanguageManager.CurrentLanguage.cheats.cheats_open, "KILL ALL" => LanguageManager.CurrentLanguage.cheats.cheats_killAll, "STATIC" => LanguageManager.CurrentLanguage.cheats.cheats_static, "DYNAMIC" => LanguageManager.CurrentLanguage.cheats.cheats_dynamic, "REBUILD" => LanguageManager.CurrentLanguage.cheats.cheats_rebuild, "REBUILDING..." => LanguageManager.CurrentLanguage.cheats.cheats_rebuilding, _ => null, }; } catch (Exception e) { CommonFunctions.HandleError(e, cheatStatus); return ""; } } public static string GetCheatName(string cheatIdentifier) { try { return cheatIdentifier switch { "ultrakill.keep-enabled" => LanguageManager.CurrentLanguage.cheats.cheats_keepEnabled, "ultrakill.spawner-arm" => LanguageManager.CurrentLanguage.cheats.cheats_spawnerArm, "ultrakill.teleport-menu" => LanguageManager.CurrentLanguage.cheats.cheats_teleportMenu, "ultrakill.full-bright" => LanguageManager.CurrentLanguage.cheats.cheats_fullBright, "ultrakill.noclip" => LanguageManager.CurrentLanguage.cheats.cheats_noclip, "ultrakill.flight" => LanguageManager.CurrentLanguage.cheats.cheats_flight, "ultrakill.infinite-wall-jumps" => LanguageManager.CurrentLanguage.cheats.cheats_infiniteWallJumps, "ultrakill.no-weapon-cooldown" => LanguageManager.CurrentLanguage.cheats.cheats_noWeaponCooldown, "ultrakill.infinite-power-ups" => LanguageManager.CurrentLanguage.cheats.cheats_infinitePowerUps, "ultrakill.blind-enemies" => LanguageManager.CurrentLanguage.cheats.cheats_blindEnemies, "ultrakill.disable-enemy-spawns" => LanguageManager.CurrentLanguage.cheats.cheats_disableEnemySpawns, "ultrakill.invincible-enemies" => LanguageManager.CurrentLanguage.cheats.cheats_invincibleEnemies, "ultrakill.kill-all-enemies" => LanguageManager.CurrentLanguage.cheats.cheats_killAllEnemies, "ultrakill.sandbox.quick-save" => LanguageManager.CurrentLanguage.cheats.cheats_quickSave, "ultrakill.sandbox.quick-load" => LanguageManager.CurrentLanguage.cheats.cheats_quickLoad, "ultrakill.sandbox.save-menu" => LanguageManager.CurrentLanguage.cheats.cheats_saveMenu, "ultrakill.sandbox.clear" => LanguageManager.CurrentLanguage.cheats.cheats_clear, "ultrakill.sandbox.rebuild-nav" => LanguageManager.CurrentLanguage.cheats.cheats_rebuildNav, "ultrakill.sandbox.snapping" => LanguageManager.CurrentLanguage.cheats.cheats_snapping, "ultrakill.sandbox.physics" => LanguageManager.CurrentLanguage.cheats.cheats_physics, "ultrakill.clash-mode" => LanguageManager.CurrentLanguage.cheats.cheats_crashMode, _ => cheatIdentifier, }; } catch (Exception e) { CommonFunctions.HandleError(e, cheatIdentifier); return ""; } } } public static class CommonFunctions { public static ColorBlock UkButtonColors; public static string PreviousHudMessage; public static bool isUsingEnglish() { return LanguageManager.CurrentLanguage.metadata.langDisplayName == "English"; } public static IEnumerator WaitforSeconds(float seconds) { yield return (object)new WaitForSeconds(seconds); } public static void HandleError(Exception e, string missingID = "") { Logging.Error(e.ToString()); } public static GameObject GetInactiveRootObject(string objectName) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) List<GameObject> list = new List<GameObject>(); Scene activeScene = SceneManager.GetActiveScene(); ((Scene)(ref activeScene)).GetRootGameObjects(list); foreach (GameObject item in list) { if (((Object)item).name == objectName) { return item; } } return null; } public static string GetCurrentSceneName() { return SceneHelper.CurrentScene; } public static GameObject CreateButton(string buttonText = "Text", string buttonName = "Button") { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00d0: Expected O, but got Unknown //IL_0104: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_013a: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_01a5: Unknown result type (might be due to invalid IL or missing references) //IL_01c0: Unknown result type (might be due to invalid IL or missing references) //IL_01d1: Unknown result type (might be due to invalid IL or missing references) //IL_021b: Unknown result type (might be due to invalid IL or missing references) ColorBlock val = default(ColorBlock); ((ColorBlock)(ref val)).normalColor = new Color(0f, 0f, 0f, 0.512f); ((ColorBlock)(ref val)).highlightedColor = new Color(1f, 1f, 1f, 0.502f); ((ColorBlock)(ref val)).pressedColor = new Color(1f, 0f, 0f, 1f); ((ColorBlock)(ref val)).selectedColor = new Color(0f, 0f, 0f, 0.512f); ((ColorBlock)(ref val)).disabledColor = new Color(0.7843f, 0.7843f, 0.7843f, 0.502f); ((ColorBlock)(ref val)).colorMultiplier = 1f; ((ColorBlock)(ref val)).fadeDuration = 0.1f; ColorBlock colors = val; GameObject val2 = new GameObject(); ((Object)val2).name = buttonName; val2.AddComponent<RectTransform>(); val2.AddComponent<CanvasRenderer>(); val2.AddComponent<Image>(); val2.AddComponent<Button>(); val2.GetComponent<RectTransform>().sizeDelta = new Vector2(200f, 50f); val2.GetComponent<RectTransform>().anchorMax = new Vector2(1f, 1f); val2.GetComponent<RectTransform>().anchorMin = new Vector2(0f, 0f); val2.GetComponent<Image>().type = (Type)1; ((Selectable)val2.GetComponent<Button>()).targetGraphic = (Graphic)(object)val2.GetComponent<Image>(); GameObject val3 = CreateText(); ((Selectable)val2.GetComponent<Button>()).colors = colors; ((Object)val3).name = "Text"; ((Transform)val3.GetComponent<RectTransform>()).SetParent((Transform)(object)val2.GetComponent<RectTransform>()); val3.GetComponent<RectTransform>().anchorMax = new Vector2(1f, 1f); val3.GetComponent<RectTransform>().anchorMin = new Vector2(0f, 0f); val3.GetComponent<RectTransform>().sizeDelta = Vector2.zero; val3.GetComponent<Text>().text = buttonText; val3.GetComponent<Text>().font = Core.VcrFont; val3.GetComponent<Text>().fontSize = 32; val3.GetComponent<Text>().alignment = (TextAnchor)4; ((Graphic)val3.GetComponent<Text>()).color = Color.white; return val2; } public static GameObject CreateText() { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Unknown result type (might be due to invalid IL or missing references) GameObject val = new GameObject(); ((Object)val).name = "Text"; val.AddComponent<RectTransform>(); val.AddComponent<CanvasRenderer>(); val.GetComponent<RectTransform>().sizeDelta = new Vector2(200f, 50f); val.GetComponent<RectTransform>().anchorMax = new Vector2(1f, 1f); val.GetComponent<RectTransform>().anchorMin = new Vector2(0f, 0f); val.AddComponent<Text>(); val.GetComponent<Text>().text = "Text"; val.GetComponent<Text>().font = Core.VcrFont; val.GetComponent<Text>().fontSize = 32; val.GetComponent<Text>().alignment = (TextAnchor)4; ((Graphic)val.GetComponent<Text>()).color = Color.black; return val; } public static void PatchResultsScreen(string name, string challenge) { GameObject parentObject = GameObject.Find("Player"); GameObject gameObjectChild = GetGameObjectChild(GetGameObjectChild(GetGameObjectChild(GetGameObjectChild(GetGameObjectChild(parentObject, "Main Camera"), "HUD Camera"), "HUD"), "FinishCanvas"), "Panel"); GameObject gameObjectChild2 = GetGameObjectChild(gameObjectChild, "Title"); TextMeshProUGUI textMeshProUGUI = GetTextMeshProUGUI(GetGameObjectChild(gameObjectChild2, "Text")); ((TMP_Text)textMeshProUGUI).text = name; LevelNameFinder component = ((Component)textMeshProUGUI).GetComponent<LevelNameFinder>(); if ((Object)(object)component != (Object)null) { ((Behaviour)component).enabled = false; } GameObject gameObjectChild3 = GetGameObjectChild(gameObjectChild, "ff"); TextMeshProUGUI textMeshProUGUI2 = GetTextMeshProUGUI(GetGameObjectChild(gameObjectChild3, "Text")); ((TMP_Text)textMeshProUGUI2).text = LanguageManager.CurrentLanguage.misc.stats_time; GameObject gameObjectChild4 = GetGameObjectChild(gameObjectChild, "Kills - Info"); TextMeshProUGUI textMeshProUGUI3 = GetTextMeshProUGUI(GetGameObjectChild(gameObjectChild4, "Text")); ((TMP_Text)textMeshProUGUI3).text = LanguageManager.CurrentLanguage.misc.stats_kills; GameObject gameObjectChild5 = GetGameObjectChild(gameObjectChild, "Style - Info"); TextMeshProUGUI textMeshProUGUI4 = GetTextMeshProUGUI(GetGameObjectChild(gameObjectChild5, "Text")); ((TMP_Text)textMeshProUGUI4).text = LanguageManager.CurrentLanguage.misc.stats_style; GameObject gameObjectChild6 = GetGameObjectChild(gameObjectChild, "Secrets - Title"); TextMeshProUGUI textMeshProUGUI5 = GetTextMeshProUGUI(GetGameObjectChild(gameObjectChild6, "Text")); ((TMP_Text)textMeshProUGUI5).text = LanguageManager.CurrentLanguage.misc.stats_secrets; GameObject gameObjectChild7 = GetGameObjectChild(gameObjectChild, "Challenge - Title"); TextMeshProUGUI textMeshProUGUI6 = GetTextMeshProUGUI(GetGameObjectChild(gameObjectChild7, "Text")); ((TMP_Text)textMeshProUGUI6).text = LanguageManager.CurrentLanguage.misc.stats_challenge; GameObject gameObjectChild8 = GetGameObjectChild(gameObjectChild, "Challenge"); TextMeshProUGUI textMeshProUGUI7 = GetTextMeshProUGUI(GetGameObjectChild(gameObjectChild8, "ChallengeText")); ((TMP_Text)textMeshProUGUI7).text = challenge; TextMeshProUGUI textMeshProUGUI8 = GetTextMeshProUGUI(GetGameObjectChild(GetGameObjectChild(gameObjectChild, "Total Points"), "Text (1)")); ((TMP_Text)textMeshProUGUI8).text = LanguageManager.CurrentLanguage.cyberGrind.cybergrind_total + ":"; } public static GameObject GetGameObjectChild(GameObject parentObject, string childToFind) { return ((Component)parentObject.transform.Find(childToFind)).gameObject; } public static Text GetTextfromGameObject(GameObject objectToUse) { return objectToUse.GetComponent<Text>(); } public static TextMeshProUGUI GetTextMeshProUGUI(GameObject objectToUse) { return objectToUse.GetComponent<TextMeshProUGUI>(); } public static IEnumerable<CodeInstruction> IL(params (OpCode, object)[] instructions) { return ((IEnumerable<(OpCode, object)>)instructions).Select((Func<(OpCode, object), CodeInstruction>)(((OpCode, object) i) => new CodeInstruction(i.Item1, i.Item2))).ToList(); } public static GameObject GetObject(string path) { //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) string text = null; string rootPath; if (!Enumerable.Contains(path, '/')) { rootPath = path; } else { string[] array = path.Split(new char[1] { '/' }, 2); rootPath = array[0]; text = array[1]; } List<GameObject> list = new List<GameObject>(); GameObject val = null; Scene activeScene = SceneManager.GetActiveScene(); ((Scene)(ref activeScene)).GetRootGameObjects(list); foreach (GameObject item in list.Where((GameObject child) => ((Object)child).name == rootPath)) { val = item; } if ((Object)(object)val == (Object)null) { return null; } return (text == null) ? val : ((Component)val.transform.Find(text)).gameObject; } static CommonFunctions() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00c7: Unknown result type (might be due to invalid IL or missing references) //IL_00c8: Unknown result type (might be due to invalid IL or missing references) ColorBlock ukButtonColors = default(ColorBlock); ((ColorBlock)(ref ukButtonColors)).normalColor = new Color(0f, 0f, 0f, 0.512f); ((ColorBlock)(ref ukButtonColors)).highlightedColor = new Color(1f, 1f, 1f, 0.502f); ((ColorBlock)(ref ukButtonColors)).pressedColor = new Color(1f, 0f, 0f, 1f); ((ColorBlock)(ref ukButtonColors)).selectedColor = new Color(0f, 0f, 0f, 0.512f); ((ColorBlock)(ref ukButtonColors)).disabledColor = new Color(0.7843f, 0.7843f, 0.7843f, 0.502f); ((ColorBlock)(ref ukButtonColors)).colorMultiplier = 1f; ((ColorBlock)(ref ukButtonColors)).fadeDuration = 0.1f; UkButtonColors = ukButtonColors; } } public static class Core { public static Font VcrFont; public static GameObject ultrakullLogo; public static bool updateAvailable; public static bool updateFailed; public static bool GlobalFontReady; public static bool TMPFontReady; public static Font GlobalFont; public static Font MuseumFont; public static TMP_FontAsset GlobalFontTMP; public static TMP_FontAsset MuseumFontTMP; public static bool wasLanguageReset = false; private static readonly HttpClient Client = new HttpClient(); public static void PatchFrontEnd(GameObject frontEnd) { MainMenu.Patch(frontEnd); Options options = new Options(ref frontEnd); } public static async Task CheckForUpdates() { string updateUrl = "https://api.github.com/repos/clearwateruk/ultrakull/releases/latest"; Client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); Client.DefaultRequestHeaders.UserAgent.TryParseAdd("request"); Client.Timeout = TimeSpan.FromSeconds(5.0); try { UpdateInfo responseJson = JsonConvert.DeserializeObject<UpdateInfo>(await Client.GetStringAsync(updateUrl)); Logging.Message("Latest version on GitHub: " + responseJson.tag_name.Substring(1)); Logging.Message("Current local version: " + MainPatch.GetVersion());