Decompiled source of Shawesomes Dark Gift v1.0.4

Shawesomes_Dark_Gift.dll

Decompiled a day ago
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Logging;
using HarmonyLib;
using Jotunn.Configs;
using Jotunn.Entities;
using Jotunn.Managers;
using Jotunn.Utils;
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("Shawesomes_Infinte_Multiverse")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Shawesomes_Infinte_Multiverse")]
[assembly: AssemblyCopyright("Copyright ©  2023")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("e0e26f8d-a8f0-41a7-a502-951624fa6f31")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace shawcape;

[BepInPlugin("Shawesome.Shawesomes_Dark_Gift", "Shawesomes_Dark_Gift", "1.0.4")]
[BepInDependency(/*Could not decode attribute arguments.*/)]
public class Shawesomes_Dark_Gift : BaseUnityPlugin
{
	public Harmony harmony;

	public static GameObject Root;

	public string version = "1.0.0";

	public static ManualLogSource logger;

	public static ManualLogSource harmonyLog;

	private static AssetBundle Shawcassets;

	public void Awake()
	{
		//IL_0012: Unknown result type (might be due to invalid IL or missing references)
		//IL_001c: Expected O, but got Unknown
		//IL_0021: Unknown result type (might be due to invalid IL or missing references)
		//IL_002b: Expected O, but got Unknown
		logger = ((BaseUnityPlugin)this).Logger;
		harmony = new Harmony("IDshawesome4u5");
		Root = new GameObject("Shaw Root");
		harmonyLog = ((BaseUnityPlugin)this).Logger;
		Shawcassets = AssetUtils.LoadAssetBundleFromResources("shaw_v", Assembly.GetExecutingAssembly());
		PrefabManager.OnVanillaPrefabsAvailable += additems;
	}

	public static void additems()
	{
		AddDarkGift();
		AddDarkGiftII();
		AddDarkGiftIII();
		AddDarkGiftIV();
		Adddwhip();
		Addchainmace();
		Adddraculaboss();
		Addberserklegs();
		Addberserkchest();
		Addberserkhelm();
		Addslayerbow();
		Addslayersword();
		Addslayersword2();
		Addboc();
		Addboc1();
		PrefabManager.OnVanillaPrefabsAvailable -= additems;
	}

	public static void Addashes()
	{
		//IL_0001: Unknown result type (might be due to invalid IL or missing references)
		//IL_0007: Expected O, but got Unknown
		//IL_0011: Unknown result type (might be due to invalid IL or missing references)
		//IL_001b: Expected O, but got Unknown
		//IL_0025: Unknown result type (might be due to invalid IL or missing references)
		//IL_002f: Expected O, but got Unknown
		//IL_0039: Unknown result type (might be due to invalid IL or missing references)
		//IL_0043: Expected O, but got Unknown
		//IL_004e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0058: Expected O, but got Unknown
		//IL_0080: Unknown result type (might be due to invalid IL or missing references)
		//IL_0086: Expected O, but got Unknown
		ItemConfig val = new ItemConfig();
		val.AddRequirement(new RequirementConfig("FlametalNew", 10, 0, false));
		val.AddRequirement(new RequirementConfig("TrophyFader", 1, 0, false));
		val.AddRequirement(new RequirementConfig("GemstoneRed", 1, 0, false));
		val.AddRequirement(new RequirementConfig("BlackMetal", 10, 0, false));
		val.CraftingStation = CraftingStations.BlackForge;
		val.MinStationLevel = 1;
		GameObject val2 = Shawcassets.LoadAsset<GameObject>("Assets/ShawesomeVampHunter/shwsmashes2ashes.prefab");
		CustomItem val3 = new CustomItem(val2, true, val);
		ItemManager.Instance.AddItem(val3);
	}

	public static void Addboc1()
	{
		//IL_0001: Unknown result type (might be due to invalid IL or missing references)
		//IL_0007: Expected O, but got Unknown
		//IL_0012: Unknown result type (might be due to invalid IL or missing references)
		//IL_001c: Expected O, but got Unknown
		//IL_0026: Unknown result type (might be due to invalid IL or missing references)
		//IL_0030: Expected O, but got Unknown
		//IL_003a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0044: Expected O, but got Unknown
		//IL_0050: Unknown result type (might be due to invalid IL or missing references)
		//IL_005a: Expected O, but got Unknown
		//IL_0082: Unknown result type (might be due to invalid IL or missing references)
		//IL_0088: Expected O, but got Unknown
		ItemConfig val = new ItemConfig();
		val.AddRequirement(new RequirementConfig("FlametalNew", 10, 10, false));
		val.AddRequirement(new RequirementConfig("TrophyFader", 1, 0, false));
		val.AddRequirement(new RequirementConfig("GemstoneRed", 1, 1, false));
		val.AddRequirement(new RequirementConfig("BlackMetal", 10, 10, false));
		val.CraftingStation = CraftingStations.BlackForge;
		val.MinStationLevel = 1;
		GameObject val2 = Shawcassets.LoadAsset<GameObject>("Assets/ShawesomeVampHunter/shwsm_BOC_chains.prefab");
		CustomItem val3 = new CustomItem(val2, true, val);
		ItemManager.Instance.AddItem(val3);
	}

	public static void Addboc()
	{
		//IL_0001: Unknown result type (might be due to invalid IL or missing references)
		//IL_0007: Expected O, but got Unknown
		//IL_0012: Unknown result type (might be due to invalid IL or missing references)
		//IL_001c: Expected O, but got Unknown
		//IL_0026: Unknown result type (might be due to invalid IL or missing references)
		//IL_0030: Expected O, but got Unknown
		//IL_003a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0044: Expected O, but got Unknown
		//IL_0050: Unknown result type (might be due to invalid IL or missing references)
		//IL_005a: Expected O, but got Unknown
		//IL_0082: Unknown result type (might be due to invalid IL or missing references)
		//IL_0088: Expected O, but got Unknown
		ItemConfig val = new ItemConfig();
		val.AddRequirement(new RequirementConfig("FlametalNew", 10, 10, false));
		val.AddRequirement(new RequirementConfig("TrophyFader", 1, 0, false));
		val.AddRequirement(new RequirementConfig("GemstoneRed", 1, 1, false));
		val.AddRequirement(new RequirementConfig("BlackMetal", 10, 10, false));
		val.CraftingStation = CraftingStations.BlackForge;
		val.MinStationLevel = 1;
		GameObject val2 = Shawcassets.LoadAsset<GameObject>("Assets/ShawesomeVampHunter/shwsmboc.prefab");
		CustomItem val3 = new CustomItem(val2, true, val);
		ItemManager.Instance.AddItem(val3);
	}

	public static void Addslayersword2()
	{
		//IL_0001: Unknown result type (might be due to invalid IL or missing references)
		//IL_0007: Expected O, but got Unknown
		//IL_0012: Unknown result type (might be due to invalid IL or missing references)
		//IL_001c: Expected O, but got Unknown
		//IL_0026: Unknown result type (might be due to invalid IL or missing references)
		//IL_0030: Expected O, but got Unknown
		//IL_003c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0046: Expected O, but got Unknown
		//IL_006e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0074: Expected O, but got Unknown
		ItemConfig val = new ItemConfig();
		val.AddRequirement(new RequirementConfig("FlametalNew", 10, 10, false));
		val.AddRequirement(new RequirementConfig("GemstoneRed", 1, 1, false));
		val.AddRequirement(new RequirementConfig("BlackMetal", 10, 10, false));
		val.CraftingStation = CraftingStations.BlackForge;
		val.MinStationLevel = 1;
		GameObject val2 = Shawcassets.LoadAsset<GameObject>("Assets/ShawesomeVampHunter/shwsmdsds1.prefab");
		CustomItem val3 = new CustomItem(val2, true, val);
		ItemManager.Instance.AddItem(val3);
	}

	public static void Addslayersword()
	{
		//IL_0001: Unknown result type (might be due to invalid IL or missing references)
		//IL_0007: Expected O, but got Unknown
		//IL_0012: Unknown result type (might be due to invalid IL or missing references)
		//IL_001c: Expected O, but got Unknown
		//IL_0026: Unknown result type (might be due to invalid IL or missing references)
		//IL_0030: Expected O, but got Unknown
		//IL_003a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0044: Expected O, but got Unknown
		//IL_004e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0058: Expected O, but got Unknown
		//IL_0080: Unknown result type (might be due to invalid IL or missing references)
		//IL_0086: Expected O, but got Unknown
		ItemConfig val = new ItemConfig();
		val.AddRequirement(new RequirementConfig("FlametalNew", 30, 15, false));
		val.AddRequirement(new RequirementConfig("TrophyFader", 1, 1, false));
		val.AddRequirement(new RequirementConfig("GemstoneRed", 4, 4, false));
		val.AddRequirement(new RequirementConfig("shwsmdsds1", 1, 0, false));
		val.CraftingStation = CraftingStations.BlackForge;
		val.MinStationLevel = 1;
		GameObject val2 = Shawcassets.LoadAsset<GameObject>("Assets/ShawesomeVampHunter/shwsmdsds.prefab");
		CustomItem val3 = new CustomItem(val2, true, val);
		ItemManager.Instance.AddItem(val3);
	}

	public static void Addslayerbow()
	{
		//IL_0001: Unknown result type (might be due to invalid IL or missing references)
		//IL_0007: Expected O, but got Unknown
		//IL_0011: Unknown result type (might be due to invalid IL or missing references)
		//IL_001b: Expected O, but got Unknown
		//IL_0025: Unknown result type (might be due to invalid IL or missing references)
		//IL_002f: Expected O, but got Unknown
		//IL_003b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0045: Expected O, but got Unknown
		//IL_006d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0073: Expected O, but got Unknown
		ItemConfig val = new ItemConfig();
		val.AddRequirement(new RequirementConfig("FlametalNew", 5, 10, false));
		val.AddRequirement(new RequirementConfig("GemstoneRed", 1, 1, false));
		val.AddRequirement(new RequirementConfig("BlackMetal", 10, 10, false));
		val.CraftingStation = CraftingStations.BlackForge;
		val.MinStationLevel = 1;
		GameObject val2 = Shawcassets.LoadAsset<GameObject>("Assets/ShawesomeVampHunter/shwsmdsbow.prefab");
		CustomItem val3 = new CustomItem(val2, true, val);
		ItemManager.Instance.AddItem(val3);
	}

	public static void Addberserklegs()
	{
		//IL_0001: Unknown result type (might be due to invalid IL or missing references)
		//IL_0007: Expected O, but got Unknown
		//IL_0012: Unknown result type (might be due to invalid IL or missing references)
		//IL_001c: Expected O, but got Unknown
		//IL_0026: Unknown result type (might be due to invalid IL or missing references)
		//IL_0030: Expected O, but got Unknown
		//IL_003c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0046: Expected O, but got Unknown
		//IL_006e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0074: Expected O, but got Unknown
		ItemConfig val = new ItemConfig();
		val.AddRequirement(new RequirementConfig("FlametalNew", 30, 15, false));
		val.AddRequirement(new RequirementConfig("GemstoneRed", 4, 1, false));
		val.AddRequirement(new RequirementConfig("BlackMetal", 20, 10, false));
		val.CraftingStation = CraftingStations.BlackForge;
		val.MinStationLevel = 1;
		GameObject val2 = Shawcassets.LoadAsset<GameObject>("Assets/ShawesomeVampHunter/shwsmdslegs.prefab");
		CustomItem val3 = new CustomItem(val2, true, val);
		ItemManager.Instance.AddItem(val3);
	}

	public static void Addberserkchest()
	{
		//IL_0001: Unknown result type (might be due to invalid IL or missing references)
		//IL_0007: Expected O, but got Unknown
		//IL_0012: Unknown result type (might be due to invalid IL or missing references)
		//IL_001c: Expected O, but got Unknown
		//IL_0026: Unknown result type (might be due to invalid IL or missing references)
		//IL_0030: Expected O, but got Unknown
		//IL_003c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0046: Expected O, but got Unknown
		//IL_006e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0074: Expected O, but got Unknown
		ItemConfig val = new ItemConfig();
		val.AddRequirement(new RequirementConfig("FlametalNew", 30, 15, false));
		val.AddRequirement(new RequirementConfig("GemstoneRed", 4, 1, false));
		val.AddRequirement(new RequirementConfig("BlackMetal", 20, 10, false));
		val.CraftingStation = CraftingStations.BlackForge;
		val.MinStationLevel = 1;
		GameObject val2 = Shawcassets.LoadAsset<GameObject>("Assets/ShawesomeVampHunter/shwsmdschest.prefab");
		CustomItem val3 = new CustomItem(val2, true, val);
		ItemManager.Instance.AddItem(val3);
	}

	public static void Addberserkhelm()
	{
		//IL_0001: Unknown result type (might be due to invalid IL or missing references)
		//IL_0007: Expected O, but got Unknown
		//IL_0012: Unknown result type (might be due to invalid IL or missing references)
		//IL_001c: Expected O, but got Unknown
		//IL_0026: Unknown result type (might be due to invalid IL or missing references)
		//IL_0030: Expected O, but got Unknown
		//IL_003c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0046: Expected O, but got Unknown
		//IL_006e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0074: Expected O, but got Unknown
		ItemConfig val = new ItemConfig();
		val.AddRequirement(new RequirementConfig("FlametalNew", 30, 15, false));
		val.AddRequirement(new RequirementConfig("GemstoneRed", 4, 1, false));
		val.AddRequirement(new RequirementConfig("BlackMetal", 20, 10, false));
		val.CraftingStation = CraftingStations.BlackForge;
		val.MinStationLevel = 1;
		GameObject val2 = Shawcassets.LoadAsset<GameObject>("Assets/ShawesomeVampHunter/shwsmdshelm.prefab");
		CustomItem val3 = new CustomItem(val2, true, val);
		ItemManager.Instance.AddItem(val3);
	}

	public static void Addchainmace()
	{
		//IL_0001: Unknown result type (might be due to invalid IL or missing references)
		//IL_0007: Expected O, but got Unknown
		//IL_0012: Unknown result type (might be due to invalid IL or missing references)
		//IL_001c: Expected O, but got Unknown
		//IL_0026: Unknown result type (might be due to invalid IL or missing references)
		//IL_0030: Expected O, but got Unknown
		//IL_003c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0046: Expected O, but got Unknown
		//IL_006e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0074: Expected O, but got Unknown
		ItemConfig val = new ItemConfig();
		val.AddRequirement(new RequirementConfig("FlametalNew", 30, 15, false));
		val.AddRequirement(new RequirementConfig("GemstoneRed", 4, 4, false));
		val.AddRequirement(new RequirementConfig("BlackMetal", 20, 10, false));
		val.CraftingStation = CraftingStations.BlackForge;
		val.MinStationLevel = 1;
		GameObject val2 = Shawcassets.LoadAsset<GameObject>("Assets/ShawesomeVampHunter/shwsm_vslayer_mace.prefab");
		CustomItem val3 = new CustomItem(val2, true, val);
		ItemManager.Instance.AddItem(val3);
	}

	public static void Adddraculaboss()
	{
		//IL_0001: Unknown result type (might be due to invalid IL or missing references)
		//IL_0007: Expected O, but got Unknown
		//IL_001a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0020: Expected O, but got Unknown
		CreatureConfig val = new CreatureConfig();
		GameObject val2 = Shawcassets.LoadAsset<GameObject>("Assets/ShawesomeVampire/shwsm_Dragulia.prefab");
		CustomCreature val3 = new CustomCreature(val2, true, val);
		CreatureManager.Instance.AddCreature(val3);
	}

	public static void Adddwhip()
	{
		//IL_0001: Unknown result type (might be due to invalid IL or missing references)
		//IL_0007: Expected O, but got Unknown
		//IL_0012: Unknown result type (might be due to invalid IL or missing references)
		//IL_001c: Expected O, but got Unknown
		//IL_0026: Unknown result type (might be due to invalid IL or missing references)
		//IL_0030: Expected O, but got Unknown
		//IL_003c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0046: Expected O, but got Unknown
		//IL_006e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0074: Expected O, but got Unknown
		ItemConfig val = new ItemConfig();
		val.AddRequirement(new RequirementConfig("FlametalNew", 30, 15, false));
		val.AddRequirement(new RequirementConfig("GemstoneRed", 4, 4, false));
		val.AddRequirement(new RequirementConfig("BlackMetal", 20, 10, false));
		val.CraftingStation = CraftingStations.BlackForge;
		val.MinStationLevel = 1;
		GameObject val2 = Shawcassets.LoadAsset<GameObject>("Assets/ShawesomeVampHunter/shwsm_vslayer_whip.prefab");
		CustomItem val3 = new CustomItem(val2, true, val);
		ItemManager.Instance.AddItem(val3);
	}

	public static void AddDarkGiftIV()
	{
		//IL_0001: Unknown result type (might be due to invalid IL or missing references)
		//IL_0007: Expected O, but got Unknown
		//IL_001a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0020: Expected O, but got Unknown
		//IL_002c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0032: Expected O, but got Unknown
		ItemConfig val = new ItemConfig();
		GameObject val2 = Shawcassets.LoadAsset<GameObject>("Assets/ShawesomeVampire/shwsmDarkGiftIV.prefab");
		CustomItem val3 = new CustomItem(val2, true, val);
		ItemManager.Instance.AddItem(val3);
		Drop val4 = new Drop();
		val4.m_chance = 0.8f;
		val4.m_dontScale = true;
		val4.m_levelMultiplier = false;
		val4.m_prefab = PrefabManager.Instance.GetPrefab(((Object)val3.ItemPrefab).name);
		val4.m_amountMax = 4;
		val4.m_amountMin = 1;
		GameObject prefab = PrefabManager.Instance.GetPrefab("Fader");
		prefab.GetComponent<CharacterDrop>().m_drops.Add(val4);
	}

	public static void AddDarkGiftIII()
	{
		//IL_0001: Unknown result type (might be due to invalid IL or missing references)
		//IL_0007: Expected O, but got Unknown
		//IL_001a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0020: Expected O, but got Unknown
		//IL_002c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0032: Expected O, but got Unknown
		ItemConfig val = new ItemConfig();
		GameObject val2 = Shawcassets.LoadAsset<GameObject>("Assets/ShawesomeVampire/shwsmDarkGiftIII.prefab");
		CustomItem val3 = new CustomItem(val2, true, val);
		ItemManager.Instance.AddItem(val3);
		Drop val4 = new Drop();
		val4.m_chance = 0.8f;
		val4.m_dontScale = true;
		val4.m_levelMultiplier = false;
		val4.m_prefab = PrefabManager.Instance.GetPrefab(((Object)val3.ItemPrefab).name);
		val4.m_amountMax = 4;
		val4.m_amountMin = 1;
		GameObject prefab = PrefabManager.Instance.GetPrefab("SeekerQueen");
		prefab.GetComponent<CharacterDrop>().m_drops.Add(val4);
	}

	public static void AddDarkGiftII()
	{
		//IL_0001: Unknown result type (might be due to invalid IL or missing references)
		//IL_0007: Expected O, but got Unknown
		//IL_001a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0020: Expected O, but got Unknown
		//IL_002c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0032: Expected O, but got Unknown
		ItemConfig val = new ItemConfig();
		GameObject val2 = Shawcassets.LoadAsset<GameObject>("Assets/ShawesomeVampire/shwsmDarkGiftII.prefab");
		CustomItem val3 = new CustomItem(val2, true, val);
		ItemManager.Instance.AddItem(val3);
		Drop val4 = new Drop();
		val4.m_chance = 0.8f;
		val4.m_dontScale = true;
		val4.m_levelMultiplier = false;
		val4.m_prefab = PrefabManager.Instance.GetPrefab(((Object)val3.ItemPrefab).name);
		val4.m_amountMax = 4;
		val4.m_amountMin = 1;
		GameObject prefab = PrefabManager.Instance.GetPrefab("GoblinKing");
		prefab.GetComponent<CharacterDrop>().m_drops.Add(val4);
	}

	public static void AddDarkGift()
	{
		//IL_0001: Unknown result type (might be due to invalid IL or missing references)
		//IL_0007: Expected O, but got Unknown
		//IL_001a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0020: Expected O, but got Unknown
		//IL_002c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0032: Expected O, but got Unknown
		ItemConfig val = new ItemConfig();
		GameObject val2 = Shawcassets.LoadAsset<GameObject>("Assets/ShawesomeVampire/shwsmDarkGift.prefab");
		CustomItem val3 = new CustomItem(val2, true, val);
		ItemManager.Instance.AddItem(val3);
		Drop val4 = new Drop();
		val4.m_chance = 0.8f;
		val4.m_dontScale = true;
		val4.m_levelMultiplier = false;
		val4.m_prefab = PrefabManager.Instance.GetPrefab(((Object)val3.ItemPrefab).name);
		val4.m_amountMax = 4;
		val4.m_amountMin = 1;
		GameObject prefab = PrefabManager.Instance.GetPrefab("Dragon");
		prefab.GetComponent<CharacterDrop>().m_drops.Add(val4);
	}

	public static T CopyIntoParent<T>(T go, T parent) where T : Component
	{
		//IL_0055: Unknown result type (might be due to invalid IL or missing references)
		T val = Object.Instantiate<T>(go);
		((Object)(object)val).name = ((Object)(object)go).name;
		((Component)val).transform.parent = ((Component)parent).transform;
		((Component)val).transform.localPosition = new Vector3(0f, 0f, 0f);
		return val;
	}
}