Decompiled source of WFRus v0.0.8
GDWeave/mods/WFRus/WFRus.dll
Decompiled 3 months ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Text.Json.Serialization; using GDWeave; using GDWeave.Godot; using GDWeave.Godot.Variants; using GDWeave.Modding; using Serilog; using WFRus.modifies; using WFRus.modifies.globals; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(/*Could not decode attribute arguments.*/)] [assembly: TargetFramework(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")] [assembly: AssemblyCompany("WFRus")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0.0+e2bf6bc0a0a24071cbd060ac65e40b5b18d1c0ba")] [assembly: AssemblyProduct("WFRus")] [assembly: AssemblyTitle("WFRus")] [assembly: AssemblyVersion("1.0.0.0")] [module: RefSafetyRules(11)] namespace WFRus { public class Config { [JsonInclude] public string mainmenuLogoPath = Directory.GetCurrentDirectory() + "/GDWeave/mods/WFRus/mainmenuLogo.png"; [JsonInclude] public string splashLamePath = Directory.GetCurrentDirectory() + "/GDWeave/mods/WFRus/splashLame.png"; [JsonInclude] public string splashGodotPath = Directory.GetCurrentDirectory() + "/GDWeave/mods/WFRus/splashGodot.png"; } public static class Helpers { public static global::System.Collections.Generic.IEnumerable<Token> SetFont(string node, uint indents = 0u) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Expected O, but got Unknown //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Expected O, but got Unknown //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Expected O, but got Unknown //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Expected O, but got Unknown //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Expected O, but got Unknown //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Expected O, but got Unknown //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Expected O, but got Unknown //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Expected O, but got Unknown //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Expected O, but got Unknown //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Expected O, but got Unknown //IL_00b6: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Expected O, but got Unknown //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Expected O, but got Unknown //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Expected O, but got Unknown //IL_00df: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Expected O, but got Unknown //IL_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Expected O, but got Unknown //IL_0106: Unknown result type (might be due to invalid IL or missing references) //IL_0110: Expected O, but got Unknown //IL_0115: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Expected O, but got Unknown //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_0124: Expected O, but got Unknown //IL_012f: Unknown result type (might be due to invalid IL or missing references) //IL_0139: Expected O, but got Unknown //IL_0144: Unknown result type (might be due to invalid IL or missing references) //IL_014e: Expected O, but got Unknown //IL_0156: Unknown result type (might be due to invalid IL or missing references) //IL_0160: Expected O, but got Unknown return Enumerable.Append<Token>(Enumerable.Append<Token>(Enumerable.Append<Token>(Enumerable.Append<Token>(Enumerable.Append<Token>(Enumerable.Append<Token>(Enumerable.Append<Token>(Enumerable.Append<Token>(Enumerable.Append<Token>(Enumerable.Append<Token>(Enumerable.Append<Token>(Enumerable.Append<Token>(Enumerable.Append<Token>(Enumerable.Append<Token>(Enumerable.Append<Token>(Enumerable.Append<Token>(Enumerable.Append<Token>(Enumerable.Append<Token>((global::System.Collections.Generic.IEnumerable<Token>)global::System.Array.Empty<Token>(), new Token((TokenType)87, (uint?)null)), (Token)new IdentifierToken(node)), new Token((TokenType)84, (uint?)null)), (Token)new IdentifierToken("get")), new Token((TokenType)80, (uint?)null)), (Token)new ConstantToken((Variant)new StringVariant("custom_fonts/font"))), new Token((TokenType)81, (uint?)null)), new Token((TokenType)84, (uint?)null)), (Token)new IdentifierToken("set")), new Token((TokenType)80, (uint?)null)), (Token)new ConstantToken((Variant)new StringVariant("font_data"))), new Token((TokenType)82, (uint?)null)), new Token((TokenType)5, (uint?)76u)), new Token((TokenType)80, (uint?)null)), (Token)new ConstantToken((Variant)new StringVariant("res://mods/WFRus/Cyrillic/accidCyr.ttf"))), new Token((TokenType)81, (uint?)null)), new Token((TokenType)81, (uint?)null)), new Token((TokenType)89, (uint?)indents)); } public static global::System.Collections.Generic.IEnumerable<Token> SetText(string node, string param, string str, uint indents = 0u) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Expected O, but got Unknown //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Expected O, but got Unknown //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Expected O, but got Unknown //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Expected O, but got Unknown //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Expected O, but got Unknown //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Expected O, but got Unknown //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Expected O, but got Unknown //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Expected O, but got Unknown return Enumerable.Append<Token>(Enumerable.Append<Token>(Enumerable.Append<Token>(Enumerable.Append<Token>(Enumerable.Append<Token>(Enumerable.Append<Token>(Enumerable.Append<Token>((global::System.Collections.Generic.IEnumerable<Token>)global::System.Array.Empty<Token>(), new Token((TokenType)87, (uint?)null)), (Token)new IdentifierToken(node)), new Token((TokenType)84, (uint?)null)), (Token)new IdentifierToken(param)), new Token((TokenType)23, (uint?)null)), (Token)new ConstantToken((Variant)new StringVariant(str))), new Token((TokenType)89, (uint?)indents)); } public static global::System.Collections.Generic.IEnumerable<Token> LoadExtImage(string node, string path) { return Enumerable.Concat<Token>(Enumerable.Concat<Token>(Enumerable.Concat<Token>(Enumerable.Concat<Token>(Enumerable.Concat<Token>(Enumerable.Concat<Token>(Enumerable.Concat<Token>((global::System.Collections.Generic.IEnumerable<Token>)global::System.Array.Empty<Token>(), ScriptTokenizer.Tokenize("var img" + node + " = Image.new()", 1u)), ScriptTokenizer.Tokenize($"var result{node} = img{node}.load(\"{path}\")", 1u)), ScriptTokenizer.Tokenize("if result" + node + " == OK:", 1u)), ScriptTokenizer.Tokenize("var texture" + node + " = ImageTexture.new()", 2u)), ScriptTokenizer.Tokenize($"texture{node}.create_from_image(img{node})", 2u)), ScriptTokenizer.Tokenize("texture" + node + ".flags = 0", 2u)), ScriptTokenizer.Tokenize("$" + node + ".texture = texture" + node, 2u)); } } public class WFRusMod : IMod, global::System.IDisposable { public Config Config; public ILogger Logger; public WFRusMod(IModInterface modInterface) { Config = modInterface.ReadConfig<Config>(); Logger = modInterface.Logger; modInterface.RegisterScriptMod((IScriptMod)(object)new Voice()); modInterface.RegisterScriptMod((IScriptMod)(object)new PlayerVoice()); modInterface.RegisterScriptMod((IScriptMod)(object)new GlobalsAddMaps()); modInterface.RegisterScriptMod((IScriptMod)(object)new GlobalsUseMaps()); modInterface.RegisterScriptMod((IScriptMod)(object)new SplashScreen(this)); modInterface.RegisterScriptMod((IScriptMod)(object)new MainMenu(this)); modInterface.RegisterScriptMod((IScriptMod)(object)new OptionsMenu()); modInterface.RegisterScriptMod((IScriptMod)(object)new SpeechBubble()); modInterface.RegisterScriptMod((IScriptMod)(object)new LevelBubble()); Logger.Information("[WFRusCS] C# Mod initialized!"); } public void Dispose() { } } } namespace WFRus.modifies { public class LevelBubble : IScriptMod { [CompilerGenerated] private sealed class <Modify>d__1 : global::System.Collections.Generic.IEnumerable<Token>, global::System.Collections.IEnumerable, global::System.Collections.Generic.IEnumerator<Token>, global::System.Collections.IEnumerator, global::System.IDisposable { private int <>1__state; private Token <>2__current; private int <>l__initialThreadId; private global::System.Collections.Generic.IEnumerable<Token> tokens; public global::System.Collections.Generic.IEnumerable<Token> <>3__tokens; private MultiTokenWaiter <waiter>5__2; private global::System.Collections.Generic.IEnumerator<Token> <>7__wrap2; private global::System.Collections.Generic.IEnumerator<Token> <>7__wrap3; Token global::System.Collections.Generic.IEnumerator<Token>.Current { [DebuggerHidden] get { return <>2__current; } } object global::System.Collections.IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <Modify>d__1(int <>1__state) { this.<>1__state = <>1__state; <>l__initialThreadId = Environment.CurrentManagedThreadId; } [DebuggerHidden] void global::System.IDisposable.Dispose() { int num = <>1__state; if ((uint)(num - -4) > 1u && (uint)(num - 1) > 1u) { return; } try { if (num != -4 && num != 1) { return; } try { } finally { <>m__Finally2(); } } finally { <>m__Finally1(); } } private bool MoveNext() { //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Expected O, but got Unknown try { switch (<>1__state) { default: return false; case 0: <>1__state = -1; <waiter>5__2 = new MultiTokenWaiter(new Func<Token, bool>[2] { delegate(Token t) { IdentifierToken val = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val != null && val.Name == "time"; }, (Token t) => (int)t.Type == 89 }, false, true); <>7__wrap2 = tokens.GetEnumerator(); <>1__state = -3; goto IL_0169; case 1: <>1__state = -4; goto IL_0133; case 2: { <>1__state = -3; goto IL_0169; } IL_0169: if (((global::System.Collections.IEnumerator)<>7__wrap2).MoveNext()) { Token current = <>7__wrap2.Current; if (<waiter>5__2.Check(current)) { global::System.Collections.Generic.IEnumerable<Token> enumerable = global::System.Array.Empty<Token>(); enumerable = Enumerable.Concat<Token>(enumerable, ScriptTokenizer.Tokenize("func _ready():", 0u)); enumerable = Enumerable.Concat<Token>(enumerable, ScriptTokenizer.Tokenize("\t$RichTextLabel.visible_characters = 20", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, ScriptTokenizer.Tokenize("\t$RichTextLabel.bbcode_text = \"[center][wave amp=80.0 freq=5.0 connected=1]НОВЫЙ УРОВЕНЬ!\" ", 1u)); <>7__wrap3 = enumerable.GetEnumerator(); <>1__state = -4; goto IL_0133; } <>2__current = current; <>1__state = 2; return true; } <>m__Finally1(); <>7__wrap2 = null; return false; IL_0133: if (((global::System.Collections.IEnumerator)<>7__wrap3).MoveNext()) { Token current2 = <>7__wrap3.Current; <>2__current = current2; <>1__state = 1; return true; } <>m__Finally2(); <>7__wrap3 = null; goto IL_0169; } } catch { //try-fault ((global::System.IDisposable)this).Dispose(); throw; } } bool global::System.Collections.IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } private void <>m__Finally1() { <>1__state = -1; if (<>7__wrap2 != null) { ((global::System.IDisposable)<>7__wrap2).Dispose(); } } private void <>m__Finally2() { <>1__state = -3; if (<>7__wrap3 != null) { ((global::System.IDisposable)<>7__wrap3).Dispose(); } } [DebuggerHidden] void global::System.Collections.IEnumerator.Reset() { //IL_0000: Unknown result type (might be due to invalid IL or missing references) throw new NotSupportedException(); } [DebuggerHidden] global::System.Collections.Generic.IEnumerator<Token> global::System.Collections.Generic.IEnumerable<Token>.GetEnumerator() { <Modify>d__1 <Modify>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <Modify>d__ = this; } else { <Modify>d__ = new <Modify>d__1(0); } <Modify>d__.tokens = <>3__tokens; return <Modify>d__; } [DebuggerHidden] global::System.Collections.IEnumerator global::System.Collections.IEnumerable.GetEnumerator() { return (global::System.Collections.IEnumerator)((global::System.Collections.Generic.IEnumerable<Token>)this).GetEnumerator(); } } public bool ShouldRun(string path) { return path == "res://Scenes/Entities/Player/SpeechBubble/level_bubble.gdc"; } [IteratorStateMachine(typeof(<Modify>d__1))] public global::System.Collections.Generic.IEnumerable<Token> Modify(string path, global::System.Collections.Generic.IEnumerable<Token> tokens) { MultiTokenWaiter waiter = new MultiTokenWaiter(new Func<Token, bool>[2] { delegate(Token t) { IdentifierToken val = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val != null && val.Name == "time"; }, (Token t) => (int)t.Type == 89 }, false, true); global::System.Collections.Generic.IEnumerator<Token> enumerator = tokens.GetEnumerator(); try { while (((global::System.Collections.IEnumerator)enumerator).MoveNext()) { Token current = enumerator.Current; if (waiter.Check(current)) { global::System.Collections.Generic.IEnumerable<Token> enumerable = global::System.Array.Empty<Token>(); enumerable = Enumerable.Concat<Token>(enumerable, ScriptTokenizer.Tokenize("func _ready():", 0u)); enumerable = Enumerable.Concat<Token>(enumerable, ScriptTokenizer.Tokenize("\t$RichTextLabel.visible_characters = 20", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, ScriptTokenizer.Tokenize("\t$RichTextLabel.bbcode_text = \"[center][wave amp=80.0 freq=5.0 connected=1]НОВЫЙ УРОВЕНЬ!\" ", 1u)); global::System.Collections.Generic.IEnumerator<Token> enumerator2 = enumerable.GetEnumerator(); try { while (((global::System.Collections.IEnumerator)enumerator2).MoveNext()) { yield return enumerator2.Current; } } finally { ((global::System.IDisposable)enumerator2)?.Dispose(); } } else { yield return current; } } } finally { ((global::System.IDisposable)enumerator)?.Dispose(); } } } public class MainMenu : IScriptMod { [CompilerGenerated] private sealed class <Modify>d__3 : global::System.Collections.Generic.IEnumerable<Token>, global::System.Collections.IEnumerable, global::System.Collections.Generic.IEnumerator<Token>, global::System.Collections.IEnumerator, global::System.IDisposable { private int <>1__state; private Token <>2__current; private int <>l__initialThreadId; private global::System.Collections.Generic.IEnumerable<Token> tokens; public global::System.Collections.Generic.IEnumerable<Token> <>3__tokens; public MainMenu <>4__this; private MultiTokenWaiter <waiter>5__2; private global::System.Collections.Generic.IEnumerator<Token> <>7__wrap2; private global::System.Collections.Generic.IEnumerator<Token> <>7__wrap3; Token global::System.Collections.Generic.IEnumerator<Token>.Current { [DebuggerHidden] get { return <>2__current; } } object global::System.Collections.IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <Modify>d__3(int <>1__state) { this.<>1__state = <>1__state; <>l__initialThreadId = Environment.CurrentManagedThreadId; } [DebuggerHidden] void global::System.IDisposable.Dispose() { int num = <>1__state; if ((uint)(num - -4) > 1u && (uint)(num - 1) > 3u) { return; } try { if (num != -4 && num != 2) { return; } try { } finally { <>m__Finally2(); } } finally { <>m__Finally1(); } } private bool MoveNext() { //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Expected O, but got Unknown //IL_0392: Unknown result type (might be due to invalid IL or missing references) //IL_039c: Expected O, but got Unknown try { int num = <>1__state; MainMenu mainMenu = <>4__this; switch (num) { default: return false; case 0: <>1__state = -1; <waiter>5__2 = new MultiTokenWaiter(new Func<Token, bool>[2] { delegate(Token t) { IdentifierToken val = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val != null && val.Name == "_ready"; }, (Token t) => (int)t.Type == 89 }, false, true); <>7__wrap2 = tokens.GetEnumerator(); <>1__state = -3; break; case 1: { <>1__state = -3; global::System.Collections.Generic.IEnumerable<Token> enumerable = global::System.Array.Empty<Token>(); mainMenu.<mod>P.Logger.Information("Trying to load mainmenu logo from " + mainMenu.<mod>P.Config.mainmenuLogoPath); enumerable = Enumerable.Concat<Token>(enumerable, ScriptTokenizer.Tokenize("TextPrint(\"[WFRusCS>GD] Injected into main_menu.gd!\")", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.LoadExtImage("TextureRect", mainMenu.<mod>P.Config.mainmenuLogoPath)); enumerable = Enumerable.Concat<Token>(enumerable, ScriptTokenizer.Tokenize("if PlayerData.player_options.altfont == 0:", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, ScriptTokenizer.Tokenize("ResourceLoad(\"res://Assets/Themes/main.tres\").default_font = ResourceLoad(\"res://mods/WFRus/Cyrillic/cyrillic.tres\")", 2u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetFont("VBoxContainer/create_game", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetText("VBoxContainer/create_game", "text", "Создать лобби", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetText("VBoxContainer/create_game/TooltipNode", "header", "[color=#6a4420]Создать лобби", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetText("VBoxContainer/create_game/TooltipNode", "body", "Создайте своё лобби!", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetFont("VBoxContainer/join_game", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetText("VBoxContainer/join_game", "text", "Найти лобби", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetText("VBoxContainer/join_game/TooltipNode", "header", "[color=#6a4420]Найти лобби", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetText("VBoxContainer/join_game/TooltipNode", "body", "Играйте в чужом лобби!", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetFont("VBoxContainer/settings", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetText("VBoxContainer/settings", "text", "Настройки", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetText("VBoxContainer/settings/TooltipNode", "header", "[color=#6a4420]Настройки", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetText("VBoxContainer/settings/TooltipNode", "body", "Меняйте всякие параметры!", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetFont("VBoxContainer/quit", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetText("VBoxContainer/quit", "text", "Выйти", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetText("VBoxContainer/quit/TooltipNode", "header", "[color=#6a4420]Выйти", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetText("VBoxContainer/quit/TooltipNode", "body", "всё нормально. можешь уходить, да. я не обижусь, всё нормально. уходи.", 1u)); <>7__wrap3 = enumerable.GetEnumerator(); <>1__state = -4; goto IL_036f; } case 2: <>1__state = -4; goto IL_036f; case 3: <>1__state = -3; break; case 4: { <>1__state = -3; break; } IL_036f: if (((global::System.Collections.IEnumerator)<>7__wrap3).MoveNext()) { Token current = <>7__wrap3.Current; <>2__current = current; <>1__state = 2; return true; } <>m__Finally2(); <>7__wrap3 = null; <>2__current = new Token((TokenType)89, (uint?)1u); <>1__state = 3; return true; } if (((global::System.Collections.IEnumerator)<>7__wrap2).MoveNext()) { Token current2 = <>7__wrap2.Current; if (<waiter>5__2.Check(current2)) { <>2__current = current2; <>1__state = 1; return true; } <>2__current = current2; <>1__state = 4; return true; } <>m__Finally1(); <>7__wrap2 = null; return false; } catch { //try-fault ((global::System.IDisposable)this).Dispose(); throw; } } bool global::System.Collections.IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } private void <>m__Finally1() { <>1__state = -1; if (<>7__wrap2 != null) { ((global::System.IDisposable)<>7__wrap2).Dispose(); } } private void <>m__Finally2() { <>1__state = -3; if (<>7__wrap3 != null) { ((global::System.IDisposable)<>7__wrap3).Dispose(); } } [DebuggerHidden] void global::System.Collections.IEnumerator.Reset() { //IL_0000: Unknown result type (might be due to invalid IL or missing references) throw new NotSupportedException(); } [DebuggerHidden] global::System.Collections.Generic.IEnumerator<Token> global::System.Collections.Generic.IEnumerable<Token>.GetEnumerator() { <Modify>d__3 <Modify>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <Modify>d__ = this; } else { <Modify>d__ = new <Modify>d__3(0) { <>4__this = <>4__this }; } <Modify>d__.tokens = <>3__tokens; return <Modify>d__; } [DebuggerHidden] global::System.Collections.IEnumerator global::System.Collections.IEnumerable.GetEnumerator() { return (global::System.Collections.IEnumerator)((global::System.Collections.Generic.IEnumerable<Token>)this).GetEnumerator(); } } [CompilerGenerated] private WFRusMod <mod>P; public MainMenu(WFRusMod mod) { <mod>P = mod; base..ctor(); } public bool ShouldRun(string path) { return path == "res://Scenes/Menus/Main Menu/main_menu.gdc"; } [IteratorStateMachine(typeof(<Modify>d__3))] public global::System.Collections.Generic.IEnumerable<Token> Modify(string path, global::System.Collections.Generic.IEnumerable<Token> tokens) { MultiTokenWaiter waiter = new MultiTokenWaiter(new Func<Token, bool>[2] { delegate(Token t) { IdentifierToken val = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val != null && val.Name == "_ready"; }, (Token t) => (int)t.Type == 89 }, false, true); global::System.Collections.Generic.IEnumerator<Token> enumerator = tokens.GetEnumerator(); try { while (((global::System.Collections.IEnumerator)enumerator).MoveNext()) { Token current = enumerator.Current; if (waiter.Check(current)) { yield return current; global::System.Collections.Generic.IEnumerable<Token> enumerable = global::System.Array.Empty<Token>(); <mod>P.Logger.Information("Trying to load mainmenu logo from " + <mod>P.Config.mainmenuLogoPath); enumerable = Enumerable.Concat<Token>(enumerable, ScriptTokenizer.Tokenize("TextPrint(\"[WFRusCS>GD] Injected into main_menu.gd!\")", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.LoadExtImage("TextureRect", <mod>P.Config.mainmenuLogoPath)); enumerable = Enumerable.Concat<Token>(enumerable, ScriptTokenizer.Tokenize("if PlayerData.player_options.altfont == 0:", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, ScriptTokenizer.Tokenize("ResourceLoad(\"res://Assets/Themes/main.tres\").default_font = ResourceLoad(\"res://mods/WFRus/Cyrillic/cyrillic.tres\")", 2u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetFont("VBoxContainer/create_game", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetText("VBoxContainer/create_game", "text", "Создать лобби", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetText("VBoxContainer/create_game/TooltipNode", "header", "[color=#6a4420]Создать лобби", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetText("VBoxContainer/create_game/TooltipNode", "body", "Создайте своё лобби!", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetFont("VBoxContainer/join_game", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetText("VBoxContainer/join_game", "text", "Найти лобби", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetText("VBoxContainer/join_game/TooltipNode", "header", "[color=#6a4420]Найти лобби", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetText("VBoxContainer/join_game/TooltipNode", "body", "Играйте в чужом лобби!", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetFont("VBoxContainer/settings", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetText("VBoxContainer/settings", "text", "Настройки", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetText("VBoxContainer/settings/TooltipNode", "header", "[color=#6a4420]Настройки", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetText("VBoxContainer/settings/TooltipNode", "body", "Меняйте всякие параметры!", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetFont("VBoxContainer/quit", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetText("VBoxContainer/quit", "text", "Выйти", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetText("VBoxContainer/quit/TooltipNode", "header", "[color=#6a4420]Выйти", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.SetText("VBoxContainer/quit/TooltipNode", "body", "всё нормально. можешь уходить, да. я не обижусь, всё нормально. уходи.", 1u)); global::System.Collections.Generic.IEnumerator<Token> enumerator2 = enumerable.GetEnumerator(); try { while (((global::System.Collections.IEnumerator)enumerator2).MoveNext()) { yield return enumerator2.Current; } } finally { ((global::System.IDisposable)enumerator2)?.Dispose(); } yield return new Token((TokenType)89, (uint?)1u); } else { yield return current; } } } finally { ((global::System.IDisposable)enumerator)?.Dispose(); } } } public class OptionsMenu : IScriptMod { [CompilerGenerated] private sealed class <Modify>d__1 : global::System.Collections.Generic.IEnumerable<Token>, global::System.Collections.IEnumerable, global::System.Collections.Generic.IEnumerator<Token>, global::System.Collections.IEnumerator, global::System.IDisposable { private int <>1__state; private Token <>2__current; private int <>l__initialThreadId; private global::System.Collections.Generic.IEnumerable<Token> tokens; public global::System.Collections.Generic.IEnumerable<Token> <>3__tokens; private MultiTokenWaiter <waiter>5__2; private TokenWaiter <waiter2>5__3; private Enumerator<Token> <enmr>5__4; private bool <hasNext>5__5; Token global::System.Collections.Generic.IEnumerator<Token>.Current { [DebuggerHidden] get { return <>2__current; } } object global::System.Collections.IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <Modify>d__1(int <>1__state) { this.<>1__state = <>1__state; <>l__initialThreadId = Environment.CurrentManagedThreadId; } [DebuggerHidden] void global::System.IDisposable.Dispose() { } private bool MoveNext() { //IL_01c9: Unknown result type (might be due to invalid IL or missing references) //IL_01d3: Expected O, but got Unknown //IL_024c: Unknown result type (might be due to invalid IL or missing references) //IL_0256: Expected O, but got Unknown //IL_018e: Unknown result type (might be due to invalid IL or missing references) //IL_0198: Expected O, but got Unknown //IL_020c: Unknown result type (might be due to invalid IL or missing references) //IL_0216: Expected O, but got Unknown //IL_0211: Unknown result type (might be due to invalid IL or missing references) //IL_021b: Expected O, but got Unknown //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Expected O, but got Unknown //IL_0104: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Expected O, but got Unknown //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: <>1__state = -1; <waiter>5__2 = new MultiTokenWaiter(new Func<Token, bool>[5] { delegate(Token t) { IdentifierToken val3 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val3 != null && val3.Name == "_update_options"; }, delegate(Token t) { IdentifierToken val2 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val2 != null && val2.Name == "altfont"; }, delegate(Token t) { IdentifierToken val = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val != null && val.Name == "default_font"; }, (Token t) => (int)t.Type == 23, (Token t) => (int)t.Type == 63 }, false, true); <waiter2>5__3 = new TokenWaiter((Func<Token, bool>)((Token t) => false), false); <enmr>5__4 = Enumerable.ToList<Token>(tokens).GetEnumerator(); <hasNext>5__5 = <enmr>5__4.MoveNext(); break; case 1: <>1__state = -1; <waiter2>5__3 = new TokenWaiter((Func<Token, bool>)((Token t) => t is ConstantToken), false); break; case 2: <>1__state = -1; <waiter2>5__3 = new TokenWaiter((Func<Token, bool>)((Token t) => false), false); break; case 3: <>1__state = -1; break; } if (<hasNext>5__5) { Token current = <enmr>5__4.Current; <hasNext>5__5 = <enmr>5__4.MoveNext(); if (<waiter>5__2.Check(current)) { Console.WriteLine("[WFRusCS] Injecting options menu (preload -> load)"); Console.WriteLine(Enumerable.ToList<Token>(tokens).IndexOf(current)); <>2__current = new Token((TokenType)5, (uint?)76u); <>1__state = 1; return true; } if (<waiter2>5__3.Check(current)) { Console.WriteLine("[WFRusCS] Injecting options menu (main_font.tres -> cyrillic.tres)"); Console.WriteLine(Enumerable.ToList<Token>(tokens).IndexOf(current)); <>2__current = (Token)new ConstantToken((Variant)new StringVariant("res://mods/WFRus/Cyrillic/cyrillic.tres")); <>1__state = 2; return true; } <>2__current = current; <>1__state = 3; return true; } return false; } bool global::System.Collections.IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void global::System.Collections.IEnumerator.Reset() { //IL_0000: Unknown result type (might be due to invalid IL or missing references) throw new NotSupportedException(); } [DebuggerHidden] global::System.Collections.Generic.IEnumerator<Token> global::System.Collections.Generic.IEnumerable<Token>.GetEnumerator() { <Modify>d__1 <Modify>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <Modify>d__ = this; } else { <Modify>d__ = new <Modify>d__1(0); } <Modify>d__.tokens = <>3__tokens; return <Modify>d__; } [DebuggerHidden] global::System.Collections.IEnumerator global::System.Collections.IEnumerable.GetEnumerator() { return (global::System.Collections.IEnumerator)((global::System.Collections.Generic.IEnumerable<Token>)this).GetEnumerator(); } } public bool ShouldRun(string path) { return path == "res://Scenes/Singletons/OptionsMenu/options_menu.gdc"; } [IteratorStateMachine(typeof(<Modify>d__1))] public global::System.Collections.Generic.IEnumerable<Token> Modify(string path, global::System.Collections.Generic.IEnumerable<Token> tokens) { MultiTokenWaiter waiter = new MultiTokenWaiter(new Func<Token, bool>[5] { delegate(Token t) { IdentifierToken val3 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val3 != null && val3.Name == "_update_options"; }, delegate(Token t) { IdentifierToken val2 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val2 != null && val2.Name == "altfont"; }, delegate(Token t) { IdentifierToken val = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val != null && val.Name == "default_font"; }, (Token t) => (int)t.Type == 23, (Token t) => (int)t.Type == 63 }, false, true); TokenWaiter waiter2 = new TokenWaiter((Func<Token, bool>)((Token t) => false), false); Enumerator<Token> enmr = Enumerable.ToList<Token>(tokens).GetEnumerator(); bool hasNext = enmr.MoveNext(); while (hasNext) { Token current = enmr.Current; hasNext = enmr.MoveNext(); if (waiter.Check(current)) { Console.WriteLine("[WFRusCS] Injecting options menu (preload -> load)"); Console.WriteLine(Enumerable.ToList<Token>(tokens).IndexOf(current)); yield return new Token((TokenType)5, (uint?)76u); waiter2 = new TokenWaiter((Func<Token, bool>)((Token t) => t is ConstantToken), false); } else if (waiter2.Check(current)) { Console.WriteLine("[WFRusCS] Injecting options menu (main_font.tres -> cyrillic.tres)"); Console.WriteLine(Enumerable.ToList<Token>(tokens).IndexOf(current)); yield return (Token)new ConstantToken((Variant)new StringVariant("res://mods/WFRus/Cyrillic/cyrillic.tres")); waiter2 = new TokenWaiter((Func<Token, bool>)((Token t) => false), false); } else { yield return current; } } } } public class PlayerVoice : IScriptMod { [CompilerGenerated] private sealed class <Modify>d__1 : global::System.Collections.Generic.IEnumerable<Token>, global::System.Collections.IEnumerable, global::System.Collections.Generic.IEnumerator<Token>, global::System.Collections.IEnumerator, global::System.IDisposable { private int <>1__state; private Token <>2__current; private int <>l__initialThreadId; private global::System.Collections.Generic.IEnumerable<Token> tokens; public global::System.Collections.Generic.IEnumerable<Token> <>3__tokens; private MultiTokenWaiter <waiter>5__2; private global::System.Collections.Generic.IEnumerator<Token> <>7__wrap2; private Token <token>5__4; private Enumerator<string> <>7__wrap4; private string <ch>5__6; Token global::System.Collections.Generic.IEnumerator<Token>.Current { [DebuggerHidden] get { return <>2__current; } } object global::System.Collections.IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <Modify>d__1(int <>1__state) { this.<>1__state = <>1__state; <>l__initialThreadId = Environment.CurrentManagedThreadId; } [DebuggerHidden] void global::System.IDisposable.Dispose() { int num = <>1__state; if ((uint)(num - -4) > 1u && (uint)(num - 1) > 3u) { return; } try { if (num != -4 && (uint)(num - 1) > 1u) { return; } try { } finally { <>m__Finally2(); } } finally { <>m__Finally1(); } } private bool MoveNext() { //IL_017b: Unknown result type (might be due to invalid IL or missing references) //IL_0185: Expected O, but got Unknown //IL_0180: Unknown result type (might be due to invalid IL or missing references) //IL_018a: Expected O, but got Unknown //IL_0154: Unknown result type (might be due to invalid IL or missing references) //IL_015e: Expected O, but got Unknown //IL_01c0: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Expected O, but got Unknown //IL_0123: Unknown result type (might be due to invalid IL or missing references) //IL_0128: Unknown result type (might be due to invalid IL or missing references) try { switch (<>1__state) { default: return false; case 0: <>1__state = -1; <waiter>5__2 = new MultiTokenWaiter(new Func<Token, bool>[3] { delegate(Token t) { IdentifierToken val3 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val3 != null && val3.Name == "_sync_talk"; }, delegate(Token t) { IdentifierToken val2 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val2 != null && val2.Name == "blacklist"; }, (Token t) => (int)t.Type == 77 }, false, true); <>7__wrap2 = tokens.GetEnumerator(); <>1__state = -3; goto IL_020d; case 1: <>1__state = -4; <>2__current = (Token)new ConstantToken((Variant)new StringVariant(<ch>5__6)); <>1__state = 2; return true; case 2: <>1__state = -4; <ch>5__6 = null; goto IL_01a7; case 3: <>1__state = -3; goto IL_0206; case 4: { <>1__state = -3; goto IL_0206; } IL_0206: <token>5__4 = null; goto IL_020d; IL_01a7: if (<>7__wrap4.MoveNext()) { <ch>5__6 = <>7__wrap4.Current; <>2__current = new Token((TokenType)82, (uint?)null); <>1__state = 1; return true; } <>m__Finally2(); <>7__wrap4 = default(Enumerator<string>); <>2__current = <token>5__4; <>1__state = 3; return true; IL_020d: if (((global::System.Collections.IEnumerator)<>7__wrap2).MoveNext()) { <token>5__4 = <>7__wrap2.Current; if (<waiter>5__2.Check(<token>5__4)) { List<string> val = Enumerable.ToList<string>(Enumerable.Select<char, string>((global::System.Collections.Generic.IEnumerable<char>)Enumerable.ToList<char>((global::System.Collections.Generic.IEnumerable<char>)"абвгдеёжзийклмнопрстуфхцчшщьыэюя"), (Func<char, string>)((char c) => c.ToString()))); <>7__wrap4 = val.GetEnumerator(); <>1__state = -4; goto IL_01a7; } <>2__current = <token>5__4; <>1__state = 4; return true; } <>m__Finally1(); <>7__wrap2 = null; return false; } } catch { //try-fault ((global::System.IDisposable)this).Dispose(); throw; } } bool global::System.Collections.IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } private void <>m__Finally1() { <>1__state = -1; if (<>7__wrap2 != null) { ((global::System.IDisposable)<>7__wrap2).Dispose(); } } private void <>m__Finally2() { <>1__state = -3; ((global::System.IDisposable)<>7__wrap4).Dispose(); } [DebuggerHidden] void global::System.Collections.IEnumerator.Reset() { //IL_0000: Unknown result type (might be due to invalid IL or missing references) throw new NotSupportedException(); } [DebuggerHidden] global::System.Collections.Generic.IEnumerator<Token> global::System.Collections.Generic.IEnumerable<Token>.GetEnumerator() { <Modify>d__1 <Modify>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <Modify>d__ = this; } else { <Modify>d__ = new <Modify>d__1(0); } <Modify>d__.tokens = <>3__tokens; return <Modify>d__; } [DebuggerHidden] global::System.Collections.IEnumerator global::System.Collections.IEnumerable.GetEnumerator() { return (global::System.Collections.IEnumerator)((global::System.Collections.Generic.IEnumerable<Token>)this).GetEnumerator(); } } public bool ShouldRun(string path) { return path == "res://Scenes/Entities/Player/player.gdc"; } [IteratorStateMachine(typeof(<Modify>d__1))] public global::System.Collections.Generic.IEnumerable<Token> Modify(string path, global::System.Collections.Generic.IEnumerable<Token> tokens) { MultiTokenWaiter waiter = new MultiTokenWaiter(new Func<Token, bool>[3] { delegate(Token t) { IdentifierToken val3 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val3 != null && val3.Name == "_sync_talk"; }, delegate(Token t) { IdentifierToken val2 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val2 != null && val2.Name == "blacklist"; }, (Token t) => (int)t.Type == 77 }, false, true); global::System.Collections.Generic.IEnumerator<Token> enumerator = tokens.GetEnumerator(); try { while (((global::System.Collections.IEnumerator)enumerator).MoveNext()) { Token token = enumerator.Current; if (waiter.Check(token)) { List<string> val = Enumerable.ToList<string>(Enumerable.Select<char, string>((global::System.Collections.Generic.IEnumerable<char>)Enumerable.ToList<char>((global::System.Collections.Generic.IEnumerable<char>)"абвгдеёжзийклмнопрстуфхцчшщьыэюя"), (Func<char, string>)((char c) => c.ToString()))); Enumerator<string> enumerator2 = val.GetEnumerator(); try { while (enumerator2.MoveNext()) { string ch = enumerator2.Current; yield return new Token((TokenType)82, (uint?)null); yield return (Token)new ConstantToken((Variant)new StringVariant(ch)); } } finally { ((global::System.IDisposable)enumerator2).Dispose(); } yield return token; } else { yield return token; } } } finally { ((global::System.IDisposable)enumerator)?.Dispose(); } } } public class SpeechBubble : IScriptMod { [CompilerGenerated] private sealed class <Modify>d__1 : global::System.Collections.Generic.IEnumerable<Token>, global::System.Collections.IEnumerable, global::System.Collections.Generic.IEnumerator<Token>, global::System.Collections.IEnumerator, global::System.IDisposable { private int <>1__state; private Token <>2__current; private int <>l__initialThreadId; private global::System.Collections.Generic.IEnumerable<Token> tokens; public global::System.Collections.Generic.IEnumerable<Token> <>3__tokens; private MultiTokenWaiter <waiter>5__2; private global::System.Collections.Generic.IEnumerator<Token> <>7__wrap2; private global::System.Collections.Generic.IEnumerator<Token> <>7__wrap3; Token global::System.Collections.Generic.IEnumerator<Token>.Current { [DebuggerHidden] get { return <>2__current; } } object global::System.Collections.IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <Modify>d__1(int <>1__state) { this.<>1__state = <>1__state; <>l__initialThreadId = Environment.CurrentManagedThreadId; } [DebuggerHidden] void global::System.IDisposable.Dispose() { int num = <>1__state; if ((uint)(num - -4) > 1u && (uint)(num - 1) > 3u) { return; } try { if (num != -4 && num != 2) { return; } try { } finally { <>m__Finally2(); } } finally { <>m__Finally1(); } } private bool MoveNext() { //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Expected O, but got Unknown //IL_014e: Unknown result type (might be due to invalid IL or missing references) //IL_0158: Expected O, but got Unknown try { switch (<>1__state) { default: return false; case 0: <>1__state = -1; <waiter>5__2 = new MultiTokenWaiter(new Func<Token, bool>[2] { delegate(Token t) { IdentifierToken val = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val != null && val.Name == "_ready"; }, (Token t) => (int)t.Type == 89 }, false, true); <>7__wrap2 = tokens.GetEnumerator(); <>1__state = -3; break; case 1: { <>1__state = -3; global::System.Collections.Generic.IEnumerable<Token> enumerable = Helpers.SetFont("RichTextLabel"); <>7__wrap3 = enumerable.GetEnumerator(); <>1__state = -4; goto IL_012b; } case 2: <>1__state = -4; goto IL_012b; case 3: <>1__state = -3; break; case 4: { <>1__state = -3; break; } IL_012b: if (((global::System.Collections.IEnumerator)<>7__wrap3).MoveNext()) { Token current = <>7__wrap3.Current; <>2__current = current; <>1__state = 2; return true; } <>m__Finally2(); <>7__wrap3 = null; <>2__current = new Token((TokenType)89, (uint?)1u); <>1__state = 3; return true; } if (((global::System.Collections.IEnumerator)<>7__wrap2).MoveNext()) { Token current2 = <>7__wrap2.Current; if (<waiter>5__2.Check(current2)) { <>2__current = current2; <>1__state = 1; return true; } <>2__current = current2; <>1__state = 4; return true; } <>m__Finally1(); <>7__wrap2 = null; return false; } catch { //try-fault ((global::System.IDisposable)this).Dispose(); throw; } } bool global::System.Collections.IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } private void <>m__Finally1() { <>1__state = -1; if (<>7__wrap2 != null) { ((global::System.IDisposable)<>7__wrap2).Dispose(); } } private void <>m__Finally2() { <>1__state = -3; if (<>7__wrap3 != null) { ((global::System.IDisposable)<>7__wrap3).Dispose(); } } [DebuggerHidden] void global::System.Collections.IEnumerator.Reset() { //IL_0000: Unknown result type (might be due to invalid IL or missing references) throw new NotSupportedException(); } [DebuggerHidden] global::System.Collections.Generic.IEnumerator<Token> global::System.Collections.Generic.IEnumerable<Token>.GetEnumerator() { <Modify>d__1 <Modify>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <Modify>d__ = this; } else { <Modify>d__ = new <Modify>d__1(0); } <Modify>d__.tokens = <>3__tokens; return <Modify>d__; } [DebuggerHidden] global::System.Collections.IEnumerator global::System.Collections.IEnumerable.GetEnumerator() { return (global::System.Collections.IEnumerator)((global::System.Collections.Generic.IEnumerable<Token>)this).GetEnumerator(); } } public bool ShouldRun(string path) { return path == "res://Scenes/Entities/Player/SpeechBubble/speech_bubble.gdc"; } [IteratorStateMachine(typeof(<Modify>d__1))] public global::System.Collections.Generic.IEnumerable<Token> Modify(string path, global::System.Collections.Generic.IEnumerable<Token> tokens) { MultiTokenWaiter waiter = new MultiTokenWaiter(new Func<Token, bool>[2] { delegate(Token t) { IdentifierToken val = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val != null && val.Name == "_ready"; }, (Token t) => (int)t.Type == 89 }, false, true); global::System.Collections.Generic.IEnumerator<Token> enumerator = tokens.GetEnumerator(); try { while (((global::System.Collections.IEnumerator)enumerator).MoveNext()) { Token current = enumerator.Current; if (waiter.Check(current)) { yield return current; global::System.Collections.Generic.IEnumerable<Token> enumerable = Helpers.SetFont("RichTextLabel"); global::System.Collections.Generic.IEnumerator<Token> enumerator2 = enumerable.GetEnumerator(); try { while (((global::System.Collections.IEnumerator)enumerator2).MoveNext()) { yield return enumerator2.Current; } } finally { ((global::System.IDisposable)enumerator2)?.Dispose(); } yield return new Token((TokenType)89, (uint?)1u); } else { yield return current; } } } finally { ((global::System.IDisposable)enumerator)?.Dispose(); } } } public class SplashScreen : IScriptMod { [CompilerGenerated] private sealed class <Modify>d__3 : global::System.Collections.Generic.IEnumerable<Token>, global::System.Collections.IEnumerable, global::System.Collections.Generic.IEnumerator<Token>, global::System.Collections.IEnumerator, global::System.IDisposable { private int <>1__state; private Token <>2__current; private int <>l__initialThreadId; private global::System.Collections.Generic.IEnumerable<Token> tokens; public global::System.Collections.Generic.IEnumerable<Token> <>3__tokens; public SplashScreen <>4__this; private MultiTokenWaiter <waiter>5__2; private global::System.Collections.Generic.IEnumerator<Token> <>7__wrap2; private global::System.Collections.Generic.IEnumerator<Token> <>7__wrap3; Token global::System.Collections.Generic.IEnumerator<Token>.Current { [DebuggerHidden] get { return <>2__current; } } object global::System.Collections.IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <Modify>d__3(int <>1__state) { this.<>1__state = <>1__state; <>l__initialThreadId = Environment.CurrentManagedThreadId; } [DebuggerHidden] void global::System.IDisposable.Dispose() { int num = <>1__state; if ((uint)(num - -4) > 1u && (uint)(num - 1) > 3u) { return; } try { if (num != -4 && num != 2) { return; } try { } finally { <>m__Finally2(); } } finally { <>m__Finally1(); } } private bool MoveNext() { //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Expected O, but got Unknown //IL_01a3: Unknown result type (might be due to invalid IL or missing references) //IL_01ad: Expected O, but got Unknown //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00db: Expected O, but got Unknown try { int num = <>1__state; SplashScreen splashScreen = <>4__this; switch (num) { default: return false; case 0: <>1__state = -1; <waiter>5__2 = new MultiTokenWaiter(new Func<Token, bool>[2] { delegate(Token t) { IdentifierToken val = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val != null && val.Name == "_ready"; }, (Token t) => (int)t.Type == 89 }, false, true); <>7__wrap2 = tokens.GetEnumerator(); <>1__state = -3; break; case 1: { <>1__state = -3; global::System.Collections.Generic.IEnumerable<Token> enumerable = global::System.Array.Empty<Token>(); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.LoadExtImage("lame", splashScreen.<mod>P.Config.splashLamePath)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.LoadExtImage("god", splashScreen.<mod>P.Config.splashGodotPath)); <>7__wrap3 = enumerable.GetEnumerator(); <>1__state = -4; goto IL_0180; } case 2: <>1__state = -4; goto IL_0180; case 3: <>1__state = -3; break; case 4: { <>1__state = -3; break; } IL_0180: if (((global::System.Collections.IEnumerator)<>7__wrap3).MoveNext()) { Token current = <>7__wrap3.Current; <>2__current = current; <>1__state = 2; return true; } <>m__Finally2(); <>7__wrap3 = null; <>2__current = new Token((TokenType)89, (uint?)1u); <>1__state = 3; return true; } if (((global::System.Collections.IEnumerator)<>7__wrap2).MoveNext()) { Token current2 = <>7__wrap2.Current; if (<waiter>5__2.Check(current2)) { <>2__current = new Token((TokenType)89, (uint?)1u); <>1__state = 1; return true; } <>2__current = current2; <>1__state = 4; return true; } <>m__Finally1(); <>7__wrap2 = null; return false; } catch { //try-fault ((global::System.IDisposable)this).Dispose(); throw; } } bool global::System.Collections.IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } private void <>m__Finally1() { <>1__state = -1; if (<>7__wrap2 != null) { ((global::System.IDisposable)<>7__wrap2).Dispose(); } } private void <>m__Finally2() { <>1__state = -3; if (<>7__wrap3 != null) { ((global::System.IDisposable)<>7__wrap3).Dispose(); } } [DebuggerHidden] void global::System.Collections.IEnumerator.Reset() { //IL_0000: Unknown result type (might be due to invalid IL or missing references) throw new NotSupportedException(); } [DebuggerHidden] global::System.Collections.Generic.IEnumerator<Token> global::System.Collections.Generic.IEnumerable<Token>.GetEnumerator() { <Modify>d__3 <Modify>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <Modify>d__ = this; } else { <Modify>d__ = new <Modify>d__3(0) { <>4__this = <>4__this }; } <Modify>d__.tokens = <>3__tokens; return <Modify>d__; } [DebuggerHidden] global::System.Collections.IEnumerator global::System.Collections.IEnumerable.GetEnumerator() { return (global::System.Collections.IEnumerator)((global::System.Collections.Generic.IEnumerable<Token>)this).GetEnumerator(); } } [CompilerGenerated] private WFRusMod <mod>P; public SplashScreen(WFRusMod mod) { <mod>P = mod; base..ctor(); } public bool ShouldRun(string path) { return path == "res://Scenes/Menus/Splash/splash.gdc"; } [IteratorStateMachine(typeof(<Modify>d__3))] public global::System.Collections.Generic.IEnumerable<Token> Modify(string path, global::System.Collections.Generic.IEnumerable<Token> tokens) { MultiTokenWaiter waiter = new MultiTokenWaiter(new Func<Token, bool>[2] { delegate(Token t) { IdentifierToken val = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val != null && val.Name == "_ready"; }, (Token t) => (int)t.Type == 89 }, false, true); global::System.Collections.Generic.IEnumerator<Token> enumerator = tokens.GetEnumerator(); try { while (((global::System.Collections.IEnumerator)enumerator).MoveNext()) { Token current = enumerator.Current; if (waiter.Check(current)) { yield return new Token((TokenType)89, (uint?)1u); global::System.Collections.Generic.IEnumerable<Token> enumerable = global::System.Array.Empty<Token>(); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.LoadExtImage("lame", <mod>P.Config.splashLamePath)); enumerable = Enumerable.Concat<Token>(enumerable, Helpers.LoadExtImage("god", <mod>P.Config.splashGodotPath)); global::System.Collections.Generic.IEnumerator<Token> enumerator2 = enumerable.GetEnumerator(); try { while (((global::System.Collections.IEnumerator)enumerator2).MoveNext()) { yield return enumerator2.Current; } } finally { ((global::System.IDisposable)enumerator2)?.Dispose(); } yield return new Token((TokenType)89, (uint?)1u); } else { yield return current; } } } finally { ((global::System.IDisposable)enumerator)?.Dispose(); } } } } namespace WFRus.modifies.globals { public class GlobalsAddMaps : IScriptMod { [CompilerGenerated] private sealed class <Modify>d__1 : global::System.Collections.Generic.IEnumerable<Token>, global::System.Collections.IEnumerable, global::System.Collections.Generic.IEnumerator<Token>, global::System.Collections.IEnumerator, global::System.IDisposable { private int <>1__state; private Token <>2__current; private int <>l__initialThreadId; private global::System.Collections.Generic.IEnumerable<Token> tokens; public global::System.Collections.Generic.IEnumerable<Token> <>3__tokens; public GlobalsAddMaps <>4__this; private MultiTokenWaiter <waiter>5__2; private global::System.Collections.Generic.IEnumerator<Token> <>7__wrap2; private global::System.Collections.Generic.IEnumerator<Token> <>7__wrap3; Token global::System.Collections.Generic.IEnumerator<Token>.Current { [DebuggerHidden] get { return <>2__current; } } object global::System.Collections.IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <Modify>d__1(int <>1__state) { this.<>1__state = <>1__state; <>l__initialThreadId = Environment.CurrentManagedThreadId; } [DebuggerHidden] void global::System.IDisposable.Dispose() { int num = <>1__state; if ((uint)(num - -4) > 1u && (uint)(num - 1) > 2u) { return; } try { if (num != -4 && num != 2) { return; } try { } finally { <>m__Finally2(); } } finally { <>m__Finally1(); } } private bool MoveNext() { //IL_0563: Unknown result type (might be due to invalid IL or missing references) //IL_056d: Expected O, but got Unknown //IL_09da: Unknown result type (might be due to invalid IL or missing references) //IL_09e4: Expected O, but got Unknown //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Expected O, but got Unknown try { int num = <>1__state; GlobalsAddMaps globalsAddMaps = <>4__this; switch (num) { default: return false; case 0: <>1__state = -1; <waiter>5__2 = new MultiTokenWaiter(new Func<Token, bool>[2] { delegate(Token t) { IdentifierToken val = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val != null && val.Name == "loot_tables"; }, (Token t) => (int)t.Type == 89 }, false, true); <>7__wrap2 = tokens.GetEnumerator(); <>1__state = -3; break; case 1: { <>1__state = -3; global::System.Collections.Generic.IEnumerable<Token> enumerable = global::System.Array.Empty<Token>(); Dictionary<string, string> dict = new Dictionary<string, string> { ["Scout"] = "Скаут", ["Second Class Scout"] = "Второклассный скаут", ["First Class Scout"] = "Первоклассный скаут", ["Star Scout"] = "Звёздный скаут", ["Life Scout"] = "Скаут по жизни", ["Eagle Scout"] = "Старший скаут", ["Survival Expert"] = "Эксперт по выживанию", ["Pack Leader"] = "Лидер стаи", ["Headmaster"] = "Директор", ["Tenderfoot"] = "Новичок", ["Voyager"] = "Путешественник", ["Ace"] = "Ас", ["Admiral"] = "Адмирал", ["Ancient"] = "Древний", ["Bi"] = "Би", ["Bipedal Animal Drawer"] = "Двуногая тумбочка-животное", ["cadaver dog"] = "собака-кадавр", ["NiceCandy"] = "NiceCandy", ["Catfisher"] = "Ловец сомов", ["Cozy"] = "Комфортный", ["Creature"] = "Существо", ["Critter"] = "Тварь", ["Cryptid"] = "Криптоид", ["Dude"] = "Чувак", ["Elite"] = "Элита", [":3"] = ":3", ["Fish-Pilled"] = "Рыбинист", ["Freaky"] = "Фрик", ["Gay"] = "Гей", ["The Title Only For People Who Caught The Super Duper Rare Golden Bass"] = "Звание только для тех, кто поймал супер пупер редкого золотого окуня", ["The Title Only For People Who Caught The Super Duper Rare Golden Ray"] = "Звание только для тех, кто поймал супер пупер редкого золотого ската", ["Goober"] = "Дурашка", ["Good Boy"] = "Хороший мальчик", ["Good Girl"] = "Хорошая девочка", ["77 | 3328 FISSILE"] = "77 | 3328 FISSILE", ["Igloo or Hot Dog"] = "Иглу или хот-дог", ["Normal and Regular"] = "Нормальный и обычный", ["Is Cool"] = "Очень крутой", ["King"] = "Король", ["Kitten"] = "Котик", ["Koi Boy"] = "Кой-бой", ["fake lamedev"] = "фейк lamedev", ["lamedev"] = "lamedev", ["Lesbian"] = "Лесбиянка", ["Little Lad"] = "Микрочел", ["Majestic"] = "Царь во дворца", ["Musky"] = "Мускусный", ["Night Crawler"] = "Стрингер", ["nitrous oxide"] = "закусь азотом", ["Non-Binary"] = "Небинарный", ["Pan"] = "Кастрюля", ["Pretty"] = "Милый", ["Problematic"] = "Проблемный", ["Pup"] = "Щенок", ["Puppy"] = "Пёсик", ["Queer"] = "Квир", ["Shark Bait"] = "Наживка для акул", ["shithead"] = "ублюдок", ["Silly Guy"] = "Дурачок", ["Soggy Doggy"] = "До нитки", ["Special"] = "Особый", ["Webfishing Special Forces"] = "Спецотряд интернет-рыбалки", ["Stinker Dinker"] = "Вонючка", ["\"straight\""] = "\"натурал\"", ["Strongest Warrior"] = "Сильнейший воин", ["Stupid Idiot Baby"] = "Тупой ребёнок-идиот", ["Trans"] = "Транс", ["Yapper"] = "Болтун", ["ZedDog"] = "ZedDog" }; enumerable = Enumerable.Concat<Token>(enumerable, globalsAddMaps.assignDictionary("titlenamedict", dict)); enumerable = Enumerable.Append<Token>(enumerable, new Token((TokenType)89, (uint?)null)); Dictionary<string, string> dict2 = new Dictionary<string, string> { ["Welcome to Camp!"] = "Добро пожаловать в лагерь!", ["Getting the ropes!"] = "Уже понимаешь, как всё завязано!", ["Making a name for yourself!"] = "Зарабатываешь репутацию!", ["Shining!"] = "Блестишь!", ["Climbing the ladder!"] = "Взбираешься по лестнице!", ["The best of the best!"] = "Лучший из лучших!", ["You know it all!"] = "Всё знаешь!", ["Lead by example!"] = "Веди примером!", ["Keeping everyone else in line!"] = "Держишь всех в строю!", ["Getting around!"] = "Бегаешь туда-сюда!", ["Top of the world."] = "Вершина мира.", ["Ace!"] = "Ас!", ["admirable"] = "восхитительно", ["Eons old!"] = "Стар, как мир!", ["Bi!"] = "Би!", ["RAHHHH"] = "РАХХХХ", ["worlds smartest mutt"] = "умнейшая дворняга", ["the nicests candy"] = "the nicests candy", ["kinda like a cat but if it was fishing"] = "типа ловец снов но ловец сомов", ["Nice and warm!"] = "Уютно и тепло.", ["Raaaahh!"] = "Раааахх!", ["just scampering around, you"] = "тупо слоняешься без дела, ты", ["Mysterious!"] = "Загадочно!", ["Duuuuude..."] = "Чуваааак...", ["Intense!"] = "Мощно!", [":3"] = ":3", ["based and fish-pilled"] = "базированный рыбинист", ["what if webfishing was freaky"] = "вот бы была иге по интернет рыбалке", ["Gay!"] = "Гей!", ["Woah!"] = "Воу!", ["Goob!"] = "Гуп!", ["Who'sa good boy!"] = "Кто хороший мальчик!", ["Who'sa good girl!"] = "Кто хорошая девочка!", ["Hazardous..."] = "Радиокартивно...", ["wad of meat"] = "пачка мяса", ["we know, zach."] = "мы в курсе, зак.", ["The coolest."] = "Крутейший.", ["Royalty!"] = "Царственно!", ["Mew!"] = "Мяу!", ["koiboi"] = "коибои", ["due to a bug, this exists now."] = "произошёл какой-то баг, и появилось это звание", ["if youre not west and you see this. you're evil."] = "если вы не уэст и видите это. вы злодей.", ["Lesbian!"] = "Лесбиянка!", ["Lil guy!"] = "Мини-челик!", ["Graceful!"] = "Грациозно!", ["Smelly!"] = "Вонь какая!", ["Wormy!"] = "Джилленхол?", ["very funny"] = "очень смешно", ["Non-Binary!"] = "Небинарный!", ["Pan!"] = "Кастрюля!", ["The prettiest!"] = "Милейше!", ["Yikes, dude."] = "Мда, чел.", ["Yeah."] = "Ага.", ["Pup!"] = "Щенок!", ["How peculiar."] = "Как интересно.", ["Shark Bait!"] = "Наживка для акул!", ["Pronounced, Shitheed."] = "Кто, интересно, выберет такое звание?", ["just a silly lil guy,,,"] = "всего лишь маленький дурашка", ["Sloppy!"] = "Подскользнёшься!", ["Very special :)"] = "Очень особый :)", ["The W.S.F."] = "С.И.Р.", ["The stinkiest!"] = "Максимальный вонючка!", ["mhm"] = "угу", ["The mightiest!"] = "Величайший!", ["we get it box."] = "это же для друзей разраба, да?", ["Trans!"] = "Транс!", ["Yap yap yap!"] = "Бла бла бла!", ["zeddy doggy"] = "zeddy doggy" }; enumerable = Enumerable.Concat<Token>(enumerable, globalsAddMaps.assignDictionary("titledescdict", dict2)); enumerable = Enumerable.Append<Token>(enumerable, new Token((TokenType)89, (uint?)null)); <>7__wrap3 = enumerable.GetEnumerator(); <>1__state = -4; goto IL_0a25; } case 2: <>1__state = -4; goto IL_0a25; case 3: { <>1__state = -3; break; } IL_0a25: if (((global::System.Collections.IEnumerator)<>7__wrap3).MoveNext()) { Token current = <>7__wrap3.Current; <>2__current = current; <>1__state = 2; return true; } <>m__Finally2(); <>7__wrap3 = null; break; } if (((global::System.Collections.IEnumerator)<>7__wrap2).MoveNext()) { Token current2 = <>7__wrap2.Current; if (<waiter>5__2.Check(current2)) { <>2__current = current2; <>1__state = 1; return true; } <>2__current = current2; <>1__state = 3; return true; } <>m__Finally1(); <>7__wrap2 = null; return false; } catch { //try-fault ((global::System.IDisposable)this).Dispose(); throw; } } bool global::System.Collections.IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } private void <>m__Finally1() { <>1__state = -1; if (<>7__wrap2 != null) { ((global::System.IDisposable)<>7__wrap2).Dispose(); } } private void <>m__Finally2() { <>1__state = -3; if (<>7__wrap3 != null) { ((global::System.IDisposable)<>7__wrap3).Dispose(); } } [DebuggerHidden] void global::System.Collections.IEnumerator.Reset() { //IL_0000: Unknown result type (might be due to invalid IL or missing references) throw new NotSupportedException(); } [DebuggerHidden] global::System.Collections.Generic.IEnumerator<Token> global::System.Collections.Generic.IEnumerable<Token>.GetEnumerator() { <Modify>d__1 <Modify>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <Modify>d__ = this; } else { <Modify>d__ = new <Modify>d__1(0) { <>4__this = <>4__this }; } <Modify>d__.tokens = <>3__tokens; return <Modify>d__; } [DebuggerHidden] global::System.Collections.IEnumerator global::System.Collections.IEnumerable.GetEnumerator() { return (global::System.Collections.IEnumerator)((global::System.Collections.Generic.IEnumerable<Token>)this).GetEnumerator(); } } public bool ShouldRun(string path) { return path == "res://Scenes/Singletons/globals.gdc"; } [IteratorStateMachine(typeof(<Modify>d__1))] public global::System.Collections.Generic.IEnumerable<Token> Modify(string path, global::System.Collections.Generic.IEnumerable<Token> tokens) { MultiTokenWaiter waiter = new MultiTokenWaiter(new Func<Token, bool>[2] { delegate(Token t) { IdentifierToken val = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val != null && val.Name == "loot_tables"; }, (Token t) => (int)t.Type == 89 }, false, true); global::System.Collections.Generic.IEnumerator<Token> enumerator = tokens.GetEnumerator(); try { while (((global::System.Collections.IEnumerator)enumerator).MoveNext()) { Token current = enumerator.Current; if (waiter.Check(current)) { yield return current; global::System.Collections.Generic.IEnumerable<Token> enumerable = global::System.Array.Empty<Token>(); Dictionary<string, string> dict = new Dictionary<string, string> { ["Scout"] = "Скаут", ["Second Class Scout"] = "Второклассный скаут", ["First Class Scout"] = "Первоклассный скаут", ["Star Scout"] = "Звёздный скаут", ["Life Scout"] = "Скаут по жизни", ["Eagle Scout"] = "Старший скаут", ["Survival Expert"] = "Эксперт по выживанию", ["Pack Leader"] = "Лидер стаи", ["Headmaster"] = "Директор", ["Tenderfoot"] = "Новичок", ["Voyager"] = "Путешественник", ["Ace"] = "Ас", ["Admiral"] = "Адмирал", ["Ancient"] = "Древний", ["Bi"] = "Би", ["Bipedal Animal Drawer"] = "Двуногая тумбочка-животное", ["cadaver dog"] = "собака-кадавр", ["NiceCandy"] = "NiceCandy", ["Catfisher"] = "Ловец сомов", ["Cozy"] = "Комфортный", ["Creature"] = "Существо", ["Critter"] = "Тварь", ["Cryptid"] = "Криптоид", ["Dude"] = "Чувак", ["Elite"] = "Элита", [":3"] = ":3", ["Fish-Pilled"] = "Рыбинист", ["Freaky"] = "Фрик", ["Gay"] = "Гей", ["The Title Only For People Who Caught The Super Duper Rare Golden Bass"] = "Звание только для тех, кто поймал супер пупер редкого золотого окуня", ["The Title Only For People Who Caught The Super Duper Rare Golden Ray"] = "Звание только для тех, кто поймал супер пупер редкого золотого ската", ["Goober"] = "Дурашка", ["Good Boy"] = "Хороший мальчик", ["Good Girl"] = "Хорошая девочка", ["77 | 3328 FISSILE"] = "77 | 3328 FISSILE", ["Igloo or Hot Dog"] = "Иглу или хот-дог", ["Normal and Regular"] = "Нормальный и обычный", ["Is Cool"] = "Очень крутой", ["King"] = "Король", ["Kitten"] = "Котик", ["Koi Boy"] = "Кой-бой", ["fake lamedev"] = "фейк lamedev", ["lamedev"] = "lamedev", ["Lesbian"] = "Лесбиянка", ["Little Lad"] = "Микрочел", ["Majestic"] = "Царь во дворца", ["Musky"] = "Мускусный", ["Night Crawler"] = "Стрингер", ["nitrous oxide"] = "закусь азотом", ["Non-Binary"] = "Небинарный", ["Pan"] = "Кастрюля", ["Pretty"] = "Милый", ["Problematic"] = "Проблемный", ["Pup"] = "Щенок", ["Puppy"] = "Пёсик", ["Queer"] = "Квир", ["Shark Bait"] = "Наживка для акул", ["shithead"] = "ублюдок", ["Silly Guy"] = "Дурачок", ["Soggy Doggy"] = "До нитки", ["Special"] = "Особый", ["Webfishing Special Forces"] = "Спецотряд интернет-рыбалки", ["Stinker Dinker"] = "Вонючка", ["\"straight\""] = "\"натурал\"", ["Strongest Warrior"] = "Сильнейший воин", ["Stupid Idiot Baby"] = "Тупой ребёнок-идиот", ["Trans"] = "Транс", ["Yapper"] = "Болтун", ["ZedDog"] = "ZedDog" }; enumerable = Enumerable.Concat<Token>(enumerable, assignDictionary("titlenamedict", dict)); enumerable = Enumerable.Append<Token>(enumerable, new Token((TokenType)89, (uint?)null)); Dictionary<string, string> dict2 = new Dictionary<string, string> { ["Welcome to Camp!"] = "Добро пожаловать в лагерь!", ["Getting the ropes!"] = "Уже понимаешь, как всё завязано!", ["Making a name for yourself!"] = "Зарабатываешь репутацию!", ["Shining!"] = "Блестишь!", ["Climbing the ladder!"] = "Взбираешься по лестнице!", ["The best of the best!"] = "Лучший из лучших!", ["You know it all!"] = "Всё знаешь!", ["Lead by example!"] = "Веди примером!", ["Keeping everyone else in line!"] = "Держишь всех в строю!", ["Getting around!"] = "Бегаешь туда-сюда!", ["Top of the world."] = "Вершина мира.", ["Ace!"] = "Ас!", ["admirable"] = "восхитительно", ["Eons old!"] = "Стар, как мир!", ["Bi!"] = "Би!", ["RAHHHH"] = "РАХХХХ", ["worlds smartest mutt"] = "умнейшая дворняга", ["the nicests candy"] = "the nicests candy", ["kinda like a cat but if it was fishing"] = "типа ловец снов но ловец сомов", ["Nice and warm!"] = "Уютно и тепло.", ["Raaaahh!"] = "Раааахх!", ["just scampering around, you"] = "тупо слоняешься без дела, ты", ["Mysterious!"] = "Загадочно!", ["Duuuuude..."] = "Чуваааак...", ["Intense!"] = "Мощно!", [":3"] = ":3", ["based and fish-pilled"] = "базированный рыбинист", ["what if webfishing was freaky"] = "вот бы была иге по интернет рыбалке", ["Gay!"] = "Гей!", ["Woah!"] = "Воу!", ["Goob!"] = "Гуп!", ["Who'sa good boy!"] = "Кто хороший мальчик!", ["Who'sa good girl!"] = "Кто хорошая девочка!", ["Hazardous..."] = "Радиокартивно...", ["wad of meat"] = "пачка мяса", ["we know, zach."] = "мы в курсе, зак.", ["The coolest."] = "Крутейший.", ["Royalty!"] = "Царственно!", ["Mew!"] = "Мяу!", ["koiboi"] = "коибои", ["due to a bug, this exists now."] = "произошёл какой-то баг, и появилось это звание", ["if youre not west and you see this. you're evil."] = "если вы не уэст и видите это. вы злодей.", ["Lesbian!"] = "Лесбиянка!", ["Lil guy!"] = "Мини-челик!", ["Graceful!"] = "Грациозно!", ["Smelly!"] = "Вонь какая!", ["Wormy!"] = "Джилленхол?", ["very funny"] = "очень смешно", ["Non-Binary!"] = "Небинарный!", ["Pan!"] = "Кастрюля!", ["The prettiest!"] = "Милейше!", ["Yikes, dude."] = "Мда, чел.", ["Yeah."] = "Ага.", ["Pup!"] = "Щенок!", ["How peculiar."] = "Как интересно.", ["Shark Bait!"] = "Наживка для акул!", ["Pronounced, Shitheed."] = "Кто, интересно, выберет такое звание?", ["just a silly lil guy,,,"] = "всего лишь маленький дурашка", ["Sloppy!"] = "Подскользнёшься!", ["Very special :)"] = "Очень особый :)", ["The W.S.F."] = "С.И.Р.", ["The stinkiest!"] = "Максимальный вонючка!", ["mhm"] = "угу", ["The mightiest!"] = "Величайший!", ["we get it box."] = "это же для друзей разраба, да?", ["Trans!"] = "Транс!", ["Yap yap yap!"] = "Бла бла бла!", ["zeddy doggy"] = "zeddy doggy" }; enumerable = Enumerable.Concat<Token>(enumerable, assignDictionary("titledescdict", dict2)); enumerable = Enumerable.Append<Token>(enumerable, new Token((TokenType)89, (uint?)null)); global::System.Collections.Generic.IEnumerator<Token> enumerator2 = enumerable.GetEnumerator(); try { while (((global::System.Collections.IEnumerator)enumerator2).MoveNext()) { yield return enumerator2.Current; } } finally { ((global::System.IDisposable)enumerator2)?.Dispose(); } } else { yield return current; } } } finally { ((global::System.IDisposable)enumerator)?.Dispose(); } } private global::System.Collections.Generic.IEnumerable<Token> assignDictionary(string identifier, Dictionary<string, string> dict) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Expected O, but got Unknown //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Expected O, but got Unknown //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Expected O, but got Unknown //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Expected O, but got Unknown //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Expected O, but got Unknown return Enumerable.Append<Token>(Enumerable.Concat<Token>(Enumerable.Append<Token>(Enumerable.Append<Token>(Enumerable.Append<Token>(Enumerable.Append<Token>((global::System.Collections.Generic.IEnumerable<Token>)global::System.Array.Empty<Token>(), new Token((TokenType)59, (uint?)null)), (Token)new IdentifierToken(identifier)), new Token((TokenType)23, (uint?)null)), new Token((TokenType)78, (uint?)null)), parseDictionary(dict)), new Token((TokenType)79, (uint?)null)); } private global::System.Collections.Generic.IEnumerable<Token> parseDictionary(Dictionary<string, string> dict) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Expected O, but got Unknown //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Expected O, but got Unknown //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Expected O, but got Unknown //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Expected O, but got Unknown //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Expected O, but got Unknown //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Expected O, but got Unknown global::System.Collections.Generic.IEnumerable<Token> enumerable = global::System.Array.Empty<Token>(); Enumerator<string, string> enumerator = dict.GetEnumerator(); bool flag = enumerator.MoveNext(); string text = default(string); string text2 = default(string); while (flag) { enumerator.Current.Deconstruct(ref text, ref text2); string text3 = text; string text4 = text2; flag = enumerator.MoveNext(); enumerable = Enumerable.Append<Token>(enumerable, (Token)new ConstantToken((Variant)new StringVariant(text3))); enumerable = Enumerable.Append<Token>(enumerable, new Token((TokenType)86, (uint?)null)); enumerable = Enumerable.Append<Token>(enumerable, (Token)new ConstantToken((Variant)new StringVariant(text4))); if (flag) { enumerable = Enumerable.Append<Token>(enumerable, new Token((TokenType)82, (uint?)null)); } } return enumerable; } } public class GlobalsUseMaps : IScriptMod { [CompilerGenerated] private sealed class <Modify>d__1 : global::System.Collections.Generic.IEnumerable<Token>, global::System.Collections.IEnumerable, global::System.Collections.Generic.IEnumerator<Token>, global::System.Collections.IEnumerator, global::System.IDisposable { private int <>1__state; private Token <>2__current; private int <>l__initialThreadId; private global::System.Collections.Generic.IEnumerable<Token> tokens; public global::System.Collections.Generic.IEnumerable<Token> <>3__tokens; private MultiTokenWaiter <waiter>5__2; private global::System.Collections.Generic.IEnumerator<Token> <>7__wrap2; private global::System.Collections.Generic.IEnumerator<Token> <>7__wrap3; Token global::System.Collections.Generic.IEnumerator<Token>.Current { [DebuggerHidden] get { return <>2__current; } } object global::System.Collections.IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <Modify>d__1(int <>1__state) { this.<>1__state = <>1__state; <>l__initialThreadId = Environment.CurrentManagedThreadId; } [DebuggerHidden] void global::System.IDisposable.Dispose() { int num = <>1__state; if ((uint)(num - -4) > 1u && (uint)(num - 1) > 2u) { return; } try { if (num != -4 && num != 1) { return; } try { } finally { <>m__Finally2(); } } finally { <>m__Finally1(); } } private bool MoveNext() { //IL_020d: Unknown result type (might be due to invalid IL or missing references) //IL_0217: Expected O, but got Unknown //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Expected O, but got Unknown try { switch (<>1__state) { default: return false; case 0: <>1__state = -1; <waiter>5__2 = new MultiTokenWaiter(new Func<Token, bool>[4] { delegate(Token t) { IdentifierToken val2 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val2 != null && val2.Name == "_add_resource"; }, delegate(Token t) { IdentifierToken val = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val != null && val.Name == "new"; }, delegate(Token t) { //IL_0004: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Invalid comparison between Unknown and I4 if (t != null && (int)t.Type == 5) { uint? associatedData = t.AssociatedData; if (associatedData.HasValue) { return associatedData.GetValueOrDefault() == 76; } } return false; }, (Token t) => (int)t.Type == 89 }, false, true); <>7__wrap2 = tokens.GetEnumerator(); <>1__state = -3; goto IL_0246; case 1: <>1__state = -4; goto IL_01ea; case 2: <>1__state = -3; goto IL_0246; case 3: { <>1__state = -3; goto IL_0246; } IL_0246: if (((global::System.Collections.IEnumerator)<>7__wrap2).MoveNext()) { Token current = <>7__wrap2.Current; if (<waiter>5__2.Check(current)) { global::System.Collections.Generic.IEnumerable<Token> enumerable = global::System.Array.Empty<Token>(); enumerable = Enumerable.Concat<Token>(enumerable, ScriptTokenizer.Tokenize("if file_name.rfind(\"title_\") != -1:", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, ScriptTokenizer.Tokenize("if new[\"file\"].title in titlenamedict:", 2u)); enumerable = Enumerable.Concat<Token>(enumerable, ScriptTokenizer.Tokenize("var titlename = titlenamedict[new[\"file\"].title]", 3u)); enumerable = Enumerable.Concat<Token>(enumerable, ScriptTokenizer.Tokenize("new[\"file\"].title = titlename", 3u)); enumerable = Enumerable.Concat<Token>(enumerable, ScriptTokenizer.Tokenize("new[\"file\"].name = \"Звание «\" + titlename + \"»\" ", 3u)); enumerable = Enumerable.Concat<Token>(enumerable, ScriptTokenizer.Tokenize("new[\"file\"].desc = titledescdict[new[\"file\"].desc]", 3u)); enumerable = Enumerable.Concat<Token>(enumerable, ScriptTokenizer.Tokenize("elif new[\"file\"].name == \"No Title\":", 2u)); enumerable = Enumerable.Concat<Token>(enumerable, ScriptTokenizer.Tokenize("new[\"file\"].name = \"Нет звания\" ", 3u)); enumerable = Enumerable.Concat<Token>(enumerable, ScriptTokenizer.Tokenize("new[\"file\"].desc = \"Без звания!\" ", 3u)); <>7__wrap3 = enumerable.GetEnumerator(); <>1__state = -4; goto IL_01ea; } <>2__current = current; <>1__state = 3; return true; } <>m__Finally1(); <>7__wrap2 = null; return false; IL_01ea: if (((global::System.Collections.IEnumerator)<>7__wrap3).MoveNext()) { Token current2 = <>7__wrap3.Current; <>2__current = current2; <>1__state = 1; return true; } <>m__Finally2(); <>7__wrap3 = null; <>2__current = new Token((TokenType)89, (uint?)1u); <>1__state = 2; return true; } } catch { //try-fault ((global::System.IDisposable)this).Dispose(); throw; } } bool global::System.Collections.IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } private void <>m__Finally1() { <>1__state = -1; if (<>7__wrap2 != null) { ((global::System.IDisposable)<>7__wrap2).Dispose(); } } private void <>m__Finally2() { <>1__state = -3; if (<>7__wrap3 != null) { ((global::System.IDisposable)<>7__wrap3).Dispose(); } } [DebuggerHidden] void global::System.Collections.IEnumerator.Reset() { //IL_0000: Unknown result type (might be due to invalid IL or missing references) throw new NotSupportedException(); } [DebuggerHidden] global::System.Collections.Generic.IEnumerator<Token> global::System.Collections.Generic.IEnumerable<Token>.GetEnumerator() { <Modify>d__1 <Modify>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <Modify>d__ = this; } else { <Modify>d__ = new <Modify>d__1(0); } <Modify>d__.tokens = <>3__tokens; return <Modify>d__; } [DebuggerHidden] global::System.Collections.IEnumerator global::System.Collections.IEnumerable.GetEnumerator() { return (global::System.Collections.IEnumerator)((global::System.Collections.Generic.IEnumerable<Token>)this).GetEnumerator(); } } public bool ShouldRun(string path) { return path == "res://Scenes/Singletons/globals.gdc"; } [IteratorStateMachine(typeof(<Modify>d__1))] public global::System.Collections.Generic.IEnumerable<Token> Modify(string path, global::System.Collections.Generic.IEnumerable<Token> tokens) { MultiTokenWaiter waiter = new MultiTokenWaiter(new Func<Token, bool>[4] { delegate(Token t) { IdentifierToken val2 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val2 != null && val2.Name == "_add_resource"; }, delegate(Token t) { IdentifierToken val = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val != null && val.Name == "new"; }, delegate(Token t) { //IL_0004: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Invalid comparison between Unknown and I4 if (t != null && (int)t.Type == 5) { uint? associatedData = t.AssociatedData; if (associatedData.HasValue) { return associatedData.GetValueOrDefault() == 76; } } return false; }, (Token t) => (int)t.Type == 89 }, false, true); global::System.Collections.Generic.IEnumerator<Token> enumerator = tokens.GetEnumerator(); try { while (((global::System.Collections.IEnumerator)enumerator).MoveNext()) { Token current = enumerator.Current; if (waiter.Check(current)) { global::System.Collections.Generic.IEnumerable<Token> enumerable = global::System.Array.Empty<Token>(); enumerable = Enumerable.Concat<Token>(enumerable, ScriptTokenizer.Tokenize("if file_name.rfind(\"title_\") != -1:", 1u)); enumerable = Enumerable.Concat<Token>(enumerable, ScriptTokenizer.Tokenize("if new[\"file\"].title in titlenamedict:", 2u)); enumerable = Enumerable.Concat<Token>(enumerable, ScriptTokenizer.Tokenize("var titlename = titlenamedict[new[\"file\"].title]", 3u)); enumerable = Enumerable.Concat<Token>(enumerable, ScriptTokenizer.Tokenize("new[\"file\"].title = titlename", 3u)); enumerable = Enumerable.Concat<Token>(enumerable, ScriptTokenizer.Tokenize("new[\"file\"].name = \"Звание «\" + titlename + \"»\" ", 3u)); enumerable = Enumerable.Concat<Token>(enumerable, ScriptTokenizer.Tokenize("new[\"file\"].desc = titledescdict[new[\"file\"].desc]", 3u)); enumerable = Enumerable.Concat<Token>(enumerable, ScriptTokenizer.Tokenize("elif new[\"file\"].name == \"No Title\":", 2u)); enumerable = Enumerable.Concat<Token>(enumerable, ScriptTokenizer.Tokenize("new[\"file\"].name = \"Нет звания\" ", 3u)); enumerable = Enumerable.Concat<Token>(enumerable, ScriptTokenizer.Tokenize("new[\"file\"].desc = \"Без звания!\" ", 3u)); global::System.Collections.Generic.IEnumerator<Token> enumerator2 = enumerable.GetEnumerator(); try { while (((global::System.Collections.IEnumerator)enumerator2).MoveNext()) { yield return enumerator2.Current; } } finally { ((global::System.IDisposable)enumerator2)?.Dispose(); } yield return new Token((TokenType)89, (uint?)1u); } else { yield return current; } } } finally { ((global::System.IDisposable)enumerator)?.Dispose(); } } } public class Voice : IScriptMod { [CompilerGenerated] private sealed class <Modify>d__1 : global::System.Collections.Generic.IEnumerable<Token>, global::System.Collections.IEnumerable, global::System.Collections.Generic.IEnumerator<Token>, global::System.Collections.IEnumerator, global::System.IDisposable { private int <>1__state; private Token <>2__current; private int <>l__initialThreadId; private global::System.Collections.Generic.IEnumerable<Token> tokens; public global::System.Collections.Generic.IEnumerable<Token> <>3__tokens; private MultiTokenWaiter <waiter>5__2; private global::System.Collections.Generic.IEnumerator<Token> <>7__wrap2; Token global::System.Collections.Generic.IEnumerator<Token>.Current { [DebuggerHidden] get { return <>2__current; } } object global::System.Collections.IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <Modify>d__1(int <>1__state) { this.<>1__state = <>1__state; <>l__initialThreadId = Environment.CurrentManagedThreadId; } [DebuggerHidden] void global::System.IDisposable.Dispose() { int num = <>1__state; if (num == -3 || (uint)(num - 1) <= 1u) { try { } finally { <>m__Finally1(); } } } private bool MoveNext() { //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_0129: Expected O, but got Unknown //IL_0124: Unknown result type (might be due to invalid IL or missing references) //IL_012e: Expected O, but got Unknown //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Expected O, but got Unknown try { switch (<>1__state) { default: return false; case 0: <>1__state = -1; <waiter>5__2 = new MultiTokenWaiter(new Func<Token, bool>[5] { delegate(Token t) { IdentifierToken val3 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val3 != null && val3.Name == "_generate_voice_bank"; }, delegate(Token t) { IdentifierToken val2 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val2 != null && val2.Name == "voice_bank"; }, delegate(Token t) { IdentifierToken val = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val != null && val.Name == "path"; }, (Token t) => (int)t.Type == 23, (Token t) => t is ConstantToken }, false, true); <>7__wrap2 = tokens.GetEnumerator(); <>1__state = -3; break; case 1: <>1__state = -3; break; case 2: <>1__state = -3; break; } if (((global::System.Collections.IEnumerator)<>7__wrap2).MoveNext()) { Token current = <>7__wrap2.Current; if (<waiter>5__2.Check(current)) { <>2__current = (Token)new ConstantToken((Variant)new StringVariant("res://mods/WFRus/RuVoice/")); <>1__state = 1; return true; } <>2__current = current; <>1__state = 2; return true; } <>m__Finally1(); <>7__wrap2 = null; return false; } catch { //try-fault ((global::System.IDisposable)this).Dispose(); throw; } } bool global::System.Collections.IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } private void <>m__Finally1() { <>1__state = -1; if (<>7__wrap2 != null) { ((global::System.IDisposable)<>7__wrap2).Dispose(); } } [DebuggerHidden] void global::System.Collections.IEnumerator.Reset() { //IL_0000: Unknown result type (might be due to invalid IL or missing references) throw new NotSupportedException(); } [DebuggerHidden] global::System.Collections.Generic.IEnumerator<Token> global::System.Collections.Generic.IEnumerable<Token>.GetEnumerator() { <Modify>d__1 <Modify>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <Modify>d__ = this; } else { <Modify>d__ = new <Modify>d__1(0); } <Modify>d__.tokens = <>3__tokens; return <Modify>d__; } [DebuggerHidden] global::System.Collections.IEnumerator global::System.Collections.IEnumerable.GetEnumerator() { return (global::System.Collections.IEnumerator)((global::System.Collections.Generic.IEnumerable<Token>)this).GetEnumerator(); } } public bool ShouldRun(string path) { return path == "res://Scenes/Singletons/globals.gdc"; } [IteratorStateMachine(typeof(<Modify>d__1))] public global::System.Collections.Generic.IEnumerable<Token> Modify(string path, global::System.Collections.Generic.IEnumerable<Token> tokens) { MultiTokenWaiter waiter = new MultiTokenWaiter(new Func<Token, bool>[5] { delegate(Token t) { IdentifierToken val3 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val3 != null && val3.Name == "_generate_voice_bank"; }, delegate(Token t) { IdentifierToken val2 = (Id