Decompiled source of Lure v4.2.1
GDWeave/mods/Sulayre.Lure/Sulayre.Lure.dll
Decompiled a day 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.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 Sulayre.Lure.Patches; [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("Sulayre.Lure")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0.0+a41ed296a4be512dc16b7dbeab5deee07b5b6b10")] [assembly: AssemblyProduct("Sulayre.Lure")] [assembly: AssemblyTitle("Sulayre.Lure")] [assembly: AssemblyVersion("1.0.0.0")] [module: RefSafetyRules(11)] namespace Sulayre.Lure { public class Config { [JsonInclude] public bool bonus_content; [JsonInclude] public bool bonus_prompt = true; } public class Mod : IMod, global::System.IDisposable { public Config Config; public Mod(IModInterface modInterface) { Config = modInterface.ReadConfig<Config>(); modInterface.Logger.Information("\n88 88 88 88\"\"Yb 888888 \r\n88 88 88 88__dP 88__ \r\n88 .o Y8 8P 88\"Yb 88\"\" \r\n88ood8 `YbodP' 88 Yb 888888 "); modInterface.RegisterScriptMod((IScriptMod)(object)new GlobalPatcher()); modInterface.RegisterScriptMod((IScriptMod)(object)new PatternPatcher()); modInterface.RegisterScriptMod((IScriptMod)(object)new FacePatcher()); modInterface.RegisterScriptMod((IScriptMod)(object)new BarkPatcher()); modInterface.RegisterScriptMod((IScriptMod)(object)new ItemPatcher()); modInterface.RegisterScriptMod((IScriptMod)(object)new SavePatcher()); modInterface.RegisterScriptMod((IScriptMod)(object)new TitlePatcher()); modInterface.RegisterScriptMod((IScriptMod)(object)new NetworkPatcher()); modInterface.RegisterScriptMod((IScriptMod)(object)new MainMenuPatcher()); modInterface.RegisterScriptMod((IScriptMod)(object)new ServerButtonPatcher()); modInterface.RegisterScriptMod((IScriptMod)(object)new AquaPatcher()); } public void Dispose() { } } } namespace Sulayre.Lure.Patches { public class AquaPatcher : 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) <= 20u) { try { } finally { <>m__Finally1(); } } } private bool MoveNext() { //IL_01d8: Unknown result type (might be due to invalid IL or missing references) //IL_01e2: Expected O, but got Unknown //IL_0204: Unknown result type (might be due to invalid IL or missing references) //IL_020e: Expected O, but got Unknown //IL_022a: Unknown result type (might be due to invalid IL or missing references) //IL_0234: Expected O, but got Unknown //IL_0256: Unknown result type (might be due to invalid IL or missing references) //IL_0260: Expected O, but got Unknown //IL_027c: Unknown result type (might be due to invalid IL or missing references) //IL_0286: Expected O, but got Unknown //IL_02a8: Unknown result type (might be due to invalid IL or missing references) //IL_02b2: Expected O, but got Unknown //IL_02ce: Unknown result type (might be due to invalid IL or missing references) //IL_02d8: Expected O, but got Unknown //IL_02fa: Unknown result type (might be due to invalid IL or missing references) //IL_0304: Expected O, but got Unknown //IL_0327: Unknown result type (might be due to invalid IL or missing references) //IL_0331: Expected O, but got Unknown //IL_0354: Unknown result type (might be due to invalid IL or missing references) //IL_035e: Expected O, but got Unknown //IL_037b: Unknown result type (might be due to invalid IL or missing references) //IL_0385: Expected O, but got Unknown //IL_03a8: Unknown result type (might be due to invalid IL or missing references) //IL_03b2: Expected O, but got Unknown //IL_03cf: Unknown result type (might be due to invalid IL or missing references) //IL_03d9: Expected O, but got Unknown //IL_03fc: Unknown result type (might be due to invalid IL or missing references) //IL_0406: Expected O, but got Unknown //IL_0429: Unknown result type (might be due to invalid IL or missing references) //IL_0433: Expected O, but got Unknown //IL_0450: Unknown result type (might be due to invalid IL or missing references) //IL_045a: Expected O, but got Unknown //IL_047d: Unknown result type (might be due to invalid IL or missing references) //IL_0487: Expected O, but got Unknown //IL_04a4: Unknown result type (might be due to invalid IL or missing references) //IL_04ae: Expected O, but got Unknown //IL_04a9: Unknown result type (might be due to invalid IL or missing references) //IL_04b3: Expected O, but got Unknown //IL_04d0: Unknown result type (might be due to invalid IL or missing references) //IL_04da: Expected O, but got Unknown //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_0174: 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>[7] { delegate(Token t) { IdentifierToken val2 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val2 != null && val2.Name == "texture"; }, (Token t) => (int)t.Type == 23, delegate(Token t) { ConstantToken val = (ConstantToken)(object)((t is ConstantToken) ? t : null); return val != null && val.Value is NilVariant; }, (Token t) => (int)t.Type == 89, (Token t) => (int)t.Type == 40, (Token t) => (int)t.Type == 86, (Token t) => (int)t.Type == 89 }, false, false); <>7__wrap2 = tokens.GetEnumerator(); <>1__state = -3; break; case 1: <>1__state = -3; <>2__current = new Token((TokenType)38, (uint?)null); <>1__state = 2; return true; case 2: <>1__state = -3; <>2__current = new Token((TokenType)15, (uint?)null); <>1__state = 3; return true; case 3: <>1__state = -3; <>2__current = (Token)new IdentifierToken("Globals"); <>1__state = 4; return true; case 4: <>1__state = -3; <>2__current = new Token((TokenType)84, (uint?)null); <>1__state = 5; return true; case 5: <>1__state = -3; <>2__current = (Token)new IdentifierToken("item_data"); <>1__state = 6; return true; case 6: <>1__state = -3; <>2__current = new Token((TokenType)84, (uint?)null); <>1__state = 7; return true; case 7: <>1__state = -3; <>2__current = (Token)new IdentifierToken("keys"); <>1__state = 8; return true; case 8: <>1__state = -3; <>2__current = new Token((TokenType)80, (uint?)null); <>1__state = 9; return true; case 9: <>1__state = -3; <>2__current = new Token((TokenType)81, (uint?)null); <>1__state = 10; return true; case 10: <>1__state = -3; <>2__current = new Token((TokenType)84, (uint?)null); <>1__state = 11; return true; case 11: <>1__state = -3; <>2__current = (Token)new IdentifierToken("has"); <>1__state = 12; return true; case 12: <>1__state = -3; <>2__current = new Token((TokenType)80, (uint?)null); <>1__state = 13; return true; case 13: <>1__state = -3; <>2__current = (Token)new IdentifierToken("id"); <>1__state = 14; return true; case 14: <>1__state = -3; <>2__current = new Token((TokenType)81, (uint?)null); <>1__state = 15; return true; case 15: <>1__state = -3; <>2__current = new Token((TokenType)86, (uint?)null); <>1__state = 16; return true; case 16: <>1__state = -3; <>2__current = (Token)new IdentifierToken("id"); <>1__state = 17; return true; case 17: <>1__state = -3; <>2__current = new Token((TokenType)23, (uint?)null); <>1__state = 18; return true; case 18: <>1__state = -3; <>2__current = (Token)new ConstantToken((Variant)new StringVariant("fish_lake_carp")); <>1__state = 19; return true; case 19: <>1__state = -3; <>2__current = new Token((TokenType)89, (uint?)2u); <>1__state = 20; return true; case 20: <>1__state = -3; break; case 21: <>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 = current; <>1__state = 1; return true; } <>2__current = current; <>1__state = 21; 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/Entities/AquaFish/aqua_fish.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>[7] { delegate(Token t) { IdentifierToken val2 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val2 != null && val2.Name == "texture"; }, (Token t) => (int)t.Type == 23, delegate(Token t) { ConstantToken val = (ConstantToken)(object)((t is ConstantToken) ? t : null); return val != null && val.Value is NilVariant; }, (Token t) => (int)t.Type == 89, (Token t) => (int)t.Type == 40, (Token t) => (int)t.Type == 86, (Token t) => (int)t.Type == 89 }, false, false); 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; yield return new Token((TokenType)38, (uint?)null); yield return new Token((TokenType)15, (uint?)null); yield return (Token)new IdentifierToken("Globals"); yield return new Token((TokenType)84, (uint?)null); yield return (Token)new IdentifierToken("item_data"); yield return new Token((TokenType)84, (uint?)null); yield return (Token)new IdentifierToken("keys"); yield return new Token((TokenType)80, (uint?)null); yield return new Token((TokenType)81, (uint?)null); yield return new Token((TokenType)84, (uint?)null); yield return (Token)new IdentifierToken("has"); yield return new Token((TokenType)80, (uint?)null); yield return (Token)new IdentifierToken("id"); yield return new Token((TokenType)81, (uint?)null); yield return new Token((TokenType)86, (uint?)null); yield return (Token)new IdentifierToken("id"); yield return new Token((TokenType)23, (uint?)null); yield return (Token)new ConstantToken((Variant)new StringVariant("fish_lake_carp")); yield return new Token((TokenType)89, (uint?)2u); } else { yield return current; } } } finally { ((global::System.IDisposable)enumerator)?.Dispose(); } } } public class BarkPatcher : 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_ready>5__2; private MultiTokenWaiter <waiter_bark>5__3; private MultiTokenWaiter <waiter_fallback>5__4; private global::System.Collections.Generic.IEnumerator<Token> <>7__wrap4; private Token <token>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 (num == -3 || (uint)(num - 1) <= 56u) { try { } finally { <>m__Finally1(); } } } private bool MoveNext() { //IL_04e0: Unknown result type (might be due to invalid IL or missing references) //IL_04ea: Expected O, but got Unknown //IL_0506: Unknown result type (might be due to invalid IL or missing references) //IL_0510: Expected O, but got Unknown //IL_0532: Unknown result type (might be due to invalid IL or missing references) //IL_053c: Expected O, but got Unknown //IL_0558: Unknown result type (might be due to invalid IL or missing references) //IL_0562: Expected O, but got Unknown //IL_055d: Unknown result type (might be due to invalid IL or missing references) //IL_0567: Expected O, but got Unknown //IL_0589: Unknown result type (might be due to invalid IL or missing references) //IL_0593: Expected O, but got Unknown //IL_05b5: Unknown result type (might be due to invalid IL or missing references) //IL_05bf: Expected O, but got Unknown //IL_05db: Unknown result type (might be due to invalid IL or missing references) //IL_05e5: Expected O, but got Unknown //IL_0607: Unknown result type (might be due to invalid IL or missing references) //IL_0611: Expected O, but got Unknown //IL_062e: Unknown result type (might be due to invalid IL or missing references) //IL_0638: Expected O, but got Unknown //IL_065b: Unknown result type (might be due to invalid IL or missing references) //IL_0665: Expected O, but got Unknown //IL_0685: Unknown result type (might be due to invalid IL or missing references) //IL_068f: Expected O, but got Unknown //IL_06ac: Unknown result type (might be due to invalid IL or missing references) //IL_06b6: Expected O, but got Unknown //IL_06d9: Unknown result type (might be due to invalid IL or missing references) //IL_06e3: Expected O, but got Unknown //IL_0700: Unknown result type (might be due to invalid IL or missing references) //IL_070a: Expected O, but got Unknown //IL_0705: Unknown result type (might be due to invalid IL or missing references) //IL_070f: Expected O, but got Unknown //IL_0732: Unknown result type (might be due to invalid IL or missing references) //IL_073c: Expected O, but got Unknown //IL_075f: Unknown result type (might be due to invalid IL or missing references) //IL_0769: Expected O, but got Unknown //IL_0786: Unknown result type (might be due to invalid IL or missing references) //IL_0790: Expected O, but got Unknown //IL_07b3: Unknown result type (might be due to invalid IL or missing references) //IL_07bd: Expected O, but got Unknown //IL_07da: Unknown result type (might be due to invalid IL or missing references) //IL_07e4: Expected O, but got Unknown //IL_0807: Unknown result type (might be due to invalid IL or missing references) //IL_0811: Expected O, but got Unknown //IL_082e: Unknown result type (might be due to invalid IL or missing references) //IL_0838: Expected O, but got Unknown //IL_0833: Unknown result type (might be due to invalid IL or missing references) //IL_083d: Expected O, but got Unknown //IL_0860: Unknown result type (might be due to invalid IL or missing references) //IL_086a: Expected O, but got Unknown //IL_088d: Unknown result type (might be due to invalid IL or missing references) //IL_0897: Expected O, but got Unknown //IL_08b7: Unknown result type (might be due to invalid IL or missing references) //IL_08c1: Expected O, but got Unknown //IL_091f: Unknown result type (might be due to invalid IL or missing references) //IL_0929: Expected O, but got Unknown //IL_0946: Unknown result type (might be due to invalid IL or missing references) //IL_0950: Expected O, but got Unknown //IL_0973: Unknown result type (might be due to invalid IL or missing references) //IL_097d: Expected O, but got Unknown //IL_099a: Unknown result type (might be due to invalid IL or missing references) //IL_09a4: Expected O, but got Unknown //IL_09c7: Unknown result type (might be due to invalid IL or missing references) //IL_09d1: Expected O, but got Unknown //IL_09ee: Unknown result type (might be due to invalid IL or missing references) //IL_09f8: Expected O, but got Unknown //IL_09f3: Unknown result type (might be due to invalid IL or missing references) //IL_09fd: Expected O, but got Unknown //IL_0a20: Unknown result type (might be due to invalid IL or missing references) //IL_0a2a: Expected O, but got Unknown //IL_0a4d: Unknown result type (might be due to invalid IL or missing references) //IL_0a57: Expected O, but got Unknown //IL_0a74: Unknown result type (might be due to invalid IL or missing references) //IL_0a7e: Expected O, but got Unknown //IL_0aa1: Unknown result type (might be due to invalid IL or missing references) //IL_0aab: Expected O, but got Unknown //IL_0ac8: Unknown result type (might be due to invalid IL or missing references) //IL_0ad2: Expected O, but got Unknown //IL_0af5: Unknown result type (might be due to invalid IL or missing references) //IL_0aff: Expected O, but got Unknown //IL_0b1c: Unknown result type (might be due to invalid IL or missing references) //IL_0b26: Expected O, but got Unknown //IL_0b49: Unknown result type (might be due to invalid IL or missing references) //IL_0b53: Expected O, but got Unknown //IL_0b70: Unknown result type (might be due to invalid IL or missing references) //IL_0b7a: Expected O, but got Unknown //IL_0b9d: Unknown result type (might be due to invalid IL or missing references) //IL_0ba7: Expected O, but got Unknown //IL_0bc7: Unknown result type (might be due to invalid IL or missing references) //IL_0bd1: Expected O, but got Unknown //IL_0c2c: Unknown result type (might be due to invalid IL or missing references) //IL_0c36: Expected O, but got Unknown //IL_0c59: Unknown result type (might be due to invalid IL or missing references) //IL_0c63: Expected O, but got Unknown //IL_0c80: Unknown result type (might be due to invalid IL or missing references) //IL_0c8a: Expected O, but got Unknown //IL_0cad: Unknown result type (might be due to invalid IL or missing references) //IL_0cb7: Expected O, but got Unknown //IL_0cd4: Unknown result type (might be due to invalid IL or missing references) //IL_0cde: Expected O, but got Unknown //IL_0cd9: Unknown result type (might be due to invalid IL or missing references) //IL_0ce3: Expected O, but got Unknown //IL_0d06: Unknown result type (might be due to invalid IL or missing references) //IL_0d10: Expected O, but got Unknown //IL_0d33: Unknown result type (might be due to invalid IL or missing references) //IL_0d3d: Expected O, but got Unknown //IL_0d5a: Unknown result type (might be due to invalid IL or missing references) //IL_0d64: Expected O, but got Unknown //IL_0d87: Unknown result type (might be due to invalid IL or missing references) //IL_0d91: Expected O, but got Unknown //IL_0dae: Unknown result type (might be due to invalid IL or missing references) //IL_0db8: Expected O, but got Unknown //IL_0ddb: Unknown result type (might be due to invalid IL or missing references) //IL_0de5: Expected O, but got Unknown //IL_01b6: Unknown result type (might be due to invalid IL or missing references) //IL_01c0: Expected O, but got Unknown //IL_02b7: Unknown result type (might be due to invalid IL or missing references) //IL_02c1: Expected O, but got Unknown //IL_0466: Unknown result type (might be due to invalid IL or missing references) //IL_0470: Expected O, but got Unknown try { switch (<>1__state) { default: return false; case 0: <>1__state = -1; <waiter_ready>5__2 = new MultiTokenWaiter(new Func<Token, bool>[5] { (Token t) => (int)t.Type == 48, delegate(Token t) { IdentifierToken val9 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val9 != null && val9.Name == "_ready"; }, (Token t) => (int)t.Type == 80, (Token t) => (int)t.Type == 81, (Token t) => (int)t.Type == 86 }, false, false); <waiter_bark>5__3 = new MultiTokenWaiter(new Func<Token, bool>[7] { (Token t) => (int)t.Type == 76, delegate(Token t) { IdentifierToken val8 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val8 != null && val8.Name == "PlayerData"; }, (Token t) => (int)t.Type == 84, delegate(Token t) { IdentifierToken val7 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val7 != null && val7.Name == "cosmetics_equipped"; }, (Token t) => (int)t.Type == 84, delegate(Token t) { IdentifierToken val6 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val6 != null && val6.Name == "species"; }, (Token t) => (int)t.Type == 77 }, false, false); <waiter_fallback>5__4 = new MultiTokenWaiter(new Func<Token, bool>[12] { (Token t) => (int)t.Type == 48, delegate(Token t) { IdentifierToken val5 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val5 != null && val5.Name == "_update_cosmetics"; }, (Token t) => (int)t.Type == 80, delegate(Token t) { IdentifierToken val4 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val4 != null && val4.Name == "data"; }, (Token t) => (int)t.Type == 81, (Token t) => (int)t.Type == 86, (Token t) => (int)t.Type == 89, (Token t) => (int)t.Type == 59, delegate(Token t) { IdentifierToken val3 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val3 != null && val3.Name == "valid"; }, (Token t) => (int)t.Type == 23, delegate(Token t) { ConstantToken val = (ConstantToken)(object)((t is ConstantToken) ? t : null); if (val != null) { Variant value = val.Value; BoolVariant val2 = (BoolVariant)(object)((value is BoolVariant) ? value : null); if (val2 != null) { return val2.Value; } } return false; }, (Token t) => (int)t.Type == 89 }, false, false); <>7__wrap4 = tokens.GetEnumerator(); <>1__state = -3; break; case 1: <>1__state = -3; <>2__current = new Token((TokenType)89, (uint?)1u); <>1__state = 2; return true; case 2: <>1__state = -3; <>2__current = (Token)new IdentifierToken("get_node"); <>1__state = 3; return true; case 3: <>1__state = -3; <>2__current = new Token((TokenType)80, (uint?)null); <>1__state = 4; return true; case 4: <>1__state = -3; <>2__current = (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches")); <>1__state = 5; return true; case 5: <>1__state = -3; <>2__current = new Token((TokenType)81, (uint?)null); <>1__state = 6; return true; case 6: <>1__state = -3; <>2__current = new Token((TokenType)84, (uint?)null); <>1__state = 7; return true; case 7: <>1__state = -3; <>2__current = (Token)new IdentifierToken("_instance_species_voices"); <>1__state = 8; return true; case 8: <>1__state = -3; <>2__current = new Token((TokenType)80, (uint?)null); <>1__state = 9; return true; case 9: <>1__state = -3; <>2__current = (Token)new IdentifierToken("sound_manager"); <>1__state = 10; return true; case 10: <>1__state = -3; <>2__current = new Token((TokenType)81, (uint?)null); <>1__state = 11; return true; case 11: <>1__state = -3; <>2__current = new Token((TokenType)89, (uint?)1u); <>1__state = 12; return true; case 12: <>1__state = -3; <>2__current = (Token)new IdentifierToken("get_node"); <>1__state = 13; return true; case 13: <>1__state = -3; <>2__current = new Token((TokenType)80, (uint?)null); <>1__state = 14; return true; case 14: <>1__state = -3; <>2__current = (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches")); <>1__state = 15; return true; case 15: <>1__state = -3; <>2__current = new Token((TokenType)81, (uint?)null); <>1__state = 16; return true; case 16: <>1__state = -3; <>2__current = new Token((TokenType)84, (uint?)null); <>1__state = 17; return true; case 17: <>1__state = -3; <>2__current = (Token)new IdentifierToken("_load_emotes"); <>1__state = 18; return true; case 18: <>1__state = -3; <>2__current = new Token((TokenType)80, (uint?)null); <>1__state = 19; return true; case 19: <>1__state = -3; <>2__current = (Token)new IdentifierToken("get_node"); <>1__state = 20; return true; case 20: <>1__state = -3; <>2__current = new Token((TokenType)80, (uint?)null); <>1__state = 21; return true; case 21: <>1__state = -3; <>2__current = (Token)new ConstantToken((Variant)new StringVariant("body/player_body/AnimationPlayer")); <>1__state = 22; return true; case 22: <>1__state = -3; <>2__current = new Token((TokenType)81, (uint?)null); <>1__state = 23; return true; case 23: <>1__state = -3; <>2__current = new Token((TokenType)81, (uint?)null); <>1__state = 24; return true; case 24: <>1__state = -3; <>2__current = new Token((TokenType)89, (uint?)1u); <>1__state = 25; return true; case 25: <>1__state = -3; goto IL_0e3b; case 26: <>1__state = -3; <>2__current = new Token((TokenType)89, (uint?)1u); <>1__state = 27; return true; case 27: <>1__state = -3; <>2__current = (Token)new IdentifierToken("bark_id"); <>1__state = 28; return true; case 28: <>1__state = -3; <>2__current = new Token((TokenType)23, (uint?)null); <>1__state = 29; return true; case 29: <>1__state = -3; <>2__current = (Token)new IdentifierToken("get_node"); <>1__state = 30; return true; case 30: <>1__state = -3; <>2__current = new Token((TokenType)80, (uint?)null); <>1__state = 31; return true; case 31: <>1__state = -3; <>2__current = (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches")); <>1__state = 32; return true; case 32: <>1__state = -3; <>2__current = new Token((TokenType)81, (uint?)null); <>1__state = 33; return true; case 33: <>1__state = -3; <>2__current = new Token((TokenType)84, (uint?)null); <>1__state = 34; return true; case 34: <>1__state = -3; <>2__current = (Token)new IdentifierToken("_get_voice_bundle"); <>1__state = 35; return true; case 35: <>1__state = -3; <>2__current = new Token((TokenType)80, (uint?)null); <>1__state = 36; return true; case 36: <>1__state = -3; <>2__current = (Token)new IdentifierToken("PlayerData"); <>1__state = 37; return true; case 37: <>1__state = -3; <>2__current = new Token((TokenType)84, (uint?)null); <>1__state = 38; return true; case 38: <>1__state = -3; <>2__current = (Token)new IdentifierToken("cosmetics_equipped"); <>1__state = 39; return true; case 39: <>1__state = -3; <>2__current = new Token((TokenType)84, (uint?)null); <>1__state = 40; return true; case 40: <>1__state = -3; <>2__current = (Token)new IdentifierToken("species"); <>1__state = 41; return true; case 41: <>1__state = -3; <>2__current = new Token((TokenType)81, (uint?)null); <>1__state = 42; return true; case 42: <>1__state = -3; <>2__current = new Token((TokenType)89, (uint?)1u); <>1__state = 43; return true; case 43: <>1__state = -3; goto IL_0e3b; case 44: <>1__state = -3; <>2__current = (Token)new IdentifierToken("data"); <>1__state = 45; return true; case 45: <>1__state = -3; <>2__current = new Token((TokenType)23, (uint?)null); <>1__state = 46; return true; case 46: <>1__state = -3; <>2__current = (Token)new IdentifierToken("get_node"); <>1__state = 47; return true; case 47: <>1__state = -3; <>2__current = new Token((TokenType)80, (uint?)null); <>1__state = 48; return true; case 48: <>1__state = -3; <>2__current = (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches")); <>1__state = 49; return true; case 49: <>1__state = -3; <>2__current = new Token((TokenType)81, (uint?)null); <>1__state = 50; return true; case 50: <>1__state = -3; <>2__current = new Token((TokenType)84, (uint?)null); <>1__state = 51; return true; case 51: <>1__state = -3; <>2__current = (Token)new IdentifierToken("_improved_fallback"); <>1__state = 52; return true; case 52: <>1__state = -3; <>2__current = new Token((TokenType)80, (uint?)null); <>1__state = 53; return true; case 53: <>1__state = -3; <>2__current = (Token)new IdentifierToken("data"); <>1__state = 54; return true; case 54: <>1__state = -3; <>2__current = new Token((TokenType)81, (uint?)null); <>1__state = 55; return true; case 55: <>1__state = -3; <>2__current = <token>5__6; <>1__state = 56; return true; case 56: <>1__state = -3; goto IL_0e3b; case 57: { <>1__state = -3; goto IL_0e3b; } IL_0e3b: <token>5__6 = null; break; } if (((global::System.Collections.IEnumerator)<>7__wrap4).MoveNext()) { <token>5__6 = <>7__wrap4.Current; if (<waiter_ready>5__2.Check(<token>5__6)) { <>2__current = <token>5__6; <>1__state = 1; return true; } if (<waiter_bark>5__3.Check(<token>5__6)) { <>2__current = <token>5__6; <>1__state = 26; return true; } if (<waiter_fallback>5__4.Check(<token>5__6)) { <>2__current = <token>5__6; <>1__state = 44; return true; } <>2__current = <token>5__6; <>1__state = 57; return true; } <>m__Finally1(); <>7__wrap4 = 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__wrap4 != null) { ((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_ready = new MultiTokenWaiter(new Func<Token, bool>[5] { (Token t) => (int)t.Type == 48, delegate(Token t) { IdentifierToken val9 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val9 != null && val9.Name == "_ready"; }, (Token t) => (int)t.Type == 80, (Token t) => (int)t.Type == 81, (Token t) => (int)t.Type == 86 }, false, false); MultiTokenWaiter waiter_bark = new MultiTokenWaiter(new Func<Token, bool>[7] { (Token t) => (int)t.Type == 76, delegate(Token t) { IdentifierToken val8 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val8 != null && val8.Name == "PlayerData"; }, (Token t) => (int)t.Type == 84, delegate(Token t) { IdentifierToken val7 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val7 != null && val7.Name == "cosmetics_equipped"; }, (Token t) => (int)t.Type == 84, delegate(Token t) { IdentifierToken val6 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val6 != null && val6.Name == "species"; }, (Token t) => (int)t.Type == 77 }, false, false); MultiTokenWaiter waiter_fallback = new MultiTokenWaiter(new Func<Token, bool>[12] { (Token t) => (int)t.Type == 48, delegate(Token t) { IdentifierToken val5 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val5 != null && val5.Name == "_update_cosmetics"; }, (Token t) => (int)t.Type == 80, delegate(Token t) { IdentifierToken val4 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val4 != null && val4.Name == "data"; }, (Token t) => (int)t.Type == 81, (Token t) => (int)t.Type == 86, (Token t) => (int)t.Type == 89, (Token t) => (int)t.Type == 59, delegate(Token t) { IdentifierToken val3 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val3 != null && val3.Name == "valid"; }, (Token t) => (int)t.Type == 23, delegate(Token t) { ConstantToken val = (ConstantToken)(object)((t is ConstantToken) ? t : null); if (val != null) { Variant value = val.Value; BoolVariant val2 = (BoolVariant)(object)((value is BoolVariant) ? value : null); if (val2 != null) { return val2.Value; } } return false; }, (Token t) => (int)t.Type == 89 }, false, false); global::System.Collections.Generic.IEnumerator<Token> enumerator = tokens.GetEnumerator(); try { while (((global::System.Collections.IEnumerator)enumerator).MoveNext()) { Token token = enumerator.Current; if (waiter_ready.Check(token)) { yield return token; yield return new Token((TokenType)89, (uint?)1u); yield return (Token)new IdentifierToken("get_node"); yield return new Token((TokenType)80, (uint?)null); yield return (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches")); yield return new Token((TokenType)81, (uint?)null); yield return new Token((TokenType)84, (uint?)null); yield return (Token)new IdentifierToken("_instance_species_voices"); yield return new Token((TokenType)80, (uint?)null); yield return (Token)new IdentifierToken("sound_manager"); yield return new Token((TokenType)81, (uint?)null); yield return new Token((TokenType)89, (uint?)1u); yield return (Token)new IdentifierToken("get_node"); yield return new Token((TokenType)80, (uint?)null); yield return (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches")); yield return new Token((TokenType)81, (uint?)null); yield return new Token((TokenType)84, (uint?)null); yield return (Token)new IdentifierToken("_load_emotes"); yield return new Token((TokenType)80, (uint?)null); yield return (Token)new IdentifierToken("get_node"); yield return new Token((TokenType)80, (uint?)null); yield return (Token)new ConstantToken((Variant)new StringVariant("body/player_body/AnimationPlayer")); yield return new Token((TokenType)81, (uint?)null); yield return new Token((TokenType)81, (uint?)null); yield return new Token((TokenType)89, (uint?)1u); } else if (waiter_bark.Check(token)) { yield return token; yield return new Token((TokenType)89, (uint?)1u); yield return (Token)new IdentifierToken("bark_id"); yield return new Token((TokenType)23, (uint?)null); yield return (Token)new IdentifierToken("get_node"); yield return new Token((TokenType)80, (uint?)null); yield return (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches")); yield return new Token((TokenType)81, (uint?)null); yield return new Token((TokenType)84, (uint?)null); yield return (Token)new IdentifierToken("_get_voice_bundle"); yield return new Token((TokenType)80, (uint?)null); yield return (Token)new IdentifierToken("PlayerData"); yield return new Token((TokenType)84, (uint?)null); yield return (Token)new IdentifierToken("cosmetics_equipped"); yield return new Token((TokenType)84, (uint?)null); yield return (Token)new IdentifierToken("species"); yield return new Token((TokenType)81, (uint?)null); yield return new Token((TokenType)89, (uint?)1u); } else if (waiter_fallback.Check(token)) { yield return token; yield return (Token)new IdentifierToken("data"); yield return new Token((TokenType)23, (uint?)null); yield return (Token)new IdentifierToken("get_node"); yield return new Token((TokenType)80, (uint?)null); yield return (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches")); yield return new Token((TokenType)81, (uint?)null); yield return new Token((TokenType)84, (uint?)null); yield return (Token)new IdentifierToken("_improved_fallback"); yield return new Token((TokenType)80, (uint?)null); yield return (Token)new IdentifierToken("data"); yield return new Token((TokenType)81, (uint?)null); yield return token; } else { yield return token; } } } finally { ((global::System.IDisposable)enumerator)?.Dispose(); } } } public class FacePatcher : 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) <= 20u) { try { } finally { <>m__Finally1(); } } } private bool MoveNext() { //IL_016f: Unknown result type (might be due to invalid IL or missing references) //IL_0179: Expected O, but got Unknown //IL_0195: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Expected O, but got Unknown //IL_01c1: Unknown result type (might be due to invalid IL or missing references) //IL_01cb: Expected O, but got Unknown //IL_01e7: Unknown result type (might be due to invalid IL or missing references) //IL_01f1: Expected O, but got Unknown //IL_01ec: Unknown result type (might be due to invalid IL or missing references) //IL_01f6: Expected O, but got Unknown //IL_0218: Unknown result type (might be due to invalid IL or missing references) //IL_0222: Expected O, but got Unknown //IL_0244: Unknown result type (might be due to invalid IL or missing references) //IL_024e: Expected O, but got Unknown //IL_026a: Unknown result type (might be due to invalid IL or missing references) //IL_0274: Expected O, but got Unknown //IL_0296: Unknown result type (might be due to invalid IL or missing references) //IL_02a0: Expected O, but got Unknown //IL_02bd: Unknown result type (might be due to invalid IL or missing references) //IL_02c7: Expected O, but got Unknown //IL_02ea: Unknown result type (might be due to invalid IL or missing references) //IL_02f4: Expected O, but got Unknown //IL_0311: Unknown result type (might be due to invalid IL or missing references) //IL_031b: Expected O, but got Unknown //IL_0316: Unknown result type (might be due to invalid IL or missing references) //IL_0320: Expected O, but got Unknown //IL_0343: Unknown result type (might be due to invalid IL or missing references) //IL_034d: Expected O, but got Unknown //IL_0370: Unknown result type (might be due to invalid IL or missing references) //IL_037a: Expected O, but got Unknown //IL_0397: Unknown result type (might be due to invalid IL or missing references) //IL_03a1: Expected O, but got Unknown //IL_03c4: Unknown result type (might be due to invalid IL or missing references) //IL_03ce: Expected O, but got Unknown //IL_03eb: Unknown result type (might be due to invalid IL or missing references) //IL_03f5: Expected O, but got Unknown //IL_03f0: Unknown result type (might be due to invalid IL or missing references) //IL_03fa: Expected O, but got Unknown //IL_041d: Unknown result type (might be due to invalid IL or missing references) //IL_0427: Expected O, but got Unknown //IL_044a: Unknown result type (might be due to invalid IL or missing references) //IL_0454: Expected O, but got Unknown //IL_0471: Unknown result type (might be due to invalid IL or missing references) //IL_047b: 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 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 val3 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val3 != null && val3.Name == "play"; }, (Token t) => (int)t.Type == 80, delegate(Token t) { ConstantToken val = (ConstantToken)(object)((t is ConstantToken) ? t : null); if (val != null) { Variant value = val.Value; StringVariant val2 = (StringVariant)(object)((value is StringVariant) ? value : null); if (val2 != null) { return val2.Value == "dog_face"; } } return false; }, (Token t) => (int)t.Type == 81 }, false, false); <>7__wrap2 = tokens.GetEnumerator(); <>1__state = -3; break; case 1: <>1__state = -3; <>2__current = new Token((TokenType)89, (uint?)1u); <>1__state = 2; return true; case 2: <>1__state = -3; <>2__current = (Token)new IdentifierToken("get_node"); <>1__state = 3; return true; case 3: <>1__state = -3; <>2__current = new Token((TokenType)80, (uint?)null); <>1__state = 4; return true; case 4: <>1__state = -3; <>2__current = (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches")); <>1__state = 5; return true; case 5: <>1__state = -3; <>2__current = new Token((TokenType)81, (uint?)null); <>1__state = 6; return true; case 6: <>1__state = -3; <>2__current = new Token((TokenType)84, (uint?)null); <>1__state = 7; return true; case 7: <>1__state = -3; <>2__current = (Token)new IdentifierToken("_custom_species_faces"); <>1__state = 8; return true; case 8: <>1__state = -3; <>2__current = new Token((TokenType)80, (uint?)null); <>1__state = 9; return true; case 9: <>1__state = -3; <>2__current = (Token)new IdentifierToken("get_node"); <>1__state = 10; return true; case 10: <>1__state = -3; <>2__current = new Token((TokenType)80, (uint?)null); <>1__state = 11; return true; case 11: <>1__state = -3; <>2__current = (Token)new ConstantToken((Variant)new StringVariant("AnimationPlayer")); <>1__state = 12; return true; case 12: <>1__state = -3; <>2__current = new Token((TokenType)81, (uint?)null); <>1__state = 13; return true; case 13: <>1__state = -3; <>2__current = new Token((TokenType)82, (uint?)null); <>1__state = 14; return true; case 14: <>1__state = -3; <>2__current = (Token)new IdentifierToken("data"); <>1__state = 15; return true; case 15: <>1__state = -3; <>2__current = new Token((TokenType)76, (uint?)null); <>1__state = 16; return true; case 16: <>1__state = -3; <>2__current = (Token)new ConstantToken((Variant)new StringVariant("species")); <>1__state = 17; return true; case 17: <>1__state = -3; <>2__current = new Token((TokenType)77, (uint?)null); <>1__state = 18; return true; case 18: <>1__state = -3; <>2__current = new Token((TokenType)81, (uint?)null); <>1__state = 19; return true; case 19: <>1__state = -3; <>2__current = new Token((TokenType)89, (uint?)1u); <>1__state = 20; return true; case 20: <>1__state = -3; break; case 21: <>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 = current; <>1__state = 1; return true; } <>2__current = current; <>1__state = 21; 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/Entities/Player/Face/player_face.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 val3 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val3 != null && val3.Name == "play"; }, (Token t) => (int)t.Type == 80, delegate(Token t) { ConstantToken val = (ConstantToken)(object)((t is ConstantToken) ? t : null); if (val != null) { Variant value = val.Value; StringVariant val2 = (StringVariant)(object)((value is StringVariant) ? value : null); if (val2 != null) { return val2.Value == "dog_face"; } } return false; }, (Token t) => (int)t.Type == 81 }, false, false); 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; yield return new Token((TokenType)89, (uint?)1u); yield return (Token)new IdentifierToken("get_node"); yield return new Token((TokenType)80, (uint?)null); yield return (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches")); yield return new Token((TokenType)81, (uint?)null); yield return new Token((TokenType)84, (uint?)null); yield return (Token)new IdentifierToken("_custom_species_faces"); yield return new Token((TokenType)80, (uint?)null); yield return (Token)new IdentifierToken("get_node"); yield return new Token((TokenType)80, (uint?)null); yield return (Token)new ConstantToken((Variant)new StringVariant("AnimationPlayer")); yield return new Token((TokenType)81, (uint?)null); yield return new Token((TokenType)82, (uint?)null); yield return (Token)new IdentifierToken("data"); yield return new Token((TokenType)76, (uint?)null); yield return (Token)new ConstantToken((Variant)new StringVariant("species")); yield return new Token((TokenType)77, (uint?)null); yield return new Token((TokenType)81, (uint?)null); yield return new Token((TokenType)89, (uint?)1u); } else { yield return current; } } } finally { ((global::System.IDisposable)enumerator)?.Dispose(); } } } public class GlobalPatcher : 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) <= 9u) { try { } finally { <>m__Finally1(); } } } private bool MoveNext() { //IL_0146: Unknown result type (might be due to invalid IL or missing references) //IL_0150: Expected O, but got Unknown //IL_016c: Unknown result type (might be due to invalid IL or missing references) //IL_0176: Expected O, but got Unknown //IL_0198: Unknown result type (might be due to invalid IL or missing references) //IL_01a2: Expected O, but got Unknown //IL_01be: Unknown result type (might be due to invalid IL or missing references) //IL_01c8: Expected O, but got Unknown //IL_01ea: Unknown result type (might be due to invalid IL or missing references) //IL_01f4: Expected O, but got Unknown //IL_0210: Unknown result type (might be due to invalid IL or missing references) //IL_021a: Expected O, but got Unknown //IL_023c: Unknown result type (might be due to invalid IL or missing references) //IL_0246: Expected O, but got Unknown //IL_0265: Unknown result type (might be due to invalid IL or missing references) //IL_026f: Expected O, but got Unknown //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: 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 val = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val != null && val.Name == "GAME_VERSION"; }, (Token t) => (int)t.Type == 23, (Token t) => t is ConstantToken, (Token t) => (int)t.Type == 89 }, false, false); <>7__wrap2 = tokens.GetEnumerator(); <>1__state = -3; break; case 1: <>1__state = -3; <>2__current = new Token((TokenType)59, (uint?)null); <>1__state = 2; return true; case 2: <>1__state = -3; <>2__current = (Token)new IdentifierToken("GAME_VERSION_LURE"); <>1__state = 3; return true; case 3: <>1__state = -3; <>2__current = new Token((TokenType)23, (uint?)null); <>1__state = 4; return true; case 4: <>1__state = -3; <>2__current = (Token)new IdentifierToken("str"); <>1__state = 5; return true; case 5: <>1__state = -3; <>2__current = new Token((TokenType)80, (uint?)null); <>1__state = 6; return true; case 6: <>1__state = -3; <>2__current = (Token)new IdentifierToken("GAME_VERSION"); <>1__state = 7; return true; case 7: <>1__state = -3; <>2__current = new Token((TokenType)81, (uint?)null); <>1__state = 8; return true; case 8: <>1__state = -3; <>2__current = new Token((TokenType)89, (uint?)null); <>1__state = 9; return true; case 9: <>1__state = -3; break; case 10: <>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 = current; <>1__state = 1; return true; } <>2__current = current; <>1__state = 10; 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>[4] { delegate(Token t) { IdentifierToken val = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val != null && val.Name == "GAME_VERSION"; }, (Token t) => (int)t.Type == 23, (Token t) => t is ConstantToken, (Token t) => (int)t.Type == 89 }, false, false); 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; yield return new Token((TokenType)59, (uint?)null); yield return (Token)new IdentifierToken("GAME_VERSION_LURE"); yield return new Token((TokenType)23, (uint?)null); yield return (Token)new IdentifierToken("str"); yield return new Token((TokenType)80, (uint?)null); yield return (Token)new IdentifierToken("GAME_VERSION"); yield return new Token((TokenType)81, (uint?)null); yield return new Token((TokenType)89, (uint?)null); } else { yield return current; } } } finally { ((global::System.IDisposable)enumerator)?.Dispose(); } } } public class ItemPatcher : 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_use>5__2; private MultiTokenWaiter <waiter_release>5__3; 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 (num == -3 || (uint)(num - 1) <= 37u) { try { } finally { <>m__Finally1(); } } } private bool MoveNext() { //IL_0a7d: Unknown result type (might be due to invalid IL or missing references) //IL_0a87: Expected O, but got Unknown //IL_0aa3: Unknown result type (might be due to invalid IL or missing references) //IL_0aad: Expected O, but got Unknown //IL_0acf: Unknown result type (might be due to invalid IL or missing references) //IL_0ad9: Expected O, but got Unknown //IL_0af5: Unknown result type (might be due to invalid IL or missing references) //IL_0aff: Expected O, but got Unknown //IL_0afa: Unknown result type (might be due to invalid IL or missing references) //IL_0b04: Expected O, but got Unknown //IL_0b26: Unknown result type (might be due to invalid IL or missing references) //IL_0b30: Expected O, but got Unknown //IL_0b52: Unknown result type (might be due to invalid IL or missing references) //IL_0b5c: Expected O, but got Unknown //IL_0b78: Unknown result type (might be due to invalid IL or missing references) //IL_0b82: Expected O, but got Unknown //IL_0ba4: Unknown result type (might be due to invalid IL or missing references) //IL_0bae: Expected O, but got Unknown //IL_0bcb: Unknown result type (might be due to invalid IL or missing references) //IL_0bd5: Expected O, but got Unknown //IL_0bf8: Unknown result type (might be due to invalid IL or missing references) //IL_0c02: Expected O, but got Unknown //IL_0c1f: Unknown result type (might be due to invalid IL or missing references) //IL_0c29: Expected O, but got Unknown //IL_0c4c: Unknown result type (might be due to invalid IL or missing references) //IL_0c56: Expected O, but got Unknown //IL_0c73: Unknown result type (might be due to invalid IL or missing references) //IL_0c7d: Expected O, but got Unknown //IL_0ca0: Unknown result type (might be due to invalid IL or missing references) //IL_0caa: Expected O, but got Unknown //IL_0cc7: Unknown result type (might be due to invalid IL or missing references) //IL_0cd1: Expected O, but got Unknown //IL_0cf4: Unknown result type (might be due to invalid IL or missing references) //IL_0cfe: Expected O, but got Unknown //IL_0d21: Unknown result type (might be due to invalid IL or missing references) //IL_0d2b: Expected O, but got Unknown //IL_0d4e: Unknown result type (might be due to invalid IL or missing references) //IL_0d58: Expected O, but got Unknown //IL_0d78: Unknown result type (might be due to invalid IL or missing references) //IL_0d82: Expected O, but got Unknown //IL_0dd6: Unknown result type (might be due to invalid IL or missing references) //IL_0de0: Expected O, but got Unknown //IL_0e03: Unknown result type (might be due to invalid IL or missing references) //IL_0e0d: Expected O, but got Unknown //IL_0e2a: Unknown result type (might be due to invalid IL or missing references) //IL_0e34: Expected O, but got Unknown //IL_0e57: Unknown result type (might be due to invalid IL or missing references) //IL_0e61: Expected O, but got Unknown //IL_0e7e: Unknown result type (might be due to invalid IL or missing references) //IL_0e88: Expected O, but got Unknown //IL_0e83: Unknown result type (might be due to invalid IL or missing references) //IL_0e8d: Expected O, but got Unknown //IL_0eb0: Unknown result type (might be due to invalid IL or missing references) //IL_0eba: Expected O, but got Unknown //IL_0edd: Unknown result type (might be due to invalid IL or missing references) //IL_0ee7: Expected O, but got Unknown //IL_0f04: Unknown result type (might be due to invalid IL or missing references) //IL_0f0e: Expected O, but got Unknown //IL_0f31: Unknown result type (might be due to invalid IL or missing references) //IL_0f3b: Expected O, but got Unknown //IL_0f58: Unknown result type (might be due to invalid IL or missing references) //IL_0f62: Expected O, but got Unknown //IL_0f85: Unknown result type (might be due to invalid IL or missing references) //IL_0f8f: Expected O, but got Unknown //IL_0fac: Unknown result type (might be due to invalid IL or missing references) //IL_0fb6: Expected O, but got Unknown //IL_0fd9: Unknown result type (might be due to invalid IL or missing references) //IL_0fe3: Expected O, but got Unknown //IL_1006: Unknown result type (might be due to invalid IL or missing references) //IL_1010: Expected O, but got Unknown //IL_1033: Unknown result type (might be due to invalid IL or missing references) //IL_103d: Expected O, but got Unknown //IL_105a: Unknown result type (might be due to invalid IL or missing references) //IL_1064: Expected O, but got Unknown //IL_05c7: Unknown result type (might be due to invalid IL or missing references) //IL_05d1: Expected O, but got Unknown //IL_0a0f: Unknown result type (might be due to invalid IL or missing references) //IL_0a19: Expected O, but got Unknown try { switch (<>1__state) { default: return false; case 0: <>1__state = -1; <waiter_use>5__2 = new MultiTokenWaiter(new Func<Token, bool>[37] { (Token t) => (int)t.Type == 48, delegate(Token t) { IdentifierToken val23 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val23 != null && val23.Name == "_use_item"; }, (Token t) => (int)t.Type == 80, (Token t) => (int)t.Type == 81, (Token t) => (int)t.Type == 86, delegate(Token t) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 bool num5 = (int)t.Type == 89; uint? associatedData5 = t.AssociatedData; return num5 & (associatedData5.HasValue && associatedData5.GetValueOrDefault() == 1); }, (Token t) => (int)t.Type == 38, (Token t) => (int)t.Type == 15, delegate(Token t) { IdentifierToken val22 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val22 != null && val22.Name == "controlled"; }, (Token t) => (int)t.Type == 86, (Token t) => (int)t.Type == 46, delegate(Token t) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 bool num4 = (int)t.Type == 89; uint? associatedData4 = t.AssociatedData; return num4 & (associatedData4.HasValue && associatedData4.GetValueOrDefault() == 1); }, (Token t) => (int)t.Type == 38, delegate(Token t) { IdentifierToken val21 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val21 != null && val21.Name == "held_item"; }, (Token t) => (int)t.Type == 84, delegate(Token t) { IdentifierToken val20 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val20 != null && val20.Name == "empty"; }, (Token t) => (int)t.Type == 80, (Token t) => (int)t.Type == 81, (Token t) => (int)t.Type == 86, (Token t) => (int)t.Type == 46, delegate(Token t) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 bool num3 = (int)t.Type == 89; uint? associatedData3 = t.AssociatedData; return num3 & (associatedData3.HasValue && associatedData3.GetValueOrDefault() == 1); }, (Token t) => (int)t.Type == 59, delegate(Token t) { IdentifierToken val19 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val19 != null && val19.Name == "item_data"; }, (Token t) => (int)t.Type == 23, delegate(Token t) { IdentifierToken val18 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val18 != null && val18.Name == "Globals"; }, (Token t) => (int)t.Type == 84, delegate(Token t) { IdentifierToken val17 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val17 != null && val17.Name == "item_data"; }, (Token t) => (int)t.Type == 76, delegate(Token t) { IdentifierToken val16 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val16 != null && val16.Name == "held_item"; }, (Token t) => (int)t.Type == 76, delegate(Token t) { ConstantToken val14 = (ConstantToken)(object)((t is ConstantToken) ? t : null); if (val14 != null) { Variant value4 = val14.Value; StringVariant val15 = (StringVariant)(object)((value4 is StringVariant) ? value4 : null); if (val15 != null) { return val15.Value == "id"; } } return false; }, (Token t) => (int)t.Type == 77, (Token t) => (int)t.Type == 77, (Token t) => (int)t.Type == 76, delegate(Token t) { ConstantToken val12 = (ConstantToken)(object)((t is ConstantToken) ? t : null); if (val12 != null) { Variant value3 = val12.Value; StringVariant val13 = (StringVariant)(object)((value3 is StringVariant) ? value3 : null); if (val13 != null) { return val13.Value == "file"; } } return false; }, (Token t) => (int)t.Type == 77, (Token t) => (int)t.Type == 89 }, false, false); <waiter_release>5__3 = new MultiTokenWaiter(new Func<Token, bool>[31] { (Token t) => (int)t.Type == 48, delegate(Token t) { IdentifierToken val11 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val11 != null && val11.Name == "_release_item"; }, (Token t) => (int)t.Type == 80, (Token t) => (int)t.Type == 81, (Token t) => (int)t.Type == 86, delegate(Token t) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 bool num2 = (int)t.Type == 89; uint? associatedData2 = t.AssociatedData; return num2 & (associatedData2.HasValue && associatedData2.GetValueOrDefault() == 1); }, (Token t) => (int)t.Type == 38, delegate(Token t) { IdentifierToken val10 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val10 != null && val10.Name == "held_item"; }, (Token t) => (int)t.Type == 84, delegate(Token t) { IdentifierToken val9 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val9 != null && val9.Name == "empty"; }, (Token t) => (int)t.Type == 80, (Token t) => (int)t.Type == 81, (Token t) => (int)t.Type == 86, (Token t) => (int)t.Type == 46, delegate(Token t) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 bool num = (int)t.Type == 89; uint? associatedData = t.AssociatedData; return num & (associatedData.HasValue && associatedData.GetValueOrDefault() == 1); }, (Token t) => (int)t.Type == 59, delegate(Token t) { IdentifierToken val8 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val8 != null && val8.Name == "item_data"; }, (Token t) => (int)t.Type == 23, delegate(Token t) { IdentifierToken val7 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val7 != null && val7.Name == "Globals"; }, (Token t) => (int)t.Type == 84, delegate(Token t) { IdentifierToken val6 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val6 != null && val6.Name == "item_data"; }, (Token t) => (int)t.Type == 76, delegate(Token t) { IdentifierToken val5 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val5 != null && val5.Name == "held_item"; }, (Token t) => (int)t.Type == 76, delegate(Token t) { ConstantToken val3 = (ConstantToken)(object)((t is ConstantToken) ? t : null); if (val3 != null) { Variant value2 = val3.Value; StringVariant val4 = (StringVariant)(object)((value2 is StringVariant) ? value2 : null); if (val4 != null) { return val4.Value == "id"; } } return false; }, (Token t) => (int)t.Type == 77, (Token t) => (int)t.Type == 77, (Token t) => (int)t.Type == 76, delegate(Token t) { ConstantToken val = (ConstantToken)(object)((t is ConstantToken) ? t : null); if (val != null) { Variant value = val.Value; StringVariant val2 = (StringVariant)(object)((value is StringVariant) ? value : null); if (val2 != null) { return val2.Value == "file"; } } return false; }, (Token t) => (int)t.Type == 77, (Token t) => (int)t.Type == 89 }, false, false); <>7__wrap3 = tokens.GetEnumerator(); <>1__state = -3; break; case 1: <>1__state = -3; <>2__current = new Token((TokenType)38, (uint?)null); <>1__state = 2; return true; case 2: <>1__state = -3; <>2__current = (Token)new IdentifierToken("get_node"); <>1__state = 3; return true; case 3: <>1__state = -3; <>2__current = new Token((TokenType)80, (uint?)null); <>1__state = 4; return true; case 4: <>1__state = -3; <>2__current = (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches")); <>1__state = 5; return true; case 5: <>1__state = -3; <>2__current = new Token((TokenType)81, (uint?)null); <>1__state = 6; return true; case 6: <>1__state = -3; <>2__current = new Token((TokenType)84, (uint?)null); <>1__state = 7; return true; case 7: <>1__state = -3; <>2__current = (Token)new IdentifierToken("_call_action"); <>1__state = 8; return true; case 8: <>1__state = -3; <>2__current = new Token((TokenType)80, (uint?)null); <>1__state = 9; return true; case 9: <>1__state = -3; <>2__current = (Token)new IdentifierToken("item_data"); <>1__state = 10; return true; case 10: <>1__state = -3; <>2__current = new Token((TokenType)84, (uint?)null); <>1__state = 11; return true; case 11: <>1__state = -3; <>2__current = (Token)new IdentifierToken("action"); <>1__state = 12; return true; case 12: <>1__state = -3; <>2__current = new Token((TokenType)82, (uint?)null); <>1__state = 13; return true; case 13: <>1__state = -3; <>2__current = (Token)new IdentifierToken("item_data"); <>1__state = 14; return true; case 14: <>1__state = -3; <>2__current = new Token((TokenType)84, (uint?)null); <>1__state = 15; return true; case 15: <>1__state = -3; <>2__current = (Token)new IdentifierToken("action_params"); <>1__state = 16; return true; case 16: <>1__state = -3; <>2__current = new Token((TokenType)81, (uint?)null); <>1__state = 17; return true; case 17: <>1__state = -3; <>2__current = new Token((TokenType)86, (uint?)null); <>1__state = 18; return true; case 18: <>1__state = -3; <>2__current = new Token((TokenType)46, (uint?)null); <>1__state = 19; return true; case 19: <>1__state = -3; <>2__current = new Token((TokenType)89, (uint?)1u); <>1__state = 20; return true; case 20: <>1__state = -3; break; case 21: <>1__state = -3; <>2__current = new Token((TokenType)89, (uint?)1u); <>1__state = 22; return true; case 22: <>1__state = -3; <>2__current = new Token((TokenType)38, (uint?)null); <>1__state = 23; return true; case 23: <>1__state = -3; <>2__current = (Token)new IdentifierToken("get_node_or_null"); <>1__state = 24; return true; case 24: <>1__state = -3; <>2__current = new Token((TokenType)80, (uint?)null); <>1__state = 25; return true; case 25: <>1__state = -3; <>2__current = (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches")); <>1__state = 26; return true; case 26: <>1__state = -3; <>2__current = new Token((TokenType)81, (uint?)null); <>1__state = 27; return true; case 27: <>1__state = -3; <>2__current = new Token((TokenType)84, (uint?)null); <>1__state = 28; return true; case 28: <>1__state = -3; <>2__current = (Token)new IdentifierToken("_call_release"); <>1__state = 29; return true; case 29: <>1__state = -3; <>2__current = new Token((TokenType)80, (uint?)null); <>1__state = 30; return true; case 30: <>1__state = -3; <>2__current = (Token)new IdentifierToken("item_data"); <>1__state = 31; return true; case 31: <>1__state = -3; <>2__current = new Token((TokenType)84, (uint?)null); <>1__state = 32; return true; case 32: <>1__state = -3; <>2__current = (Token)new IdentifierToken("release_action"); <>1__state = 33; return true; case 33: <>1__state = -3; <>2__current = new Token((TokenType)81, (uint?)null); <>1__state = 34; return true; case 34: <>1__state = -3; <>2__current = new Token((TokenType)86, (uint?)null); <>1__state = 35; return true; case 35: <>1__state = -3; <>2__current = new Token((TokenType)46, (uint?)null); <>1__state = 36; return true; case 36: <>1__state = -3; <>2__current = new Token((TokenType)89, (uint?)1u); <>1__state = 37; return true; case 37: <>1__state = -3; break; case 38: <>1__state = -3; break; } if (((global::System.Collections.IEnumerator)<>7__wrap3).MoveNext()) { Token current = <>7__wrap3.Current; if (<waiter_use>5__2.Check(current)) { <>2__current = current; <>1__state = 1; return true; } if (<waiter_release>5__3.Check(current)) { <>2__current = current; <>1__state = 21; return true; } <>2__current = current; <>1__state = 38; return true; } <>m__Finally1(); <>7__wrap3 = 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__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/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_use = new MultiTokenWaiter(new Func<Token, bool>[37] { (Token t) => (int)t.Type == 48, delegate(Token t) { IdentifierToken val23 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val23 != null && val23.Name == "_use_item"; }, (Token t) => (int)t.Type == 80, (Token t) => (int)t.Type == 81, (Token t) => (int)t.Type == 86, delegate(Token t) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 bool num5 = (int)t.Type == 89; uint? associatedData5 = t.AssociatedData; return num5 & (associatedData5.HasValue && associatedData5.GetValueOrDefault() == 1); }, (Token t) => (int)t.Type == 38, (Token t) => (int)t.Type == 15, delegate(Token t) { IdentifierToken val22 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val22 != null && val22.Name == "controlled"; }, (Token t) => (int)t.Type == 86, (Token t) => (int)t.Type == 46, delegate(Token t) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 bool num4 = (int)t.Type == 89; uint? associatedData4 = t.AssociatedData; return num4 & (associatedData4.HasValue && associatedData4.GetValueOrDefault() == 1); }, (Token t) => (int)t.Type == 38, delegate(Token t) { IdentifierToken val21 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val21 != null && val21.Name == "held_item"; }, (Token t) => (int)t.Type == 84, delegate(Token t) { IdentifierToken val20 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val20 != null && val20.Name == "empty"; }, (Token t) => (int)t.Type == 80, (Token t) => (int)t.Type == 81, (Token t) => (int)t.Type == 86, (Token t) => (int)t.Type == 46, delegate(Token t) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 bool num3 = (int)t.Type == 89; uint? associatedData3 = t.AssociatedData; return num3 & (associatedData3.HasValue && associatedData3.GetValueOrDefault() == 1); }, (Token t) => (int)t.Type == 59, delegate(Token t) { IdentifierToken val19 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val19 != null && val19.Name == "item_data"; }, (Token t) => (int)t.Type == 23, delegate(Token t) { IdentifierToken val18 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val18 != null && val18.Name == "Globals"; }, (Token t) => (int)t.Type == 84, delegate(Token t) { IdentifierToken val17 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val17 != null && val17.Name == "item_data"; }, (Token t) => (int)t.Type == 76, delegate(Token t) { IdentifierToken val16 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val16 != null && val16.Name == "held_item"; }, (Token t) => (int)t.Type == 76, delegate(Token t) { ConstantToken val14 = (ConstantToken)(object)((t is ConstantToken) ? t : null); if (val14 != null) { Variant value4 = val14.Value; StringVariant val15 = (StringVariant)(object)((value4 is StringVariant) ? value4 : null); if (val15 != null) { return val15.Value == "id"; } } return false; }, (Token t) => (int)t.Type == 77, (Token t) => (int)t.Type == 77, (Token t) => (int)t.Type == 76, delegate(Token t) { ConstantToken val12 = (ConstantToken)(object)((t is ConstantToken) ? t : null); if (val12 != null) { Variant value3 = val12.Value; StringVariant val13 = (StringVariant)(object)((value3 is StringVariant) ? value3 : null); if (val13 != null) { return val13.Value == "file"; } } return false; }, (Token t) => (int)t.Type == 77, (Token t) => (int)t.Type == 89 }, false, false); MultiTokenWaiter waiter_release = new MultiTokenWaiter(new Func<Token, bool>[31] { (Token t) => (int)t.Type == 48, delegate(Token t) { IdentifierToken val11 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val11 != null && val11.Name == "_release_item"; }, (Token t) => (int)t.Type == 80, (Token t) => (int)t.Type == 81, (Token t) => (int)t.Type == 86, delegate(Token t) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 bool num2 = (int)t.Type == 89; uint? associatedData2 = t.AssociatedData; return num2 & (associatedData2.HasValue && associatedData2.GetValueOrDefault() == 1); }, (Token t) => (int)t.Type == 38, delegate(Token t) { IdentifierToken val10 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val10 != null && val10.Name == "held_item"; }, (Token t) => (int)t.Type == 84, delegate(Token t) { IdentifierToken val9 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val9 != null && val9.Name == "empty"; }, (Token t) => (int)t.Type == 80, (Token t) => (int)t.Type == 81, (Token t) => (int)t.Type == 86, (Token t) => (int)t.Type == 46, delegate(Token t) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 bool num = (int)t.Type == 89; uint? associatedData = t.AssociatedData; return num & (associatedData.HasValue && associatedData.GetValueOrDefault() == 1); }, (Token t) => (int)t.Type == 59, delegate(Token t) { IdentifierToken val8 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val8 != null && val8.Name == "item_data"; }, (Token t) => (int)t.Type == 23, delegate(Token t) { IdentifierToken val7 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val7 != null && val7.Name == "Globals"; }, (Token t) => (int)t.Type == 84, delegate(Token t) { IdentifierToken val6 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val6 != null && val6.Name == "item_data"; }, (Token t) => (int)t.Type == 76, delegate(Token t) { IdentifierToken val5 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val5 != null && val5.Name == "held_item"; }, (Token t) => (int)t.Type == 76, delegate(Token t) { ConstantToken val3 = (ConstantToken)(object)((t is ConstantToken) ? t : null); if (val3 != null) { Variant value2 = val3.Value; StringVariant val4 = (StringVariant)(object)((value2 is StringVariant) ? value2 : null); if (val4 != null) { return val4.Value == "id"; } } return false; }, (Token t) => (int)t.Type == 77, (Token t) => (int)t.Type == 77, (Token t) => (int)t.Type == 76, delegate(Token t) { ConstantToken val = (ConstantToken)(object)((t is ConstantToken) ? t : null); if (val != null) { Variant value = val.Value; StringVariant val2 = (StringVariant)(object)((value is StringVariant) ? value : null); if (val2 != null) { return val2.Value == "file"; } } return false; }, (Token t) => (int)t.Type == 77, (Token t) => (int)t.Type == 89 }, false, false); global::System.Collections.Generic.IEnumerator<Token> enumerator = tokens.GetEnumerator(); try { while (((global::System.Collections.IEnumerator)enumerator).MoveNext()) { Token current = enumerator.Current; if (waiter_use.Check(current)) { yield return current; yield return new Token((TokenType)38, (uint?)null); yield return (Token)new IdentifierToken("get_node"); yield return new Token((TokenType)80, (uint?)null); yield return (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches")); yield return new Token((TokenType)81, (uint?)null); yield return new Token((TokenType)84, (uint?)null); yield return (Token)new IdentifierToken("_call_action"); yield return new Token((TokenType)80, (uint?)null); yield return (Token)new IdentifierToken("item_data"); yield return new Token((TokenType)84, (uint?)null); yield return (Token)new IdentifierToken("action"); yield return new Token((TokenType)82, (uint?)null); yield return (Token)new IdentifierToken("item_data"); yield return new Token((TokenType)84, (uint?)null); yield return (Token)new IdentifierToken("action_params"); yield return new Token((TokenType)81, (uint?)null); yield return new Token((TokenType)86, (uint?)null); yield return new Token((TokenType)46, (uint?)null); yield return new Token((TokenType)89, (uint?)1u); } else if (waiter_release.Check(current)) { yield return current; yield return new Token((TokenType)89, (uint?)1u); yield return new Token((TokenType)38, (uint?)null); yield return (Token)new IdentifierToken("get_node_or_null"); yield return new Token((TokenType)80, (uint?)null); yield return (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches")); yield return new Token((TokenType)81, (uint?)null); yield return new Token((TokenType)84, (uint?)null); yield return (Token)new IdentifierToken("_call_release"); yield return new Token((TokenType)80, (uint?)null); yield return (Token)new IdentifierToken("item_data"); yield return new Token((TokenType)84, (uint?)null); yield return (Token)new IdentifierToken("release_action"); yield return new Token((TokenType)81, (uint?)null); yield return new Token((TokenType)86, (uint?)null); yield return new Token((TokenType)46, (uint?)null); yield return new Token((TokenType)89, (uint?)1u); } else { yield return current; } } } finally { ((global::System.IDisposable)enumerator)?.Dispose(); } } } public class JournalPatcher : 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 <extendswaiter>5__2; private MultiTokenWaiter <inwaiter>5__3; private TokenConsumer <consumer>5__4; private global::System.Collections.Generic.IEnumerator<Token> <>7__wrap4; 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) <= 13u) { try { } finally { <>m__Finally1(); } } } private bool MoveNext() { //IL_01d7: Unknown result type (might be due to invalid IL or missing references) //IL_01e1: Expected O, but got Unknown //IL_0203: Unknown result type (might be due to invalid IL or missing references) //IL_020d: Expected O, but got Unknown //IL_0229: Unknown result type (might be due to invalid IL or missing references) //IL_0233: Expected O, but got Unknown //IL_0255: Unknown result type (might be due to invalid IL or missing references) //IL_025f: Expected O, but got Unknown //IL_027b: Unknown result type (might be due to invalid IL or missing references) //IL_0285: Expected O, but got Unknown //IL_02a7: Unknown result type (might be due to invalid IL or missing references) //IL_02b1: Expected O, but got Unknown //IL_02cd: Unknown result type (might be due to invalid IL or missing references) //IL_02d7: Expected O, but got Unknown //IL_02d2: Unknown result type (might be due to invalid IL or missing references) //IL_02dc: Expected O, but got Unknown //IL_02fe: Unknown result type (might be due to invalid IL or missing references) //IL_0308: Expected O, but got Unknown //IL_032b: Unknown result type (might be due to invalid IL or missing references) //IL_0335: Expected O, but got Unknown //IL_0352: Unknown result type (might be due to invalid IL or missing references) //IL_035c: Expected O, but got Unknown //IL_03a4: Unknown result type (might be due to invalid IL or missing references) //IL_03ae: Expected O, but got Unknown //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00d0: Expected O, but got Unknown //IL_011d: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Expected O, but got Unknown //IL_0147: Unknown result type (might be due to invalid IL or missing references) //IL_0151: Expected O, but got Unknown try { switch (<>1__state) { default: return false; case 0: <>1__state = -1; <extendswaiter>5__2 = new MultiTokenWaiter(new Func<Token, bool>[3] { (Token t) => (int)t.Type == 51, (Token t) => (int)t.Type == 1, (Token t) => (int)t.Type == 89 }, false, false); <inwaiter>5__3 = new MultiTokenWaiter(new Func<Token, bool>[2] { delegate(Token t) { IdentifierToken val = (IdentifierToken)(object)((t is IdentifierToken) ? t : null); return val != null && val.Name == "category"; }, (Token t) => (int)t.Type == 6 }, false, false); <consumer>5__4 = new TokenConsumer((Func<Token, bool>)((Token t) => (int)t.Type == 86)); <>7__wrap4 = tokens.GetEnumerator(); <>1__state = -3; break; case 1: <>1__state = -3; <>2__current = new Token((TokenType)53, (uint?)null); <>1__state = 2; return true; case 2: <>1__state = -3; <>2__current = new Token((TokenType)59, (uint?)null); <>1__state = 3; return true; case 3: <>1__state = -3; <>2__current = (Token)new IdentifierToken("ready_categories"); <>1__state = 4; return true; case 4: <>1__state = -3; <>2__current = new Token((TokenType)23, (uint?)null); <>1__state = 5; return true; case 5: <>1__state = -3; <>2__current = (Token)new IdentifierToken("get_node"); <>1__state = 6; return true; case 6: <>1__state = -3; <>2__current = new Token((TokenType)80, (uint?)null); <>1__state = 7; return true; case 7: <>1__state = -3; <>2__current = (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure")); <>1__state = 8; return true; case 8: <>1__state = -3; <>2__current = new Token((TokenType)81, (uint?)null); <>1__state = 9; return true; case 9: <>1__state = -3; <>2__current = new Token((TokenType)84, (uint?)null); <>1__state = 10;