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 SpringtrapMaskFixed v1.0.2
SpringtrapMaskFixed.dll
Decompiled 2 years agousing System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using HarmonyLib; 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("SpringtrapMaskFixed")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("SpringtrapMaskFixed")] [assembly: AssemblyCopyright("Copyright © 2023")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("1f410a44-ee0e-48ca-a39d-cc5b2f33235e")] [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")] namespace SpringtrapMaskFixed { [BepInPlugin("SpringtrapMaskFixed", "SpringtrapMaskFixed", "1.0.0")] public class Plugin : BaseUnityPlugin { public static GameObject Mesh; public static GameObject MaskMesh; public static GameObject HeadMaskPrefab; private void Awake() { ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin SpringtrapMaskFixed is loaded!"); Harmony.CreateAndPatchAll(Assembly.GetExecutingAssembly(), (string)null); string text = Path.Combine(Path.GetDirectoryName(((BaseUnityPlugin)this).Info.Location), "springtrap.bundle"); AssetBundle val = AssetBundle.LoadFromFile(text); Mesh = val.LoadAsset<GameObject>("assets/mesh.prefab"); MaskMesh = val.LoadAsset<GameObject>("assets/maskmesh.prefab"); HeadMaskPrefab = val.LoadAsset<GameObject>("assets/headmaskspringtrap.prefab"); } } } namespace SpringtrapMaskFixed.Patches { [HarmonyPatch(typeof(HauntedMaskItem), "Update")] internal class HauntedMaskItemPatch { private static void Postfix(HauntedMaskItem __instance) { //IL_0147: Unknown result type (might be due to invalid IL or missing references) //IL_0153: Unknown result type (might be due to invalid IL or missing references) //IL_0162: Unknown result type (might be due to invalid IL or missing references) //IL_0171: Unknown result type (might be due to invalid IL or missing references) //IL_017d: Unknown result type (might be due to invalid IL or missing references) //IL_018c: Unknown result type (might be due to invalid IL or missing references) //IL_00eb: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_010f: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)__instance == (Object)null || (Object)(object)__instance.maskEyesFilled == (Object)null || !(((Object)((Component)__instance.maskEyesFilled).gameObject).name != "DebugMaskChange")) { return; } ((Object)((Component)__instance.maskEyesFilled).gameObject).name = "DebugMaskChange"; __instance.headMaskPrefab = Plugin.HeadMaskPrefab; Renderer[] componentsInChildren = ((Component)__instance).gameObject.GetComponentsInChildren<Renderer>(); Renderer[] array = componentsInChildren; foreach (Renderer val in array) { if (((Object)((Component)val).gameObject).name == "MaskMesh") { ((Object)((Component)val).gameObject).name = "MaskMeshOld"; GameObject val2 = Object.Instantiate<GameObject>(Plugin.MaskMesh, ((Component)val).transform.parent); val2.transform.localEulerAngles = Vector3.zero; val2.transform.localPosition = Vector3.zero; val2.transform.localScale = Vector3.one; ((Component)val).gameObject.SetActive(false); } } BoxCollider component = ((Component)__instance).GetComponent<BoxCollider>(); component.size = new Vector3(component.size.x, component.size.y, 3f); component.center = new Vector3(component.center.x, component.center.y, -1.17f); } } [HarmonyPatch(typeof(MaskedPlayerEnemy), "Start")] internal class MaskedPlayerEnemyPatch { private static void Postfix(MaskedPlayerEnemy __instance) { //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) RandomPeriodicAudioPlayer[] componentsInChildren = ((Component)__instance).gameObject.GetComponentsInChildren<RandomPeriodicAudioPlayer>(); RandomPeriodicAudioPlayer[] array = componentsInChildren; foreach (RandomPeriodicAudioPlayer val in array) { Renderer[] componentsInChildren2 = ((Component)val).GetComponentsInChildren<Renderer>(); Renderer[] array2 = componentsInChildren2; foreach (Renderer val2 in array2) { if (((Object)((Component)val2).gameObject).name == "Mesh") { ((Object)((Component)val2).gameObject).name = "MeshOld"; GameObject val3 = Object.Instantiate<GameObject>(Plugin.Mesh, ((Component)val2).transform.parent); val3.transform.localEulerAngles = Vector3.zero; val3.transform.localPosition = Vector3.zero; val3.transform.localScale = Vector3.one; } ((Component)val2).gameObject.SetActive(false); } } } } }