Decompiled source of Skyheim Prefab Blocker v1.0.0

HelheimSkyheimPatch.dll

Decompiled 16 hours ago
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);
				}
			}
		}
	}
}