Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of Immersive Names v1.0.1
RenameEnemy.dll
Decompiled 9 months agousing System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("RenameEnemy")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("RenameEnemy")] [assembly: AssemblyCopyright("Copyright © 2025")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("b76ec941-fdb2-4cca-a6a4-b9c22de27df9")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] [assembly: AssemblyVersion("1.0.0.0")] [BepInPlugin("com.sidgdev.monsternames", "ImmersiveScanNames", "1.0.0")] public class ImmersiveScanNames : BaseUnityPlugin { [CompilerGenerated] private sealed class <WaitAndReplaceScanTexts>d__2 : IEnumerator<object>, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public ImmersiveScanNames <>4__this; private MonoBehaviour[] <>s__1; private int <>s__2; private MonoBehaviour <scanNode>5__3; private FieldInfo <headerField>5__4; private FieldInfo <subField>5__5; private FieldInfo <idField>5__6; private string <currentHeader>5__7; private string <currentSub>5__8; private int <id>5__9; private (string header, string sub) <replacement>5__10; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <WaitAndReplaceScanTexts>d__2(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>s__1 = null; <scanNode>5__3 = null; <headerField>5__4 = null; <subField>5__5 = null; <idField>5__6 = null; <currentHeader>5__7 = null; <currentSub>5__8 = null; <replacement>5__10 = default((string, string)); <>1__state = -2; } private bool MoveNext() { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; <>2__current = (object)new WaitForSeconds(1f); <>1__state = 1; return true; case 1: <>1__state = -1; <>s__1 = Resources.FindObjectsOfTypeAll<MonoBehaviour>(); for (<>s__2 = 0; <>s__2 < <>s__1.Length; <>s__2++) { <scanNode>5__3 = <>s__1[<>s__2]; <headerField>5__4 = ((object)<scanNode>5__3).GetType().GetField("headerText"); <subField>5__5 = ((object)<scanNode>5__3).GetType().GetField("subText"); <idField>5__6 = ((object)<scanNode>5__3).GetType().GetField("creatureScanID"); if (<headerField>5__4 != null && <subField>5__5 != null && <idField>5__6 != null) { <currentHeader>5__7 = (string)<headerField>5__4.GetValue(<scanNode>5__3); <currentSub>5__8 = (string)<subField>5__5.GetValue(<scanNode>5__3); <id>5__9 = (int)<idField>5__6.GetValue(<scanNode>5__3); if (<id>5__9 == -1 && <currentHeader>5__7 == "Thing") { <headerField>5__4.SetValue(<scanNode>5__3, "Tallow"); <subField>5__5.SetValue(<scanNode>5__3, ""); ((BaseUnityPlugin)<>4__this).Logger.LogInfo((object)"SetName1-T"); } else if (<id>5__9 == -1 && <currentHeader>5__7 == "County Road Creature") { <headerField>5__4.SetValue(<scanNode>5__3, "Longlegs"); <subField>5__5.SetValue(<scanNode>5__3, ""); ((BaseUnityPlugin)<>4__this).Logger.LogInfo((object)"SetName2-CRC"); } else if (<id>5__9 == 0 && <currentHeader>5__7 == "SCP-682") { <headerField>5__4.SetValue(<scanNode>5__3, "Reptile"); <subField>5__5.SetValue(<scanNode>5__3, "Hard to kill"); ((BaseUnityPlugin)<>4__this).Logger.LogInfo((object)"SetName3-682"); } else if (<id>5__9 == 7014 && <currentHeader>5__7 == "SCP-4999") { <headerField>5__4.SetValue(<scanNode>5__3, "Slaybell"); <subField>5__5.SetValue(<scanNode>5__3, ""); ((BaseUnityPlugin)<>4__this).Logger.LogInfo((object)"SetName4-4999"); } else if (<id>5__9 == 7014 && <currentHeader>5__7 == "Raptor") { <headerField>5__4.SetValue(<scanNode>5__3, "Veloxadon"); <subField>5__5.SetValue(<scanNode>5__3, ""); ((BaseUnityPlugin)<>4__this).Logger.LogInfo((object)"SetName5-jpog1"); } else if (<id>5__9 == 7014 && <currentHeader>5__7 == "T-rex") { <headerField>5__4.SetValue(<scanNode>5__3, "Gargonath"); <subField>5__5.SetValue(<scanNode>5__3, ""); ((BaseUnityPlugin)<>4__this).Logger.LogInfo((object)"SetName6-jpog2"); } else if (<id>5__9 == 0 && <currentHeader>5__7 == "Stegosaurus") { <headerField>5__4.SetValue(<scanNode>5__3, "Plaxosaur"); <subField>5__5.SetValue(<scanNode>5__3, ""); ((BaseUnityPlugin)<>4__this).Logger.LogInfo((object)"SetName7-jpog3"); } else if (<id>5__9 == 0 && <currentHeader>5__7 == "Little Girl") { <headerField>5__4.SetValue(<scanNode>5__3, "Sweet-Tooth"); <subField>5__5.SetValue(<scanNode>5__3, ""); ((BaseUnityPlugin)<>4__this).Logger.LogInfo((object)"SetName8-ToTLG"); } else if (<id>5__9 == 7014 && <currentHeader>5__7 == "Men-stalker") { <headerField>5__4.SetValue(<scanNode>5__3, "Bentneck"); <subField>5__5.SetValue(<scanNode>5__3, ""); ((BaseUnityPlugin)<>4__this).Logger.LogInfo((object)"SetName9-MS"); } else if (<id>5__9 == 2 && <currentHeader>5__7 == "Burer") { <headerField>5__4.SetValue(<scanNode>5__3, "Father"); <subField>5__5.SetValue(<scanNode>5__3, ""); ((BaseUnityPlugin)<>4__this).Logger.LogInfo((object)"SetName10-TPO"); } else if (<id>5__9 == 7014 && <currentHeader>5__7 == "Cave Dweller") { <headerField>5__4.SetValue(<scanNode>5__3, "Faceless"); <subField>5__5.SetValue(<scanNode>5__3, ""); ((BaseUnityPlugin)<>4__this).Logger.LogInfo((object)"SetName11-CDWR"); } else if (<id>5__9 == -1 && <currentHeader>5__7 == "Scrap-E") { <headerField>5__4.SetValue(<scanNode>5__3, "S.C.R.U.B."); <subField>5__5.SetValue(<scanNode>5__3, "Sanitation-Coded Retrieval Utility Bot"); ((BaseUnityPlugin)<>4__this).Logger.LogInfo((object)"SetName12-CRSCRAP"); } else if (<id>5__9 == -1 && <currentHeader>5__7 == "Jimothy") { <headerField>5__4.SetValue(<scanNode>5__3, "L.E.S.L.I.E."); <subField>5__5.SetValue(<scanNode>5__3, "Logistic-Enabled Smart Lifting Inventory Engine"); ((BaseUnityPlugin)<>4__this).Logger.LogInfo((object)"SetName13-CRJim"); } else { if (<>4__this.scanNameOverrides.TryGetValue(<id>5__9, out <replacement>5__10)) { <headerField>5__4.SetValue(<scanNode>5__3, <replacement>5__10.header); <subField>5__5.SetValue(<scanNode>5__3, <replacement>5__10.sub); ((BaseUnityPlugin)<>4__this).Logger.LogInfo((object)$"Renamed creature {<id>5__9} → {<replacement>5__10.header} ({<replacement>5__10.sub})"); } <replacement>5__10 = default((string, string)); } <currentHeader>5__7 = null; <currentSub>5__8 = null; } <headerField>5__4 = null; <subField>5__5 = null; <idField>5__6 = null; <scanNode>5__3 = null; } <>s__1 = null; return false; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } private readonly Dictionary<int, (string header, string sub)> scanNameOverrides = new Dictionary<int, (string, string)> { { 939, ("Loudmouth", "") }, { 15, ("Drifter", "") }, { 54678, ("Fleshrender", "") }, { 9696, ("Shy Guy", "") }, { 106, ("Oldman", "") }, { 966, ("Boogieman", "") }, { 3199, ("Human", "Allegedly") }, { 3163, ("Birdman", "") }, { 3162, ("Patient", "") } }; public void Awake() { ((MonoBehaviour)this).StartCoroutine(WaitAndReplaceScanTexts()); } [IteratorStateMachine(typeof(<WaitAndReplaceScanTexts>d__2))] private IEnumerator WaitAndReplaceScanTexts() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <WaitAndReplaceScanTexts>d__2(0) { <>4__this = this }; } }