using System.Diagnostics; 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("HelheimSkyheimPatch")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("HelheimSkyheimPatch")] [assembly: AssemblyCopyright("Copyright © 2026")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("b290a318-103b-49b0-9150-d2ddc8d9f47f")] [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("helheim.skyheim.prefabblock", "Helheim Skyheim Prefab Blocker", "1.0.0")] public class SkyheimPrefabBlockerPlugin : BaseUnityPlugin { private void Awake() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown Harmony val = new Harmony("helheim.skyheim.prefabblock"); val.PatchAll(); } } [HarmonyPatch(typeof(ObjectDB), "CopyOtherDB")] public static class SkyheimPrefabBlocker { private static void Prefix(ObjectDB __instance, ObjectDB other) { for (int num = other.m_items.Count - 1; num >= 0; num--) { GameObject val = other.m_items[num]; if (!((Object)(object)val == (Object)null)) { int stableHashCode = StringExtensionMethods.GetStableHashCode(((Object)val).name); if (stableHashCode == -1871759496 || stableHashCode == 1120238811 || stableHashCode == -840041966 || stableHashCode == -801320285 || stableHashCode == 644246563 || stableHashCode == 802942895 || stableHashCode == -705476956 || stableHashCode == 26376877 || stableHashCode == -2043912737 || stableHashCode == -681893610 || stableHashCode == 985225095 || stableHashCode == -684154666 || stableHashCode == 939575801 || stableHashCode == -692303679 || stableHashCode == -324368979 || stableHashCode == 1055137595 || stableHashCode == 42465502 || stableHashCode == 1345575449 || stableHashCode == 179742653 || stableHashCode == -936002744 || stableHashCode == -1898004034 || stableHashCode == -293045700 || stableHashCode == -1368315999) { Debug.LogWarning((object)$"[Helheim] Skyheim prefab removed: {((Object)val).name} (hash {stableHashCode})"); other.m_items.RemoveAt(num); } } } } }