Decompiled source of ULTRASHIT v2.5.61

BepInEx/plugins/UltrakULL/UltrakULL.dll

Decompiled a month ago
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 struct ArabicMapping
{
	public int from;

	public int to;

	public ArabicMapping(int from, int to)
	{
		this.from = from;
		this.to = to;
	}
}
internal class ArabicTable
{
	private static ArabicMapping[] mapList;

	private static ArabicTable arabicMapper;

	internal static ArabicTable ArabicMapper
	{
		get
		{
			if (arabicMapper == null)
			{
				arabicMapper = new ArabicTable();
			}
			return arabicMapper;
		}
	}

	private ArabicTable()
	{
		mapList = new ArabicMapping[42]
		{
			new ArabicMapping(1569, 65152),
			new ArabicMapping(1575, 65165),
			new ArabicMapping(1571, 65155),
			new ArabicMapping(1572, 65157),
			new ArabicMapping(1573, 65159),
			new ArabicMapping(1609, 64508),
			new ArabicMapping(1574, 65161),
			new ArabicMapping(1576, 65167),
			new ArabicMapping(1578, 65173),
			new ArabicMapping(1579, 65177),
			new ArabicMapping(1580, 65181),
			new ArabicMapping(1581, 65185),
			new ArabicMapping(1582, 65189),
			new ArabicMapping(1583, 65193),
			new ArabicMapping(1584, 65195),
			new ArabicMapping(1585, 65197),
			new ArabicMapping(1586, 65199),
			new ArabicMapping(1587, 65201),
			new ArabicMapping(1588, 65205),
			new ArabicMapping(1589, 65209),
			new ArabicMapping(1590, 65213),
			new ArabicMapping(1591, 65217),
			new ArabicMapping(1592, 65221),
			new ArabicMapping(1593, 65225),
			new ArabicMapping(1594, 65229),
			new ArabicMapping(1601, 65233),
			new ArabicMapping(1602, 65237),
			new ArabicMapping(1603, 65241),
			new ArabicMapping(1604, 65245),
			new ArabicMapping(1605, 65249),
			new ArabicMapping(1606, 65253),
			new ArabicMapping(1607, 65257),
			new ArabicMapping(1608, 65261),
			new ArabicMapping(1610, 65265),
			new ArabicMapping(1570, 65153),
			new ArabicMapping(1577, 65171),
			new ArabicMapping(1662, 64342),
			new ArabicMapping(1670, 64378),
			new ArabicMapping(1688, 64394),
			new ArabicMapping(1711, 64402),
			new ArabicMapping(1705, 64398),
			new ArabicMapping(1740, 64508)
		};
	}

