Decompiled source of LureRefreshed v4.3.0
GDWeave/mods/Sulayre.Lure/Sulayre.Lure.dll
Decompiled 4 days 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("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0.0")] [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 = false; [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 ServerButtonPatcher()); modInterface.RegisterScriptMod((IScriptMod)(object)new AquaPatcher()); modInterface.RegisterScriptMod((IScriptMod)(object)new ShopPatcher()); } 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 string path; public string <>3__path; private global::System.Collections.Generic.IEnumerable<Token> tokens; public global::System.Collections.Generic.IEnumerable<Token> <>3__tokens; public AquaPatcher <>4__this; private MultiTokenWaiter <waiter>5__1; private global::System.Collections.Generic.IEnumerator<Token> <>s__2; private Token <token>5__3; 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) { return; } try { } finally { <>m__Finally1(); } } private bool MoveNext() { //IL_025a: Unknown result type (might be due to invalid IL or missing references) //IL_0264: Expected O, but got Unknown //IL_0286: Unknown result type (might be due to invalid IL or missing references) //IL_0290: Expected O, but got Unknown //IL_02ac: Unknown result type (might be due to invalid IL or missing references) //IL_02b6: Expected O, but got Unknown //IL_02d8: Unknown result type (might be due to invalid IL or missing references) //IL_02e2: 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_032a: Unknown result type (might be due to invalid IL or missing references) //IL_0334: Expected O, but got Unknown //IL_0350: Unknown result type (might be due to invalid IL or missing references) //IL_035a: Expected O, but got Unknown //IL_037c: Unknown result type (might be due to invalid IL or missing references) //IL_0386: Expected O, but got Unknown //IL_03a9: Unknown result type (might be due to invalid IL or missing references) //IL_03b3: Expected O, but got Unknown //IL_03d6: Unknown result type (might be due to invalid IL or missing references) //IL_03e0: Expected O, but got Unknown //IL_03fd: Unknown result type (might be due to invalid IL or missing references) //IL_0407: Expected O, but got Unknown //IL_042a: Unknown result type (might be due to invalid IL or missing references) //IL_0434: Expected O, but got Unknown //IL_0451: Unknown result type (might be due to invalid IL or missing references) //IL_045b: Expected O, but got Unknown //IL_047e: Unknown result type (might be due to invalid IL or missing references) //IL_0488: Expected O, but got Unknown //IL_04ab: Unknown result type (might be due to invalid IL or missing references) //IL_04b5: Expected O, but got Unknown //IL_04d2: Unknown result type (might be due to invalid IL or missing references) //IL_04dc: Expected O, but got Unknown //IL_04ff: Unknown result type (might be due to invalid IL or missing references) //IL_0509: Expected O, but got Unknown //IL_0526: Unknown result type (might be due to invalid IL or missing references) //IL_0530: Expected O, but got Unknown //IL_052b: Unknown result type (might be due to invalid IL or missing references) //IL_0535: Expected O, but got Unknown //IL_0555: Unknown result type (might be due to invalid IL or missing references) //IL_055f: Expected O, but got Unknown //IL_01d8: Unknown result type (might be due to invalid IL or missing references) //IL_01e2: Expected O, but got Unknown try { switch (<>1__state) { default: return false; case 0: <>1__state = -1; <waiter>5__1 = 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); <>s__2 = 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; goto IL_0598; case 21: { <>1__state = -3; goto IL_0598; } IL_0598: <token>5__3 = null; break; } if (((global::System.Collections.IEnumerator)<>s__2).MoveNext()) { <token>5__3 = <>s__2.Current; if (<waiter>5__1.Check(<token>5__3)) { <>2__current = <token>5__3; <>1__state = 1; return true; } <>2__current = <token>5__3; <>1__state = 21; return true; } <>m__Finally1(); <>s__2 = 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 (<>s__2 != null) { ((global::System.IDisposable)<>s__2).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__.path = <>3__path; <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 token = enumerator.Current; if (waiter.Check(token)) { yield return token; 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 token; } } } 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 string path; public string <>3__path; private global::System.Collections.Generic.IEnumerable<Token> tokens; public global::System.Collections.Generic.IEnumerable<Token> <>3__tokens; public BarkPatcher <>4__this; private MultiTokenWaiter <waiter_ready>5__1; private MultiTokenWaiter <waiter_bark>5__2; private MultiTokenWaiter <waiter_fallback>5__3; private global::System.Collections.Generic.IEnumerator<Token> <>s__4; private Token <token>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() { int num = <>1__state; if (num != -3 && (uint)(num - 1) > 56u) { return; } try { } finally { <>m__Finally1(); } } private bool MoveNext() { //IL_060d: Unknown result type (might be due to invalid IL or missing references) //IL_0617: Expected O, but got Unknown //IL_0633: Unknown result type (might be due to invalid IL or missing references) //IL_063d: Expected O, but got Unknown //IL_065f: Unknown result type (might be due to invalid IL or missing references) //IL_0669: 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_068a: Unknown result type (might be due to invalid IL or missing references) //IL_0694: Expected O, but got Unknown //IL_06b6: Unknown result type (might be due to invalid IL or missing references) //IL_06c0: Expected O, but got Unknown //IL_06e2: Unknown result type (might be due to invalid IL or missing references) //IL_06ec: Expected O, but got Unknown //IL_0708: Unknown result type (might be due to invalid IL or missing references) //IL_0712: Expected O, but got Unknown //IL_0734: Unknown result type (might be due to invalid IL or missing references) //IL_073e: Expected O, but got Unknown //IL_075b: Unknown result type (might be due to invalid IL or missing references) //IL_0765: Expected O, but got Unknown //IL_0788: Unknown result type (might be due to invalid IL or missing references) //IL_0792: Expected O, but got Unknown //IL_07b2: Unknown result type (might be due to invalid IL or missing references) //IL_07bc: Expected O, but got Unknown //IL_07d9: Unknown result type (might be due to invalid IL or missing references) //IL_07e3: Expected O, but got Unknown //IL_0806: Unknown result type (might be due to invalid IL or missing references) //IL_0810: Expected O, but got Unknown //IL_082d: Unknown result type (might be due to invalid IL or missing references) //IL_0837: Expected O, but got Unknown //IL_0832: Unknown result type (might be due to invalid IL or missing references) //IL_083c: Expected O, but got Unknown //IL_085f: Unknown result type (might be due to invalid IL or missing references) //IL_0869: Expected O, but got Unknown //IL_088c: Unknown result type (might be due to invalid IL or missing references) //IL_0896: Expected O, but got Unknown //IL_08b3: Unknown result type (might be due to invalid IL or missing references) //IL_08bd: Expected O, but got Unknown //IL_08e0: Unknown result type (might be due to invalid IL or missing references) //IL_08ea: Expected O, but got Unknown //IL_0907: Unknown result type (might be due to invalid IL or missing references) //IL_0911: Expected O, but got Unknown //IL_0934: Unknown result type (might be due to invalid IL or missing references) //IL_093e: Expected O, but got Unknown //IL_095b: Unknown result type (might be due to invalid IL or missing references) //IL_0965: Expected O, but got Unknown //IL_0960: Unknown result type (might be due to invalid IL or missing references) //IL_096a: Expected O, but got Unknown //IL_098d: Unknown result type (might be due to invalid IL or missing references) //IL_0997: Expected O, but got Unknown //IL_09ba: Unknown result type (might be due to invalid IL or missing references) //IL_09c4: Expected O, but got Unknown //IL_09e4: Unknown result type (might be due to invalid IL or missing references) //IL_09ee: Expected O, but got Unknown //IL_0a52: Unknown result type (might be due to invalid IL or missing references) //IL_0a5c: Expected O, but got Unknown //IL_0a79: Unknown result type (might be due to invalid IL or missing references) //IL_0a83: Expected O, but got Unknown //IL_0aa6: Unknown result type (might be due to invalid IL or missing references) //IL_0ab0: Expected O, but got Unknown //IL_0acd: Unknown result type (might be due to invalid IL or missing references) //IL_0ad7: 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_0b21: Unknown result type (might be due to invalid IL or missing references) //IL_0b2b: 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_0b53: Unknown result type (might be due to invalid IL or missing references) //IL_0b5d: Expected O, but got Unknown //IL_0b80: Unknown result type (might be due to invalid IL or missing references) //IL_0b8a: Expected O, but got Unknown //IL_0ba7: Unknown result type (might be due to invalid IL or missing references) //IL_0bb1: Expected O, but got Unknown //IL_0bd4: Unknown result type (might be due to invalid IL or missing references) //IL_0bde: Expected O, but got Unknown //IL_0bfb: Unknown result type (might be due to invalid IL or missing references) //IL_0c05: Expected O, but got Unknown //IL_0c28: Unknown result type (might be due to invalid IL or missing references) //IL_0c32: Expected O, but got Unknown //IL_0c4f: Unknown result type (might be due to invalid IL or missing references) //IL_0c59: Expected O, but got Unknown //IL_0c7c: Unknown result type (might be due to invalid IL or missing references) //IL_0c86: Expected O, but got Unknown //IL_0ca3: Unknown result type (might be due to invalid IL or missing references) //IL_0cad: Expected O, but got Unknown //IL_0cd0: Unknown result type (might be due to invalid IL or missing references) //IL_0cda: Expected O, but got Unknown //IL_0cfa: Unknown result type (might be due to invalid IL or missing references) //IL_0d04: Expected O, but got Unknown //IL_0d65: Unknown result type (might be due to invalid IL or missing references) //IL_0d6f: Expected O, but got Unknown //IL_0d92: Unknown result type (might be due to invalid IL or missing references) //IL_0d9c: Expected O, but got Unknown //IL_0db9: Unknown result type (might be due to invalid IL or missing references) //IL_0dc3: Expected O, but got Unknown //IL_0de6: Unknown result type (might be due to invalid IL or missing references) //IL_0df0: Expected O, but got Unknown //IL_0e0d: Unknown result type (might be due to invalid IL or missing references) //IL_0e17: Expected O, but got Unknown //IL_0e12: Unknown result type (might be due to invalid IL or missing references) //IL_0e1c: Expected O, but got Unknown //IL_0e3f: Unknown result type (might be due to invalid IL or missing references) //IL_0e49: Expected O, but got Unknown //IL_0e6c: Unknown result type (might be due to invalid IL or missing references) //IL_0e76: Expected O, but got Unknown //IL_0e93: Unknown result type (might be due to invalid IL or missing references) //IL_0e9d: Expected O, but got Unknown //IL_0ec0: Unknown result type (might be due to invalid IL or missing references) //IL_0eca: Expected O, but got Unknown //IL_0ee7: Unknown result type (might be due to invalid IL or missing references) //IL_0ef1: Expected O, but got Unknown //IL_0f14: Unknown result type (might be due to invalid IL or missing references) //IL_0f1e: Expected O, but got Unknown //IL_02de: Unknown result type (might be due to invalid IL or missing references) //IL_02e8: Expected O, but got Unknown //IL_03df: Unknown result type (might be due to invalid IL or missing references) //IL_03e9: Expected O, but got Unknown //IL_058e: Unknown result type (might be due to invalid IL or missing references) //IL_0598: Expected O, but got Unknown try { switch (<>1__state) { default: return false; case 0: <>1__state = -1; <waiter_ready>5__1 = 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__2 = 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__3 = 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); int result; if (val != null) { Variant value = val.Value; BoolVariant val2 = (BoolVariant)(object)((value is BoolVariant) ? value : null); if (val2 != null) { result = (val2.Value ? 1 : 0); goto IL_0022; } } result = 0; goto IL_0022; IL_0022: return (byte)result != 0; }, (Token t) => (int)t.Type == 89 }, false, false); <>s__4 = 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_0f77; 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_0f77; 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__5; <>1__state = 56; return true; case 56: <>1__state = -3; goto IL_0f77; case 57: { <>1__state = -3; goto IL_0f77; } IL_0f77: <token>5__5 = null; break; } if (((global::System.Collections.IEnumerator)<>s__4).MoveNext()) { <token>5__5 = <>s__4.Current; if (<waiter_ready>5__1.Check(<token>5__5)) { <>2__current = <token>5__5; <>1__state = 1; return true; } if (<waiter_bark>5__2.Check(<token>5__5)) { <>2__current = <token>5__5; <>1__state = 26; return true; } if (<waiter_fallback>5__3.Check(<token>5__5)) { <>2__current = <token>5__5; <>1__state = 44; return true; } <>2__current = <token>5__5; <>1__state = 57; return true; } <>m__Finally1(); <>s__4 = 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 (<>s__4 != null) { ((global::System.IDisposable)<>s__4).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__.path = <>3__path; <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); int result; if (val != null) { Variant value = val.Value; BoolVariant val2 = (BoolVariant)(object)((value is BoolVariant) ? value : null); if (val2 != null) { result = (val2.Value ? 1 : 0); goto IL_0022; } } result = 0; goto IL_0022; IL_0022: return (byte)result != 0; }, (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 string path; public string <>3__path; private global::System.Collections.Generic.IEnumerable<Token> tokens; public global::System.Collections.Generic.IEnumerable<Token> <>3__tokens; public FacePatcher <>4__this; private MultiTokenWaiter <waiter>5__1; private global::System.Collections.Generic.IEnumerator<Token> <>s__2; private Token <token>5__3; 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) { return; } try { } finally { <>m__Finally1(); } } private bool MoveNext() { //IL_01f1: Unknown result type (might be due to invalid IL or missing references) //IL_01fb: Expected O, but got Unknown //IL_0217: Unknown result type (might be due to invalid IL or missing references) //IL_0221: Expected O, but got Unknown //IL_0243: Unknown result type (might be due to invalid IL or missing references) //IL_024d: Expected O, but got Unknown //IL_0269: Unknown result type (might be due to invalid IL or missing references) //IL_0273: Expected O, but got Unknown //IL_026e: Unknown result type (might be due to invalid IL or missing references) //IL_0278: Expected O, but got Unknown //IL_029a: Unknown result type (might be due to invalid IL or missing references) //IL_02a4: Expected O, but got Unknown //IL_02c6: Unknown result type (might be due to invalid IL or missing references) //IL_02d0: Expected O, but got Unknown //IL_02ec: Unknown result type (might be due to invalid IL or missing references) //IL_02f6: Expected O, but got Unknown //IL_0318: Unknown result type (might be due to invalid IL or missing references) //IL_0322: Expected O, but got Unknown //IL_033f: Unknown result type (might be due to invalid IL or missing references) //IL_0349: Expected O, but got Unknown //IL_036c: Unknown result type (might be due to invalid IL or missing references) //IL_0376: Expected O, but got Unknown //IL_0393: Unknown result type (might be due to invalid IL or missing references) //IL_039d: Expected O, but got Unknown //IL_0398: Unknown result type (might be due to invalid IL or missing references) //IL_03a2: Expected O, but got Unknown //IL_03c5: Unknown result type (might be due to invalid IL or missing references) //IL_03cf: Expected O, but got Unknown //IL_03f2: Unknown result type (might be due to invalid IL or missing references) //IL_03fc: Expected O, but got Unknown //IL_0419: Unknown result type (might be due to invalid IL or missing references) //IL_0423: Expected O, but got Unknown //IL_0446: Unknown result type (might be due to invalid IL or missing references) //IL_0450: Expected O, but got Unknown //IL_046d: Unknown result type (might be due to invalid IL or missing references) //IL_0477: Expected O, but got Unknown //IL_0472: Unknown result type (might be due to invalid IL or missing references) //IL_047c: Expected O, but got Unknown //IL_049f: Unknown result type (might be due to invalid IL or missing references) //IL_04a9: Expected O, but got Unknown //IL_04cc: Unknown result type (might be due to invalid IL or missing references) //IL_04d6: Expected O, but got Unknown //IL_04f6: Unknown result type (might be due to invalid IL or missing references) //IL_0500: Expected O, but got Unknown //IL_0172: Unknown result type (might be due to invalid IL or missing references) //IL_017c: Expected O, but got Unknown try { switch (<>1__state) { default: return false; case 0: <>1__state = -1; <waiter>5__1 = 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); int result; if (val != null) { Variant value = val.Value; StringVariant val2 = (StringVariant)(object)((value is StringVariant) ? value : null); if (val2 != null) { result = ((val2.Value == "dog_face") ? 1 : 0); goto IL_002c; } } result = 0; goto IL_002c; IL_002c: return (byte)result != 0; }, (Token t) => (int)t.Type == 81 }, false, false); <>s__2 = 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; goto IL_0539; case 21: { <>1__state = -3; goto IL_0539; } IL_0539: <token>5__3 = null; break; } if (((global::System.Collections.IEnumerator)<>s__2).MoveNext()) { <token>5__3 = <>s__2.Current; if (<waiter>5__1.Check(<token>5__3)) { <>2__current = <token>5__3; <>1__state = 1; return true; } <>2__current = <token>5__3; <>1__state = 21; return true; } <>m__Finally1(); <>s__2 = 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 (<>s__2 != null) { ((global::System.IDisposable)<>s__2).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__.path = <>3__path; <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); int result; if (val != null) { Variant value = val.Value; StringVariant val2 = (StringVariant)(object)((value is StringVariant) ? value : null); if (val2 != null) { result = ((val2.Value == "dog_face") ? 1 : 0); goto IL_002c; } } result = 0; goto IL_002c; IL_002c: return (byte)result != 0; }, (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 token = enumerator.Current; if (waiter.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("_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 token; } } } 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 string path; public string <>3__path; private global::System.Collections.Generic.IEnumerable<Token> tokens; public global::System.Collections.Generic.IEnumerable<Token> <>3__tokens; public GlobalPatcher <>4__this; private MultiTokenWaiter <waiter>5__1; private global::System.Collections.Generic.IEnumerator<Token> <>s__2; private Token <token>5__3; 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) { return; } try { } finally { <>m__Finally1(); } } private bool MoveNext() { //IL_0191: Unknown result type (might be due to invalid IL or missing references) //IL_019b: Expected O, but got Unknown //IL_01b7: Unknown result type (might be due to invalid IL or missing references) //IL_01c1: Expected O, but got Unknown //IL_01e3: Unknown result type (might be due to invalid IL or missing references) //IL_01ed: Expected O, but got Unknown //IL_0209: Unknown result type (might be due to invalid IL or missing references) //IL_0213: Expected O, but got Unknown //IL_0235: Unknown result type (might be due to invalid IL or missing references) //IL_023f: Expected O, but got Unknown //IL_025b: Unknown result type (might be due to invalid IL or missing references) //IL_0265: Expected O, but got Unknown //IL_0287: Unknown result type (might be due to invalid IL or missing references) //IL_0291: Expected O, but got Unknown //IL_02b3: Unknown result type (might be due to invalid IL or missing references) //IL_02bd: Expected O, but got Unknown //IL_010f: Unknown result type (might be due to invalid IL or missing references) //IL_0119: Expected O, but got Unknown try { switch (<>1__state) { default: return false; case 0: <>1__state = -1; <waiter>5__1 = 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); <>s__2 = 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; goto IL_02f6; case 10: { <>1__state = -3; goto IL_02f6; } IL_02f6: <token>5__3 = null; break; } if (((global::System.Collections.IEnumerator)<>s__2).MoveNext()) { <token>5__3 = <>s__2.Current; if (<waiter>5__1.Check(<token>5__3)) { <>2__current = <token>5__3; <>1__state = 1; return true; } <>2__current = <token>5__3; <>1__state = 10; return true; } <>m__Finally1(); <>s__2 = 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 (<>s__2 != null) { ((global::System.IDisposable)<>s__2).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__.path = <>3__path; <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 token = enumerator.Current; if (waiter.Check(token)) { yield return token; 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 token; } } } 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 string path; public string <>3__path; private global::System.Collections.Generic.IEnumerable<Token> tokens; public global::System.Collections.Generic.IEnumerable<Token> <>3__tokens; public ItemPatcher <>4__this; private MultiTokenWaiter <waiter_use>5__1; private MultiTokenWaiter <waiter_release>5__2; private global::System.Collections.Generic.IEnumerator<Token> <>s__3; private Token <token>5__4; 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) { return; } try { } finally { <>m__Finally1(); } } private bool MoveNext() { //IL_0b5a: Unknown result type (might be due to invalid IL or missing references) //IL_0b64: Expected O, but got Unknown //IL_0b80: Unknown result type (might be due to invalid IL or missing references) //IL_0b8a: Expected O, but got Unknown //IL_0bac: Unknown result type (might be due to invalid IL or missing references) //IL_0bb6: Expected O, but got Unknown //IL_0bd2: Unknown result type (might be due to invalid IL or missing references) //IL_0bdc: Expected O, but got Unknown //IL_0bd7: Unknown result type (might be due to invalid IL or missing references) //IL_0be1: Expected O, but got Unknown //IL_0c03: Unknown result type (might be due to invalid IL or missing references) //IL_0c0d: Expected O, but got Unknown //IL_0c2f: Unknown result type (might be due to invalid IL or missing references) //IL_0c39: Expected O, but got Unknown //IL_0c55: Unknown result type (might be due to invalid IL or missing references) //IL_0c5f: Expected O, but got Unknown //IL_0c81: Unknown result type (might be due to invalid IL or missing references) //IL_0c8b: Expected O, but got Unknown //IL_0ca8: Unknown result type (might be due to invalid IL or missing references) //IL_0cb2: Expected O, but got Unknown //IL_0cd5: Unknown result type (might be due to invalid IL or missing references) //IL_0cdf: Expected O, but got Unknown //IL_0cfc: Unknown result type (might be due to invalid IL or missing references) //IL_0d06: Expected O, but got Unknown //IL_0d29: Unknown result type (might be due to invalid IL or missing references) //IL_0d33: Expected O, but got Unknown //IL_0d50: Unknown result type (might be due to invalid IL or missing references) //IL_0d5a: Expected O, but got Unknown //IL_0d7d: Unknown result type (might be due to invalid IL or missing references) //IL_0d87: Expected O, but got Unknown //IL_0da4: Unknown result type (might be due to invalid IL or missing references) //IL_0dae: Expected O, but got Unknown //IL_0dd1: Unknown result type (might be due to invalid IL or missing references) //IL_0ddb: Expected O, but got Unknown //IL_0dfe: Unknown result type (might be due to invalid IL or missing references) //IL_0e08: Expected O, but got Unknown //IL_0e2b: Unknown result type (might be due to invalid IL or missing references) //IL_0e35: Expected O, but got Unknown //IL_0e55: Unknown result type (might be due to invalid IL or missing references) //IL_0e5f: Expected O, but got Unknown //IL_0ec3: Unknown result type (might be due to invalid IL or missing references) //IL_0ecd: Expected O, but got Unknown //IL_0ef0: Unknown result type (might be due to invalid IL or missing references) //IL_0efa: Expected O, but got Unknown //IL_0f17: Unknown result type (might be due to invalid IL or missing references) //IL_0f21: Expected O, but got Unknown //IL_0f44: Unknown result type (might be due to invalid IL or missing references) //IL_0f4e: Expected O, but got Unknown //IL_0f6b: Unknown result type (might be due to invalid IL or missing references) //IL_0f75: Expected O, but got Unknown //IL_0f70: Unknown result type (might be due to invalid IL or missing references) //IL_0f7a: Expected O, but got Unknown //IL_0f9d: Unknown result type (might be due to invalid IL or missing references) //IL_0fa7: Expected O, but got Unknown //IL_0fca: Unknown result type (might be due to invalid IL or missing references) //IL_0fd4: Expected O, but got Unknown //IL_0ff1: Unknown result type (might be due to invalid IL or missing references) //IL_0ffb: Expected O, but got Unknown //IL_101e: Unknown result type (might be due to invalid IL or missing references) //IL_1028: Expected O, but got Unknown //IL_1045: Unknown result type (might be due to invalid IL or missing references) //IL_104f: Expected O, but got Unknown //IL_1072: Unknown result type (might be due to invalid IL or missing references) //IL_107c: Expected O, but got Unknown //IL_1099: Unknown result type (might be due to invalid IL or missing references) //IL_10a3: Expected O, but got Unknown //IL_10c6: Unknown result type (might be due to invalid IL or missing references) //IL_10d0: Expected O, but got Unknown //IL_10f3: Unknown result type (might be due to invalid IL or missing references) //IL_10fd: Expected O, but got Unknown //IL_1120: Unknown result type (might be due to invalid IL or missing references) //IL_112a: Expected O, but got Unknown //IL_114a: Unknown result type (might be due to invalid IL or missing references) //IL_1154: Expected O, but got Unknown //IL_0690: Unknown result type (might be due to invalid IL or missing references) //IL_069a: Expected O, but got Unknown //IL_0ad8: Unknown result type (might be due to invalid IL or missing references) //IL_0ae2: Expected O, but got Unknown try { switch (<>1__state) { default: return false; case 0: <>1__state = -1; <waiter_use>5__1 = 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); int result4; if (val14 != null) { Variant value4 = val14.Value; StringVariant val15 = (StringVariant)(object)((value4 is StringVariant) ? value4 : null); if (val15 != null) { result4 = ((val15.Value == "id") ? 1 : 0); goto IL_002c; } } result4 = 0; goto IL_002c; IL_002c: return (byte)result4 != 0; }, (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); int result3; if (val12 != null) { Variant value3 = val12.Value; StringVariant val13 = (StringVariant)(object)((value3 is StringVariant) ? value3 : null); if (val13 != null) { result3 = ((val13.Value == "file") ? 1 : 0); goto IL_002c; } } result3 = 0; goto IL_002c; IL_002c: return (byte)result3 != 0; }, (Token t) => (int)t.Type == 77, (Token t) => (int)t.Type == 89 }, false, false); <waiter_release>5__2 = 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); int result2; if (val3 != null) { Variant value2 = val3.Value; StringVariant val4 = (StringVariant)(object)((value2 is StringVariant) ? value2 : null); if (val4 != null) { result2 = ((val4.Value == "id") ? 1 : 0); goto IL_002c; } } result2 = 0; goto IL_002c; IL_002c: return (byte)result2 != 0; }, (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); int result; if (val != null) { Variant value = val.Value; StringVariant val2 = (StringVariant)(object)((value is StringVariant) ? value : null); if (val2 != null) { result = ((val2.Value == "file") ? 1 : 0); goto IL_002c; } } result = 0; goto IL_002c; IL_002c: return (byte)result != 0; }, (Token t) => (int)t.Type == 77, (Token t) => (int)t.Type == 89 }, false, false); <>s__3 = 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; goto IL_118d; 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; goto IL_118d; case 38: { <>1__state = -3; goto IL_118d; } IL_118d: <token>5__4 = null; break; } if (((global::System.Collections.IEnumerator)<>s__3).MoveNext()) { <token>5__4 = <>s__3.Current; if (<waiter_use>5__1.Check(<token>5__4)) { <>2__current = <token>5__4; <>1__state = 1; return true; } if (<waiter_release>5__2.Check(<token>5__4)) { <>2__current = <token>5__4; <>1__state = 21; return true; } <>2__current = <token>5__4; <>1__state = 38; return true; } <>m__Finally1(); <>s__3 = 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 (<>s__3 != null) { ((global::System.IDisposable)<>s__3).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__.path = <>3__path; <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); int result4; if (val14 != null) { Variant value4 = val14.Value; StringVariant val15 = (StringVariant)(object)((value4 is StringVariant) ? value4 : null); if (val15 != null) { result4 = ((val15.Value == "id") ? 1 : 0); goto IL_002c; } } result4 = 0; goto IL_002c; IL_002c: return (byte)result4 != 0; }, (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); int result3; if (val12 != null) { Variant value3 = val12.Value; StringVariant val13 = (StringVariant)(object)((value3 is StringVariant) ? value3 : null); if (val13 != null) { result3 = ((val13.Value == "file") ? 1 : 0); goto IL_002c; } } result3 = 0; goto IL_002c; IL_002c: return (byte)result3 != 0; }, (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); int result2; if (val3 != null) { Variant value2 = val3.Value; StringVariant val4 = (StringVariant)(object)((value2 is StringVariant) ? value2 : null); if (val4 != null) { result2 = ((val4.Value == "id") ? 1 : 0); goto IL_002c; } } result2 = 0; goto IL_002c; IL_002c: return (byte)result2 != 0; }, (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); int result; if (val != null) { Variant value = val.Value; StringVariant val2 = (StringVariant)(object)((value is StringVariant) ? value : null); if (val2 != null) { result = ((val2.Value == "file") ? 1 : 0); goto IL_002c; } } result = 0; goto IL_002c; IL_002c: return (byte)result != 0; }, (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 token = enumerator.Current; if (waiter_use.Check(token)) { yield return token; 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(token)) { yield return token; 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 token; } } } 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 string path; public string <>3__path; private global::System.Collections.Generic.IEnumerable<Token> tokens; public global::System.Collections.Generic.IEnumerable<Token> <>3__tokens; public JournalPatcher <>4__this; private MultiTokenWaiter <extendswaiter>5__1; private MultiTokenWaiter <inwaiter>5__2; private TokenConsumer <consumer>5__3; private global::System.Collections.Generic.IEnumerator<Token> <>s__4; private Token <token>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() { int num = <>1__state; if (num != -3 && (uint)(num - 1) > 13u) { return; } try { } finally { <>m__Finally1(); } } private bool MoveNext() { //IL_0246: Unknown result type (might be due to invalid IL or missing references) //IL_0250: Expected O, but got Unknown //IL_0273: Unknown result type (might be due to invalid IL or missing references) //IL_027d: Expected O, but got Unknown //IL_0299: Unknown result type (might be due to invalid IL or missing references) //IL_02a3: Expected O, but got Unknown //IL_02c6: Unknown result type (might be due to invalid IL or missing references) //IL_02d0: Expected O, but got Unknown //IL_02ec: Unknown result type (might be due to invalid IL or missing references) //IL_02f6: Expected O, but got Unknown //IL_0319: Unknown result type (might be due to invalid IL or missing references) //IL_0323: Expected O, but got Unknown //IL_033f: Unknown result type (might be due to invalid IL or missing references) //IL_0349: Expected O, but got Unknown //IL_0344: Unknown result type (might be due to invalid IL or missing references) //IL_034e: Expected O, but got Unknown //IL_0371: Unknown result type (might be due to invalid IL or missing references) //IL_037b: Expected O, but got Unknown //IL_039f: Unknown result type (might be due to invalid IL or missing references) //IL_03a9: Expected O, but got