	internal int Convert(int toBeConverted)
	{
		for (int i = 0; i < mapList.Length; i++)
		{
			ArabicMapping arabicMapping = mapList[i];
			if (arabicMapping.from == toBeConverted)
			{
				return arabicMapping.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 = true;

	internal static StringBuilder internalStringBuilder = new StringBuilder();

	internal static void RemoveTashkeel(ref string str, out List<TashkeelLocation> tashkeelLocation)
	{
		tashkeelLocation = new List<TashkeelLocation>();
		int lastSplitIndex = 0;
		internalStringBuilder.Clear();
		internalStringBuilder.EnsureCapacity(str.Length);
		int num = 0;
		for (int j = 0; j < str.Length; j++)
		{
			if (str[j] == '\u064b')
			{
				tashkeelLocation.Add(new TashkeelLocation('\u064b', j));
				num++;
				IncrementSB(ref str, j);
			}
			else if (str[j] == '\u064c')
			{
				tashkeelLocation.Add(new TashkeelLocation('\u064c', j));
				num++;
				IncrementSB(ref str, j);
			}
			else if (str[j] == '\u064d')
			{
				tashkeelLocation.Add(new TashkeelLocation('\u064d', j));
				num++;
				IncrementSB(ref str, j);
			}
			else if (str[j] == '\u064e')
			{
				if (num > 0 && combineTashkeel && tashkeelLocation[num - 1].tashkeel == '\u0651')
				{
					tashkeelLocation[num - 1].tashkeel = 'ﱠ';
					IncrementSB(ref str, j);
				}
				else
				{
					tashkeelLocation.Add(new TashkeelLocation('\u064e', j));
					num++;
					IncrementSB(ref str, j);
				}
			}
			else if (str[j] == '\u064f')
			{
				if (num > 0 && combineTashkeel && tashkeelLocation[num - 1].tashkeel == '\u0651')
				{
					tashkeelLocation[num - 1].tashkeel = 'ﱡ';
					IncrementSB(ref str, j);
				}
				else
				{
					tashkeelLocation.Add(new TashkeelLocation('\u064f', j));
					num++;
					IncrementSB(ref str, j);
				}
			}
			else if (str[j] == '\u0650')
			{
				if (num > 0 && combineTashkeel && tashkeelLocation[num - 1].tashkeel == '\u0651')
				{
					tashkeelLocation[num - 1].tashkeel = 'ﱢ';
					IncrementSB(ref str, j);
				}
				else
				{
					tashkeelLocation.Add(new TashkeelLocation('\u0650', j));
					num++;
					IncrementSB(ref str, j);
				}
			}
			else if (str[j] == '\u0651')
			{
				if (num > 0 && combineTashkeel)
				{
					if (tashkeelLocation[num - 1].tashkeel == '\u064e')
					{
						tashkeelLocation[num - 1].tashkeel = 'ﱠ';
						IncrementSB(ref str, j);
						continue;
					}
					if (tashkeelLocation[num - 1].tashkeel == '\u064f')
					{
						tashkeelLocation[num - 1].tashkeel = 'ﱡ';
						IncrementSB(ref str, j);
						continue;
					}
					if (tashkeelLocation[num - 1].tashkeel == '\u0650')
					{
						tashkeelLocation[num - 1].tashkeel = 'ﱢ';
						IncrementSB(ref str, j);
						continue;
					}
				}
				tashkeelLocation.Add(new TashkeelLocation('\u0651', j));
				num++;
				IncrementSB(ref str, j);
			}
			else if (str[j] == '\u0652')
			{
				tashkeelLocation.Add(new TashkeelLocation('\u0652', j));
				num++;
				IncrementSB(ref str, j);
			}
			else if (str[j] == '\u0653')
			{
				tashkeelLocation.Add(new TashkeelLocation('\u0653', j));
				num++;
				IncrementSB(ref str, j);
			}
			else if (str[j] == 'ﱠ')
			{
				IncrementSB(ref str, j);
			}
			else if (str[j] == 'ﱡ')
			{
				IncrementSB(ref str, j);
			}
			else if (str[j] == 'ﱢ')
			{
				IncrementSB(ref str, j);
			}
		}
		if (lastSplitIndex != 0)
		{
			IncrementSB(ref str, str.Length);
			str = internalStringBuilder.ToString();
		}
		void IncrementSB(ref string str2, int i)
		{
			if (i - lastSplitIndex > 0)
			{
				internalStringBuilder.Append(str2, lastSplitIndex, i - lastSplitIndex);
			}
			lastSplitIndex = i + 1;
		}
	}

	internal static void ReturnTashkeel(ref char[] letters, List<TashkeelLocation> tashkeelLocation)
	{
		Array.Resize(ref letters, letters.Length + tashkeelLocation.Count);
		for (int i = 0; i < tashkeelLocation.Count; i++)
		{
			TashkeelLocation tashkeelLocation2 = tashkeelLocation[i];
			for (int num = letters.Length - 1; num > tashkeelLocation2.position; num--)
			{
				letters[num] = letters[num - 1];
			}
			letters[tashkeelLocation2.position] = tashkeelLocation2.tashkeel;
		}
	}

	internal static string FixLine(string str)
	{
		RemoveTashkeel(ref str, out var tashkeelLocation);
		char[] array = new char[str.Length];
		char[] letters = str.ToCharArray();
		for (int i = 0; i < array.Length; i++)
		{
			array[i] = (char)ArabicTable.ArabicMapper.Convert(str[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] = 'ﻷ';
					letters[j + 1] = '\uffff';
					flag = true;
				}
				else if (array[j + 1] == 'ﺍ')
				{
					array[j] = 'ﻹ';
					letters[j + 1] = '\uffff';
					flag = true;
				}
				else if (array[j + 1] == 'ﺃ')
				{
					array[j] = 'ﻵ';
					letters[j + 1] = '\uffff';
					flag = true;
				}
				else if (array[j + 1] == 'ﺁ')
				{
					array[j] = 'ﻳ';
					letters[j + 1] = '\uffff';
					flag = true;
				}
			}
			if (!IsIgnoredCharacter(array[j]))
			{
				if (IsMiddleLetter(array, j))
				{
					letters[j] = (char)(array[j] + 3);
				}
				else if (IsFinishingLetter(array, j))
				{
					letters[j] = (char)(array[j] + 1);
				}
				else if (IsLeadingLetter(array, j))
				{
					letters[j] = (char)(array[j] + 2);
				}
			}
			if (flag)
			{
				j++;
			}
			letters[j] = (char)HandleInduNumber(array[j], letters[j]);
		}
		if (showTashkeel && tashkeelLocation.Count > 0)
		{
			ReturnTashkeel(ref letters, tashkeelLocation);
		}
		internalStringBuilder.Clear();
		internalStringBuilder.EnsureCapacity(letters.Length);
		List<char> numberList = null;
		for (int num = letters.Length - 1; num >= 0; num--)
		{
			if (char.IsPunctuation(letters[num]) && num > 0 && num < letters.Length - 1 && (char.IsPunctuation(letters[num - 1]) || char.IsPunctuation(letters[num + 1])))
			{
				if (letters[num] != '\uffff')
				{
					internalStringBuilder.Append(letters[num]);
				}
			}
			else if (letters[num] == ' ' && num > 0 && num < letters.Length - 1 && (char.IsLower(letters[num - 1]) || char.IsUpper(letters[num - 1]) || char.IsNumber(letters[num - 1])) && (char.IsLower(letters[num + 1]) || char.IsUpper(letters[num + 1]) || char.IsNumber(letters[num + 1])))
			{
				AddNumber(letters[num]);
			}
			else if (char.IsNumber(letters[num]) || char.IsLower(letters[num]) || char.IsUpper(letters[num]) || char.IsSymbol(letters[num]) || char.IsPunctuation(letters[num]))
			{
				AddNumber(letters[num]);
			}
			else if ((letters[num] >= '\ud800' && letters[num] <= '\udbff') || (letters[num] >= '\udc00' && letters[num] <= '\udfff'))
			{
				AddNumber(letters[num]);
			}
			else
			{
				AppendNumbers();
				if (letters[num] != '\uffff')
				{
					internalStringBuilder.Append(letters[num]);
				}
			}
		}
		AppendNumbers();
		return internalStringBuilder.ToString();
		void AddNumber(char value)
		{
			if (numberList == null)
			{
				numberList = new List<char>();
			}
			numberList.Add(value);
		}
		void AppendNumbers()
		{
			if (numberList != null && numberList.Count > 0)
			{
				for (int k = 0; k < numberList.Count; k++)
				{
					internalStringBuilder.Append(numberList[numberList.Count - 1 - k]);
				}
				numberList.Clear();
			}
		}
	}

	internal static ushort HandleInduNumber(ushort letterOrigin, ushort letterFinal)
	{
		return letterOrigin switch
		{
			48 => 1632, 
			49 => 1633, 
			50 => 1634, 
			51 => 1635, 
			52 => 1636, 
			53 => 1637, 
			54 => 1638, 
			55 => 1639, 
			56 => 1640, 
			57 => 1641, 
			_ => letterFinal, 
		};
	}

	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] == ' ' || 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] == 'ﺅ';
		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]);
		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 (message.Contains("versions"))
			{
				return LanguageManager.CurrentLanguage.misc.hud_alternateVersion;
			}
			if (text.Contains("ALTERNATE REVOLVER"))
			{
				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 (message.Contains("versions"))
			{
				return LanguageManager.CurrentLanguage.misc.hud_alternateVersion;
			}
			if (text.Contains("ALTERNATE NAILGUN"))
			{
				return LanguageManager.CurrentLanguage.act2.act2_greedFourth_alternateNailgun;
			}
			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;
			}
			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);
			if (currentSceneName.Contains("7-2"))
			{
				GameObject gameObjectChild = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(CommonFunctions.GetInactiveRootObject("Other Interiors"), "9 - Tram Station"), "9 Stuff"), "9A"), "PuzzleScreen"), "Canvas");
				TextMeshProUGUI textMeshProUGUI = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(gameObjectChild, "Text (TMP) (1)"));
				TextMeshProUGUI textMeshProUGUI2 = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Button A"), "On"), "Text"));
				TextMeshProUGUI textMeshProUGUI3 = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Button A"), "Off"), "Text"));
				TextMeshProUGUI textMeshProUGUI4 = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Button B"), "On"), "Text"));
				TextMeshProUGUI textMeshProUGUI5 = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Button B"), "Off"), "Text"));
				TextMeshProUGUI textMeshProUGUI6 = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Button C"), "On"), "Text"));
				TextMeshProUGUI textMeshProUGUI7 = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Button C"), "Off"), "Text"));
				TextMeshProUGUI textMeshProUGUI8 = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Button D"), "On"), "Text"));
				TextMeshProUGUI textMeshProUGUI9 = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild, "Button D"), "Off"), "Text"));
				((TMP_Text)textMeshProUGUI).text = LanguageManager.CurrentLanguage.act3.act3_violenceSecond_gateControlTitle;
				((TMP_Text)textMeshProUGUI2).text = LanguageManager.CurrentLanguage.act3.act3_violenceSecond_gateControlOpen;
				((TMP_Text)textMeshProUGUI3).text = LanguageManager.CurrentLanguage.act3.act3_violenceSecond_gateControlClosed;
				((TMP_Text)textMeshProUGUI4).text = LanguageManager.CurrentLanguage.act3.act3_violenceSecond_gateControlOpen;
				((TMP_Text)textMeshProUGUI5).text = LanguageManager.CurrentLanguage.act3.act3_violenceSecond_gateControlClosed;
				((TMP_Text)textMeshProUGUI6).text = LanguageManager.CurrentLanguage.act3.act3_violenceSecond_gateControlOpen;
				((TMP_Text)textMeshProUGUI7).text = LanguageManager.CurrentLanguage.act3.act3_violenceSecond_gateControlClosed;
				((TMP_Text)textMeshProUGUI8).text = LanguageManager.CurrentLanguage.act3.act3_violenceSecond_gateControlOpen;
				((TMP_Text)textMeshProUGUI9).text = LanguageManager.CurrentLanguage.act3.act3_violenceSecond_gateControlClosed;
				GameObject gameObjectChild2 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(CommonFunctions.GetInactiveRootObject("Outdoors"), "10 - Ambush Station"), "10 Nonstuff"), "UsableScreen"), "PuzzleScreen (1)"), "Canvas");
				TextMeshProUGUI textMeshProUGUI10 = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(gameObjectChild2, "Text (TMP)"));
				TextMeshProUGUI textMeshProUGUI11 = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild2, "Button (Open)"), "Text (TMP)"));
				TextMeshProUGUI textMeshProUGUI12 = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild2, "Button (Closed)"), "Text (TMP)"));
				((TMP_Text)textMeshProUGUI10).text = LanguageManager.CurrentLanguage.act3.act3_violenceSecond_cartGateControlTitle;
				((TMP_Text)textMeshProUGUI11).text = LanguageManager.CurrentLanguage.act3.act3_violenceSecond_cartGateControlOpen;
				((TMP_Text)textMeshProUGUI12).text = LanguageManager.CurrentLanguage.act3.act3_violenceSecond_cartGateControlClosed;
				GameObject gameObjectChild3 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(CommonFunctions.GetInactiveRootObject("Outdoors"), "11 - Bomb Station"), "11 Nonstuff"), "Bomb Mechanisms"), "UsableScreen (1)"), "PuzzleScreen (1)"), "Canvas");
				TextMeshProUGUI textMeshProUGUI13 = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(gameObjectChild3, "Text (TMP)"));
				TextMeshProUGUI textMeshProUGUI14 = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild3, "UsableButtons"), "Button (Closed)"), "Text (TMP)"));
				TextMeshProUGUI textMeshProUGUI15 = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild3, "UsableButtons"), "Button (Open)"), "Text (TMP)"));
				TextMeshProUGUI textMeshProUGUI16 = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild3, "UsableButtons"), "Error"));
				TextMeshProUGUI textMeshProUGUI17 = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(gameObjectChild3, "Done"));
				((TMP_Text)textMeshProUGUI13).text = LanguageManager.CurrentLanguage.act3.act3_violenceSecond_payloadControlTitle;
				((TMP_Text)textMeshProUGUI14).text = LanguageManager.CurrentLanguage.act3.act3_violenceSecond_payloadControlLower;
				((TMP_Text)textMeshProUGUI15).text = LanguageManager.CurrentLanguage.act3.act3_violenceSecond_payloadControlWait;
				((TMP_Text)textMeshProUGUI16).text = LanguageManager.CurrentLanguage.act3.act3_violenceSecond_payloadControlError1 + "<size=12>\n" + LanguageManager.CurrentLanguage.act3.act3_violenceSecond_payloadControlError2;
				((TMP_Text)textMeshProUGUI17).text = LanguageManager.CurrentLanguage.act3.act3_violenceSecond_payloadControlHell;
			}
			else if (currentSceneName.Contains("7-3"))
			{
				GameObject gameObjectChild4 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetInactiveRootObject("Outdoors Areas"), "8 - Upper Garden Battlefield");
				GameObject gameObjectChild5 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild4, "8 Stuff"), "Destructible Tunnel"), "PuzzleScreen"), "Canvas");
				TextMeshProUGUI textMeshProUGUI18 = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild5, "PreActivation"), "Text (TMP) (1)"));
				TextMeshProUGUI textMeshProUGUI19 = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild5, "PreActivation"), "Button A"), "On"), "Text"));
				TextMeshProUGUI textMeshProUGUI20 = CommonFunctions.GetTextMeshProUGUI(CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(gameObjectChild5, "PostActivation"), "Text (TMP) (1)"));
				((TMP_Text)textMeshProUGUI18).text = LanguageManager.CurrentLanguage.act3.act3_violenceThird_becomeMarked;
				((TMP_Text)textMeshProUGUI19).text = LanguageManager.CurrentLanguage.act3.act3_violenceThird_becomeMarkedButton;
				((TMP_Text)textMeshProUGUI20).text = LanguageManager.CurrentLanguage.act3.act3_violenceThird_starOfTheShow;
			}
			else if (currentSceneName.Contains("7-4"))
			{
				GameObject gameObjectChild6 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(canvasObj, "Warning"), "Text (TMP)");
				TextMeshProUGUI textMeshProUGUI21 = CommonFunctions.GetTextMeshProUGUI(gameObjectChild6);
				((TMP_Text)textMeshProUGUI21).text = LanguageManager.CurrentLanguage.act3.act3_violenceFourth_floodingWarning;
				GameObject gameObjectChild7 = CommonFunctions.GetGameObjectChild(CommonFunctions.GetGameObjectChild(canvasObj, "Countdown"), "Text (TMP)");
				TextMeshProUGUI textMeshProUGUI22 = CommonFunctions.GetTextMeshProUGUI(gameObjectChild7);
				((TMP_Text)textMeshProUGUI22).text = LanguageManager.CurrentLanguage.act3.act3_violenceFourth_countdownTitle;
			}
		}
	}
	public static class Act3Strings
	{
		public static string Level71(string message, string message2)
		{
			string text = message + message2;
			if (text.Contains("A door opens."))
			{
				return LanguageManager.CurrentLanguage.act3.act3_violenceFirst_doorOpens;
			}
			return "Unknown 7-1 string";
		}

		public static string Level72(string message, string message2, string input)
		{
			string text = message + message2;
			if (text.Contains("Swap arms with"))
			{
				return LanguageManager.CurrentLanguage.act3.act3_violenceSecond_guttermanTutorial + " '<color=orange>" + input + "</color>'";
			}
			if (text.Contains("BIGGER BOOM"))
			{
				return "<color=red>" + LanguageManager.CurrentLanguage.act3.act3_violenceSecond_biggerBoom + "</color>";
			}
			if (message.Contains("versions"))
			{
				return LanguageManager.CurrentLanguage.misc.hud_alternateVersion;
			}
			if (text.Contains("ALTERNATE SHOTGUN"))
			{
				return LanguageManager.CurrentLanguage.act3.act3_violenceSecond_alternateShotgun;
			}
			return "Unknown 7-2 string";
		}

		public static string Level73(string message, string message2)
		{
			string text = message + message2;
			if (text.Contains("YOU'RE NOT"))
			{
				return LanguageManager.CurrentLanguage.act3.act3_secretNotReady;
			}
			if (text.Contains("F E E D"))
			{
				return "<color=red>" + LanguageManager.CurrentLanguage.act3.act3_violenceThird_feedIt + "</color>";
			}
			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(message, message2), 
				"Level 7-2" => Level72(message, message2, input), 
				"Level 7-3" => Level73(message, message2), 
				"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>";
			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;
			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 + "<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>" + 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;
			case "Level 7-1":
				if (originalText.Contains("The unending halls of"))
				{
					return "<b>" + LanguageManager.CurrentLanguage.books.books_violenceFirst1 + "</b>\n<b>" + LanguageManager.CurrentLanguage.books.books_violenceFirst2 + "</b>\n\n" + LanguageManager.CurrentLanguage.books.books_violenceFirst3 + "\n\n" + LanguageManager.CurrentLanguage.books.books_violenceFirst4 + "\n\n\n" + LanguageManager.CurrentLanguage.books.books_violenceFirst5 + "\n\n" + LanguageManager.CurrentLanguage.books.books_violenceFirst6 + "\n\n" + LanguageManager.CurrentLanguage.books.books_violenceFirst7 + "\n\n" + LanguageManager.CurrentLanguage.books.books_violenceFirst8 + "\n\n<color=red>" + LanguageManager.CurrentLanguage.books.books_violenceFirst9 + "</color>";
				}
				return LanguageManager.CurrentLanguage.books.books_violenceFirst_Slate1 + "\n\n" + LanguageManager.CurrentLanguage.books.books_violenceFirst_Slate2 + "\n\n" + LanguageManager.CurrentLanguage.books.books_violenceFirst_Slate3 + "\n\n" + LanguageManager.CurrentLanguage.books.books_violenceFirst_Slate4;
			case "Level 7-2":
				if (originalText.Contains("> < < > < < > > < > > < >"))
				{
					return LanguageManager.CurrentLanguage.books.books_violenceSecond1 + "\n\n" + LanguageManager.CurrentLanguage.books.books_violenceSecond2 + "\n\n> < < > < < > > < > > < >";
				}
				return "<i>" + LanguageManager.CurrentLanguage.books.books_violenceSecondAmbush1 + "\n\n\n\n" + LanguageManager.CurrentLanguage.books.books_violenceSecondAmbush2 + "\n\n\n\n\n" + LanguageManager.CurrentLanguage.books.books_violenceSecondAmbush1 + "\n\n\n\n" + LanguageManager.CurrentLanguage.books.books_violenceSecondAmbush3 + "\n\n\n\n\n" + LanguageManager.CurrentLanguage.books.books_violenceSecondAmbush1 + "\n\n\n\n" + LanguageManager.CurrentLanguage.books.books_violenceSecondAmbush4 + "</i>";
			case "Level 7-4":
				return "<size=20><color=red>" + LanguageManager.CurrentLanguage.books.books_violenceFourth1 + "</color></size>\n\n\n<size=20><color=red>" + LanguageManager.CurrentLanguage.books.books_violenceFourth2 + "</color></size>\n\n\n<size=20><color=red>" + LanguageManager.CurrentLanguage.books.books_violenceFourth3 + "</color></size>\n\n\n<size=20><color=red>" + LanguageManager.CurrentLanguage.books.books_violenceFourth4 + "</color></size>\n\n<size=20>" + LanguageManager.CurrentLanguage.books.books_violenceFourth5 + "</size>";
			case "Level 7-S":
				return LanguageManager.CurrentLanguage.books.books_violenceSecret_Slate1 + "\n\n" + LanguageManager.CurrentLanguage.books.books_violenceSecret_Slate2;
			default:
				return "<big><b>Unknown book</b></big>\n\n" + originalText;
			}
		}
	}
	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[2];
			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, 
					"SAVE" => LanguageManager.CurrentLanguage.cheats.cheats_dupesSave, 
					"NEW SAVE" => LanguageManager.CurrentLanguage.cheats.cheats_dupesNewSave, 
					"LOAD LATEST SAVE" => LanguageManager.CurrentLanguage.cheats.cheats_loadLatestSave, 
					"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.invincibility" => LanguageManager.CurrentLanguage.cheats.cheats_invincibility, 
					"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.enemy-hate-enemy" => LanguageManager.CurrentLanguage.cheats.cheats_enemiesHateEnemies, 
					"ultrakill.enemy-ignore-player" => LanguageManager.CurrentLanguage.cheats.cheats_enemiesIgnorePlayer, 
					"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, 
					"ultrakill.hide-weapons" => LanguageManager.CurrentLanguage.cheats.cheats_hideWeapons, 
					"ultrakill.hide-ui" => LanguageManager.CurrentLanguage.cheats.cheats_hideUi, 
					"