Decompiled source of Fee Fi Fo Fum v0.1.9

Giants.dll

Decompiled 4 months ago
using System;
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 BepInEx.Configuration;
using BepInEx.Logging;
using Jotunn;
using Jotunn.Configs;
using Jotunn.Entities;
using Jotunn.Managers;
using Jotunn.Utils;
using SpawnThat.Spawners;
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("Wildlife")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Wildlife")]
[assembly: AssemblyCopyright("Copyright ©  2022")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("f247181f-9da0-443a-8cd2-7b38a43a08c5")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace Giants;

[BepInPlugin("horemvore.FeeFiFoFum", "Fee Fi Fo Fum", "0.1.9")]
[BepInIncompatibility("Azumatt.AzuDevMod")]
[NetworkCompatibility(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
internal class giantsBundle : BaseUnityPlugin
{
	public const string PluginGUID = "horemvore.FeeFiFoFum";

	public const string PluginName = "Fee Fi Fo Fum";

	public const string PluginVersion = "0.1.9";

	public static bool isModded = true;

	public static GameObject Giant1;

	public static GameObject Giant2;

	public static GameObject Giant3;

	public static GameObject Giant4;

	public static GameObject Giant5;

	public static GameObject Giant6;

	public static GameObject HGAttack1;

	public static GameObject HGAttack2;

	public static GameObject HGAttack3;

	public static GameObject MGAttack1;

	public static GameObject MGAttack2;

	public static GameObject MGAttack3;

	public static GameObject GAttack1;

	public static GameObject GAttack2;

	public static GameObject GAttack3;

	public static GameObject FGAttack1;

	public static GameObject FGAttack2;

	public static GameObject FGAttack3;

	public static GameObject JAttack1;

	public static GameObject JAttack2;

	public static GameObject JAttack3;

	public static GameObject JAttack4;

	public static GameObject JAttack5;

	public static GameObject FrGAttack1;

	public static GameObject FrGAttack2;

	public static GameObject FrGAttack3;

	public static GameObject SFX1;

	public static GameObject SFX2;

	public static GameObject SFX3;

	public static GameObject SFX4;

	public static GameObject SFX5;

	public static GameObject SFX6;

	public static GameObject VFX1;

	public static GameObject VFX2;

	public static GameObject VFX3;

	public static GameObject VFX4;

	public static GameObject VFX5;

	public static GameObject Item1;

	public static GameObject Projectile1;

	public static GameObject Projectile2;

	public static GameObject FX1;

	public static GameObject FX2;

	public static GameObject GiantTrophy1;

	public static GameObject GiantTrophy2;

	public static GameObject GiantTrophy3;

	public static GameObject GiantTrophy4;

	public static GameObject GiantTrophy5;

	public static GameObject GiantTrophy6;

	public ConfigEntry<bool> SpawnsEnable;

	public AssetBundle GiantBundle;

	private CustomLocalization Localization;

	internal static ManualLogSource Log;

	private void Awake()
	{
		Log = ((BaseUnityPlugin)this).Logger;
		CreateConfigurationValues();
		AddLocalizations();
		LoadBundle();
		LoadAssets();
		AddGiants();
		PrefabManager.OnVanillaPrefabsAvailable += FixSFX;
		try
		{
			if (SpawnsEnable.Value)
			{
				SpawnerConfigurationManager.OnConfigure += ConfigureBiomeSpawners;
			}
		}
		catch (Exception value)
		{
			Console.WriteLine(value);
		}
	}

	private void AddLocalizations()
	{
		try
		{
			Localization = LocalizationManager.Instance.GetLocalization();
			CustomLocalization localization = Localization;
			string text = "English";
			localization.AddTranslation(ref text, new Dictionary<string, string>
			{
				{ "item_trophy_jotunn_hg", "Jörð" },
				{ "item_trophy_jotunn_desc_hg", "Animated trophy of a Jörð" },
				{ "item_trophy_firegiant_hg", "Sucroch" },
				{ "item_trophy_firegiant_desc_hg", "Animated trophy of a Sucroch" },
				{ "item_trophy_frostgiant_hg", "Kólga" },
				{ "item_trophy_frostgiant_desc_hg", "Animated trophy of a Kólga" },
				{ "item_trophy_giant_hg", "Grímnir" },
				{ "item_trophy_giant_desc_hg", "Animated trophy of a Grímnir" },
				{ "item_trophy_mountaingiant_hg", "Mímir" },
				{ "item_trophy_mountaingiant_desc_hg", "Animated trophy of a Mímir" },
				{ "item_trophy_hillgiant_hg", "Starkad" },
				{ "item_trophy_hillgiant_desc_hg", "Animated trophy of a Starkad" },
				{ "enemy_jotunn_hg", "Jörð" },
				{ "enemy_firegiant_hg", "Sucroch" },
				{ "enemy_frostgiant_hg", "Kólga" },
				{ "enemy_giant_hg", "Grímnir" },
				{ "enemy_mountaingiant_hg", "Mímir" },
				{ "enemy_hillgiant_hg", "Starkad" }
			});
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Localication for Deds Army: {arg}");
		}
	}

	public void CreateConfigurationValues()
	{
		//IL_002e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0033: Unknown result type (might be due to invalid IL or missing references)
		//IL_003c: 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
		((BaseUnityPlugin)this).Config.SaveOnConfigSet = true;
		SpawnsEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Default Spawns", "Enable", true, new ConfigDescription("Set to false if you want to setup your own spawns via a 3rd party mod.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
		{
			IsAdminOnly = true
		} }));
		SynchronizationManager.OnConfigurationSynchronized += delegate(object obj, ConfigurationSynchronizationEventArgs attr)
		{
			if (attr.InitialSynchronization)
			{
				Logger.LogMessage((object)"Initial Config sync event received for Fee Fi Fo");
			}
			else
			{
				Logger.LogMessage((object)"Config sync event received for Fee Fi Fo");
			}
		};
	}

	public void LoadBundle()
	{
		GiantBundle = AssetUtils.LoadAssetBundleFromResources("giants", Assembly.GetExecutingAssembly());
	}

	private void LoadAssets()
	{
		//IL_0014: Unknown result type (might be due to invalid IL or missing references)
		//IL_001a: Expected O, but got Unknown
		//IL_0039: Unknown result type (might be due to invalid IL or missing references)
		//IL_003f: Expected O, but got Unknown
		//IL_0060: Unknown result type (might be due to invalid IL or missing references)
		//IL_0067: Expected O, but got Unknown
		//IL_0089: Unknown result type (might be due to invalid IL or missing references)
		//IL_0090: Expected O, but got Unknown
		//IL_00b2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b9: Expected O, but got Unknown
		//IL_00db: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e2: Expected O, but got Unknown
		//IL_031b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0322: Expected O, but got Unknown
		//IL_0339: Unknown result type (might be due to invalid IL or missing references)
		//IL_0340: Expected O, but got Unknown
		//IL_0357: Unknown result type (might be due to invalid IL or missing references)
		//IL_035e: Expected O, but got Unknown
		//IL_0375: Unknown result type (might be due to invalid IL or missing references)
		//IL_037c: Expected O, but got Unknown
		//IL_0393: Unknown result type (might be due to invalid IL or missing references)
		//IL_039a: Expected O, but got Unknown
		//IL_03b1: Unknown result type (might be due to invalid IL or missing references)
		//IL_03b8: Expected O, but got Unknown
		//IL_03cf: Unknown result type (might be due to invalid IL or missing references)
		//IL_03d6: Expected O, but got Unknown
		//IL_03ed: Unknown result type (might be due to invalid IL or missing references)
		//IL_03f4: Expected O, but got Unknown
		//IL_040b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0412: Expected O, but got Unknown
		//IL_0429: Unknown result type (might be due to invalid IL or missing references)
		//IL_0430: Expected O, but got Unknown
		//IL_0447: Unknown result type (might be due to invalid IL or missing references)
		//IL_044e: Expected O, but got Unknown
		//IL_0465: Unknown result type (might be due to invalid IL or missing references)
		//IL_046c: Expected O, but got Unknown
		//IL_0483: Unknown result type (might be due to invalid IL or missing references)
		//IL_048a: Expected O, but got Unknown
		//IL_04a1: Unknown result type (might be due to invalid IL or missing references)
		//IL_04a8: Expected O, but got Unknown
		//IL_04bf: Unknown result type (might be due to invalid IL or missing references)
		//IL_04c6: Expected O, but got Unknown
		//IL_04dd: Unknown result type (might be due to invalid IL or missing references)
		//IL_04e4: Expected O, but got Unknown
		//IL_04fb: Unknown result type (might be due to invalid IL or missing references)
		//IL_0502: Expected O, but got Unknown
		//IL_0519: Unknown result type (might be due to invalid IL or missing references)
		//IL_0520: Expected O, but got Unknown
		//IL_0537: Unknown result type (might be due to invalid IL or missing references)
		//IL_053e: Expected O, but got Unknown
		//IL_0555: Unknown result type (might be due to invalid IL or missing references)
		//IL_055c: Expected O, but got Unknown
		//IL_059d: Unknown result type (might be due to invalid IL or missing references)
		//IL_05a4: Expected O, but got Unknown
		//IL_05bb: Unknown result type (might be due to invalid IL or missing references)
		//IL_05c2: Expected O, but got Unknown
		//IL_05ff: Unknown result type (might be due to invalid IL or missing references)
		//IL_0606: Expected O, but got Unknown
		//IL_0619: Unknown result type (might be due to invalid IL or missing references)
		//IL_0620: Expected O, but got Unknown
		//IL_06b1: Unknown result type (might be due to invalid IL or missing references)
		//IL_06b8: Expected O, but got Unknown
		//IL_06cb: Unknown result type (might be due to invalid IL or missing references)
		//IL_06d2: Expected O, but got Unknown
		//IL_06e5: Unknown result type (might be due to invalid IL or missing references)
		//IL_06ec: Expected O, but got Unknown
		//IL_06ff: Unknown result type (might be due to invalid IL or missing references)
		//IL_0706: Expected O, but got Unknown
		//IL_0719: Unknown result type (might be due to invalid IL or missing references)
		//IL_0720: Expected O, but got Unknown
		//IL_0733: Unknown result type (might be due to invalid IL or missing references)
		//IL_073a: Expected O, but got Unknown
		//IL_07b6: Unknown result type (might be due to invalid IL or missing references)
		//IL_07bd: Expected O, but got Unknown
		//IL_07d0: Unknown result type (might be due to invalid IL or missing references)
		//IL_07d7: Expected O, but got Unknown
		//IL_07ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_07f1: Expected O, but got Unknown
		//IL_0804: Unknown result type (might be due to invalid IL or missing references)
		//IL_080b: Expected O, but got Unknown
		//IL_081e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0825: Expected O, but got Unknown
		//IL_084d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0854: Expected O, but got Unknown
		//IL_087c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0883: Expected O, but got Unknown
		//IL_08ab: Unknown result type (might be due to invalid IL or missing references)
		//IL_08b2: Expected O, but got Unknown
		//IL_08da: Unknown result type (might be due to invalid IL or missing references)
		//IL_08e1: Expected O, but got Unknown
		//IL_0909: Unknown result type (might be due to invalid IL or missing references)
		//IL_0910: Expected O, but got Unknown
		//IL_0938: Unknown result type (might be due to invalid IL or missing references)
		//IL_093f: Expected O, but got Unknown
		//IL_0967: Unknown result type (might be due to invalid IL or missing references)
		//IL_096e: Expected O, but got Unknown
		GameObject val = GiantBundle.LoadAsset<GameObject>("FireGiant_RD_HG");
		CustomPrefab val2 = new CustomPrefab(val, true);
		PrefabManager.Instance.AddPrefab(val2);
		GameObject val3 = GiantBundle.LoadAsset<GameObject>("FrostGiant_RD_HG");
		CustomPrefab val4 = new CustomPrefab(val3, true);
		PrefabManager.Instance.AddPrefab(val4);
		GameObject val5 = GiantBundle.LoadAsset<GameObject>("Giant_RD_HG");
		CustomPrefab val6 = new CustomPrefab(val5, true);
		PrefabManager.Instance.AddPrefab(val6);
		GameObject val7 = GiantBundle.LoadAsset<GameObject>("HillGiant_RD_HG");
		CustomPrefab val8 = new CustomPrefab(val7, true);
		PrefabManager.Instance.AddPrefab(val8);
		GameObject val9 = GiantBundle.LoadAsset<GameObject>("Jotunn_RD_HG");
		CustomPrefab val10 = new CustomPrefab(val9, true);
		PrefabManager.Instance.AddPrefab(val10);
		GameObject val11 = GiantBundle.LoadAsset<GameObject>("MountainGiant_RD_HG");
		CustomPrefab val12 = new CustomPrefab(val11, true);
		PrefabManager.Instance.AddPrefab(val12);
		Giant1 = GiantBundle.LoadAsset<GameObject>("HillGiant_HG");
		Giant2 = GiantBundle.LoadAsset<GameObject>("MountainGiant_HG");
		Giant3 = GiantBundle.LoadAsset<GameObject>("Giant_HG");
		Giant4 = GiantBundle.LoadAsset<GameObject>("FrostGiant_HG");
		Giant5 = GiantBundle.LoadAsset<GameObject>("Jotunn_HG");
		Giant6 = GiantBundle.LoadAsset<GameObject>("FireGiant_HG");
		HGAttack1 = GiantBundle.LoadAsset<GameObject>("HillGiant_Attack1_HG");
		HGAttack2 = GiantBundle.LoadAsset<GameObject>("HillGiant_Attack2_HG");
		HGAttack3 = GiantBundle.LoadAsset<GameObject>("HillGiant_Attack3_HG");
		MGAttack1 = GiantBundle.LoadAsset<GameObject>("MountainGiant_Attack1_HG");
		MGAttack2 = GiantBundle.LoadAsset<GameObject>("MountainGiant_Attack2_HG");
		MGAttack3 = GiantBundle.LoadAsset<GameObject>("MountainGiant_Attack3_HG");
		GAttack1 = GiantBundle.LoadAsset<GameObject>("Giant_Attack1_HG");
		GAttack2 = GiantBundle.LoadAsset<GameObject>("Giant_Attack2_HG");
		GAttack3 = GiantBundle.LoadAsset<GameObject>("Giant_Attack3_HG");
		FGAttack1 = GiantBundle.LoadAsset<GameObject>("FrostGiant_Attack1_HG");
		FGAttack2 = GiantBundle.LoadAsset<GameObject>("FrostGiant_Attack2_HG");
		FGAttack3 = GiantBundle.LoadAsset<GameObject>("FrostGiant_Attack3_HG");
		JAttack1 = GiantBundle.LoadAsset<GameObject>("Jotunn_Attack1_HG");
		JAttack2 = GiantBundle.LoadAsset<GameObject>("Jotunn_Attack2_HG");
		JAttack3 = GiantBundle.LoadAsset<GameObject>("Jotunn_Attack3_HG");
		JAttack4 = GiantBundle.LoadAsset<GameObject>("Jotunn_AttackSpawn_HG");
		JAttack5 = GiantBundle.LoadAsset<GameObject>("Jotunn_AttackJump_HG");
		FrGAttack1 = GiantBundle.LoadAsset<GameObject>("FireGiant_Attack1_HG");
		FrGAttack2 = GiantBundle.LoadAsset<GameObject>("FireGiant_Attack2_HG");
		FrGAttack3 = GiantBundle.LoadAsset<GameObject>("FireGiant_Attack3_HG");
		GameObject hGAttack = HGAttack1;
		CustomPrefab val13 = new CustomPrefab(hGAttack, false);
		PrefabManager.Instance.AddPrefab(val13);
		GameObject hGAttack2 = HGAttack2;
		CustomPrefab val14 = new CustomPrefab(hGAttack2, false);
		PrefabManager.Instance.AddPrefab(val14);
		GameObject hGAttack3 = HGAttack3;
		CustomPrefab val15 = new CustomPrefab(hGAttack3, false);
		PrefabManager.Instance.AddPrefab(val15);
		GameObject mGAttack = MGAttack1;
		CustomPrefab val16 = new CustomPrefab(mGAttack, false);
		PrefabManager.Instance.AddPrefab(val16);
		GameObject mGAttack2 = MGAttack2;
		CustomPrefab val17 = new CustomPrefab(mGAttack2, false);
		PrefabManager.Instance.AddPrefab(val17);
		GameObject mGAttack3 = MGAttack3;
		CustomPrefab val18 = new CustomPrefab(mGAttack3, false);
		PrefabManager.Instance.AddPrefab(val18);
		GameObject gAttack = GAttack1;
		CustomPrefab val19 = new CustomPrefab(gAttack, false);
		PrefabManager.Instance.AddPrefab(val19);
		GameObject gAttack2 = GAttack2;
		CustomPrefab val20 = new CustomPrefab(gAttack2, false);
		PrefabManager.Instance.AddPrefab(val20);
		GameObject gAttack3 = GAttack3;
		CustomPrefab val21 = new CustomPrefab(gAttack3, false);
		PrefabManager.Instance.AddPrefab(val21);
		GameObject fGAttack = FGAttack1;
		CustomPrefab val22 = new CustomPrefab(fGAttack, false);
		PrefabManager.Instance.AddPrefab(val22);
		GameObject fGAttack2 = FGAttack2;
		CustomPrefab val23 = new CustomPrefab(fGAttack2, false);
		PrefabManager.Instance.AddPrefab(val23);
		GameObject fGAttack3 = FGAttack3;
		CustomPrefab val24 = new CustomPrefab(fGAttack3, false);
		PrefabManager.Instance.AddPrefab(val24);
		GameObject jAttack = JAttack1;
		CustomPrefab val25 = new CustomPrefab(jAttack, false);
		PrefabManager.Instance.AddPrefab(val25);
		GameObject jAttack2 = JAttack2;
		CustomPrefab val26 = new CustomPrefab(jAttack2, false);
		PrefabManager.Instance.AddPrefab(val26);
		GameObject jAttack3 = JAttack3;
		CustomPrefab val27 = new CustomPrefab(jAttack3, false);
		PrefabManager.Instance.AddPrefab(val27);
		GameObject jAttack4 = JAttack4;
		CustomPrefab val28 = new CustomPrefab(jAttack4, false);
		PrefabManager.Instance.AddPrefab(val28);
		GameObject jAttack5 = JAttack5;
		CustomPrefab val29 = new CustomPrefab(jAttack5, false);
		PrefabManager.Instance.AddPrefab(val29);
		GameObject frGAttack = FrGAttack1;
		CustomPrefab val30 = new CustomPrefab(frGAttack, false);
		PrefabManager.Instance.AddPrefab(val30);
		GameObject frGAttack2 = FrGAttack2;
		CustomPrefab val31 = new CustomPrefab(frGAttack2, false);
		PrefabManager.Instance.AddPrefab(val31);
		GameObject frGAttack3 = FrGAttack3;
		CustomPrefab val32 = new CustomPrefab(frGAttack3, false);
		PrefabManager.Instance.AddPrefab(val32);
		Projectile1 = GiantBundle.LoadAsset<GameObject>("Jotunn_Spawn_HG");
		Projectile2 = GiantBundle.LoadAsset<GameObject>("AoE_Jotunn_HG");
		GameObject projectile = Projectile1;
		CustomPrefab val33 = new CustomPrefab(projectile, false);
		PrefabManager.Instance.AddPrefab(val33);
		GameObject projectile2 = Projectile2;
		CustomPrefab val34 = new CustomPrefab(projectile2, false);
		PrefabManager.Instance.AddPrefab(val34);
		FX1 = GiantBundle.LoadAsset<GameObject>("FX_Backstab_HG");
		FX2 = GiantBundle.LoadAsset<GameObject>("FX_Crit_HG");
		CustomPrefab val35 = new CustomPrefab(FX1, false);
		PrefabManager.Instance.AddPrefab(val35);
		CustomPrefab val36 = new CustomPrefab(FX2, false);
		PrefabManager.Instance.AddPrefab(val36);
		SFX1 = GiantBundle.LoadAsset<GameObject>("SFX_GiantAlert_HG");
		SFX2 = GiantBundle.LoadAsset<GameObject>("SFX_GiantAttack_HG");
		SFX3 = GiantBundle.LoadAsset<GameObject>("SFX_GiantDeath_HG");
		SFX4 = GiantBundle.LoadAsset<GameObject>("SFX_GiantHit_HG");
		SFX5 = GiantBundle.LoadAsset<GameObject>("SFX_GiantIdle_HG");
		SFX6 = GiantBundle.LoadAsset<GameObject>("SFX_GiantFootstep_DoD");
		CustomPrefab val37 = new CustomPrefab(SFX1, false);
		PrefabManager.Instance.AddPrefab(val37);
		CustomPrefab val38 = new CustomPrefab(SFX2, false);
		PrefabManager.Instance.AddPrefab(val38);
		CustomPrefab val39 = new CustomPrefab(SFX3, false);
		PrefabManager.Instance.AddPrefab(val39);
		CustomPrefab val40 = new CustomPrefab(SFX4, false);
		PrefabManager.Instance.AddPrefab(val40);
		CustomPrefab val41 = new CustomPrefab(SFX5, false);
		PrefabManager.Instance.AddPrefab(val41);
		CustomPrefab val42 = new CustomPrefab(SFX6, false);
		PrefabManager.Instance.AddPrefab(val42);
		VFX1 = GiantBundle.LoadAsset<GameObject>("VFX_Blood_Hit_HG");
		VFX2 = GiantBundle.LoadAsset<GameObject>("VFX_Corpse_Destruction_HG");
		VFX3 = GiantBundle.LoadAsset<GameObject>("VFX_HitSparks_HG");
		VFX4 = GiantBundle.LoadAsset<GameObject>("VFX_GiantArrive_HG");
		VFX5 = GiantBundle.LoadAsset<GameObject>("VFX_JotunnLand_HG");
		CustomPrefab val43 = new CustomPrefab(VFX1, false);
		PrefabManager.Instance.AddPrefab(val43);
		CustomPrefab val44 = new CustomPrefab(VFX2, false);
		PrefabManager.Instance.AddPrefab(val44);
		CustomPrefab val45 = new CustomPrefab(VFX3, false);
		PrefabManager.Instance.AddPrefab(val45);
		CustomPrefab val46 = new CustomPrefab(VFX4, false);
		PrefabManager.Instance.AddPrefab(val46);
		CustomPrefab val47 = new CustomPrefab(VFX5, false);
		PrefabManager.Instance.AddPrefab(val47);
		Item1 = GiantBundle.LoadAsset<GameObject>("HillGiantSword_HG");
		CustomItem val48 = new CustomItem(Item1, false);
		ItemManager.Instance.AddItem(val48);
		GiantTrophy1 = GiantBundle.LoadAsset<GameObject>("Trophy_HillGiant_HG");
		CustomItem val49 = new CustomItem(GiantTrophy1, false);
		ItemManager.Instance.AddItem(val49);
		GiantTrophy2 = GiantBundle.LoadAsset<GameObject>("Trophy_MountainGiant_HG");
		CustomItem val50 = new CustomItem(GiantTrophy2, false);
		ItemManager.Instance.AddItem(val50);
		GiantTrophy3 = GiantBundle.LoadAsset<GameObject>("Trophy_Giant_HG");
		CustomItem val51 = new CustomItem(GiantTrophy3, false);
		ItemManager.Instance.AddItem(val51);
		GiantTrophy4 = GiantBundle.LoadAsset<GameObject>("Trophy_FrostGiant_HG");
		CustomItem val52 = new CustomItem(GiantTrophy4, false);
		ItemManager.Instance.AddItem(val52);
		GiantTrophy5 = GiantBundle.LoadAsset<GameObject>("Trophy_Jotunn_HG");
		CustomItem val53 = new CustomItem(GiantTrophy5, false);
		ItemManager.Instance.AddItem(val53);
		GiantTrophy6 = GiantBundle.LoadAsset<GameObject>("Trophy_FireGiant_HG");
		CustomItem val54 = new CustomItem(GiantTrophy6, false);
		ItemManager.Instance.AddItem(val54);
	}

	private void AddGiants()
	{
		//IL_0008: Unknown result type (might be due to invalid IL or missing references)
		//IL_000f: Expected O, but got Unknown
		//IL_0019: Unknown result type (might be due to invalid IL or missing references)
		//IL_001e: Unknown result type (might be due to invalid IL or missing references)
		//IL_002a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0032: Unknown result type (might be due to invalid IL or missing references)
		//IL_003a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0047: Expected O, but got Unknown
		//IL_0049: Unknown result type (might be due to invalid IL or missing references)
		//IL_004e: Unknown result type (might be due to invalid IL or missing references)
		//IL_005a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0063: Unknown result type (might be due to invalid IL or missing references)
		//IL_006c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0079: Expected O, but got Unknown
		//IL_007b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0080: Unknown result type (might be due to invalid IL or missing references)
		//IL_008c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0094: Unknown result type (might be due to invalid IL or missing references)
		//IL_009c: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a9: Expected O, but got Unknown
		//IL_00ab: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00bc: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c4: Unknown result type (might be due to invalid IL or missing references)
		//IL_00cc: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d9: Expected O, but got Unknown
		//IL_00db: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ec: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f4: Unknown result type (might be due to invalid IL or missing references)
		//IL_00fc: Unknown result type (might be due to invalid IL or missing references)
		//IL_0109: Expected O, but got Unknown
		//IL_0110: Unknown result type (might be due to invalid IL or missing references)
		//IL_0116: Expected O, but got Unknown
		//IL_0128: Unknown result type (might be due to invalid IL or missing references)
		//IL_012f: Expected O, but got Unknown
		//IL_0139: Unknown result type (might be due to invalid IL or missing references)
		//IL_013e: Unknown result type (might be due to invalid IL or missing references)
		//IL_014a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0152: Unknown result type (might be due to invalid IL or missing references)
		//IL_015a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0167: Expected O, but got Unknown
		//IL_0169: Unknown result type (might be due to invalid IL or missing references)
		//IL_016e: Unknown result type (might be due to invalid IL or missing references)
		//IL_017a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0183: Unknown result type (might be due to invalid IL or missing references)
		//IL_018f: Unknown result type (might be due to invalid IL or missing references)
		//IL_019c: Expected O, but got Unknown
		//IL_019e: Unknown result type (might be due to invalid IL or missing references)
		//IL_01a3: Unknown result type (might be due to invalid IL or missing references)
		//IL_01af: Unknown result type (might be due to invalid IL or missing references)
		//IL_01b7: Unknown result type (might be due to invalid IL or missing references)
		//IL_01bf: Unknown result type (might be due to invalid IL or missing references)
		//IL_01cc: Expected O, but got Unknown
		//IL_01ce: Unknown result type (might be due to invalid IL or missing references)
		//IL_01d3: Unknown result type (might be due to invalid IL or missing references)
		//IL_01df: Unknown result type (might be due to invalid IL or missing references)
		//IL_01e7: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ef: Unknown result type (might be due to invalid IL or missing references)
		//IL_01fc: Expected O, but got Unknown
		//IL_01fe: Unknown result type (might be due to invalid IL or missing references)
		//IL_0203: Unknown result type (might be due to invalid IL or missing references)
		//IL_020f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0217: Unknown result type (might be due to invalid IL or missing references)
		//IL_021f: Unknown result type (might be due to invalid IL or missing references)
		//IL_022c: Expected O, but got Unknown
		//IL_0233: Unknown result type (might be due to invalid IL or missing references)
		//IL_0239: Expected O, but got Unknown
		//IL_024b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0252: Expected O, but got Unknown
		//IL_025c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0261: Unknown result type (might be due to invalid IL or missing references)
		//IL_026d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0275: Unknown result type (might be due to invalid IL or missing references)
		//IL_027d: Unknown result type (might be due to invalid IL or missing references)
		//IL_028a: Expected O, but got Unknown
		//IL_028c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0291: Unknown result type (might be due to invalid IL or missing references)
		//IL_029d: Unknown result type (might be due to invalid IL or missing references)
		//IL_02a6: Unknown result type (might be due to invalid IL or missing references)
		//IL_02af: Unknown result type (might be due to invalid IL or missing references)
		//IL_02bc: Expected O, but got Unknown
		//IL_02be: Unknown result type (might be due to invalid IL or missing references)
		//IL_02c3: Unknown result type (might be due to invalid IL or missing references)
		//IL_02cf: Unknown result type (might be due to invalid IL or missing references)
		//IL_02d7: Unknown result type (might be due to invalid IL or missing references)
		//IL_02df: Unknown result type (might be due to invalid IL or missing references)
		//IL_02ec: Expected O, but got Unknown
		//IL_02ee: Unknown result type (might be due to invalid IL or missing references)
		//IL_02f3: Unknown result type (might be due to invalid IL or missing references)
		//IL_02ff: Unknown result type (might be due to invalid IL or missing references)
		//IL_0307: Unknown result type (might be due to invalid IL or missing references)
		//IL_030f: Unknown result type (might be due to invalid IL or missing references)
		//IL_031c: Expected O, but got Unknown
		//IL_031e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0323: Unknown result type (might be due to invalid IL or missing references)
		//IL_032f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0337: Unknown result type (might be due to invalid IL or missing references)
		//IL_033f: Unknown result type (might be due to invalid IL or missing references)
		//IL_034c: Expected O, but got Unknown
		//IL_0353: Unknown result type (might be due to invalid IL or missing references)
		//IL_0359: Expected O, but got Unknown
		//IL_036b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0372: Expected O, but got Unknown
		//IL_037c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0381: Unknown result type (might be due to invalid IL or missing references)
		//IL_038d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0395: Unknown result type (might be due to invalid IL or missing references)
		//IL_039d: Unknown result type (might be due to invalid IL or missing references)
		//IL_03aa: Expected O, but got Unknown
		//IL_03ac: Unknown result type (might be due to invalid IL or missing references)
		//IL_03b1: Unknown result type (might be due to invalid IL or missing references)
		//IL_03bd: Unknown result type (might be due to invalid IL or missing references)
		//IL_03c6: Unknown result type (might be due to invalid IL or missing references)
		//IL_03cf: Unknown result type (might be due to invalid IL or missing references)
		//IL_03dc: Expected O, but got Unknown
		//IL_03de: Unknown result type (might be due to invalid IL or missing references)
		//IL_03e3: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ef: Unknown result type (might be due to invalid IL or missing references)
		//IL_03f7: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ff: Unknown result type (might be due to invalid IL or missing references)
		//IL_040c: Expected O, but got Unknown
		//IL_040e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0413: Unknown result type (might be due to invalid IL or missing references)
		//IL_041f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0427: Unknown result type (might be due to invalid IL or missing references)
		//IL_042f: Unknown result type (might be due to invalid IL or missing references)
		//IL_043c: Expected O, but got Unknown
		//IL_043e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0443: Unknown result type (might be due to invalid IL or missing references)
		//IL_044f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0457: Unknown result type (might be due to invalid IL or missing references)
		//IL_0460: Unknown result type (might be due to invalid IL or missing references)
		//IL_046d: Expected O, but got Unknown
		//IL_0474: Unknown result type (might be due to invalid IL or missing references)
		//IL_047a: Expected O, but got Unknown
		//IL_048c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0493: Expected O, but got Unknown
		//IL_049d: Unknown result type (might be due to invalid IL or missing references)
		//IL_04a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_04ae: Unknown result type (might be due to invalid IL or missing references)
		//IL_04b6: Unknown result type (might be due to invalid IL or missing references)
		//IL_04be: Unknown result type (might be due to invalid IL or missing references)
		//IL_04cb: Expected O, but got Unknown
		//IL_04cd: Unknown result type (might be due to invalid IL or missing references)
		//IL_04d2: Unknown result type (might be due to invalid IL or missing references)
		//IL_04de: Unknown result type (might be due to invalid IL or missing references)
		//IL_04e7: Unknown result type (might be due to invalid IL or missing references)
		//IL_04f0: Unknown result type (might be due to invalid IL or missing references)
		//IL_04fd: Expected O, but got Unknown
		//IL_04ff: Unknown result type (might be due to invalid IL or missing references)
		//IL_0504: Unknown result type (might be due to invalid IL or missing references)
		//IL_0510: Unknown result type (might be due to invalid IL or missing references)
		//IL_0518: Unknown result type (might be due to invalid IL or missing references)
		//IL_0520: Unknown result type (might be due to invalid IL or missing references)
		//IL_052d: Expected O, but got Unknown
		//IL_052f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0534: Unknown result type (might be due to invalid IL or missing references)
		//IL_0540: Unknown result type (might be due to invalid IL or missing references)
		//IL_0548: Unknown result type (might be due to invalid IL or missing references)
		//IL_0550: Unknown result type (might be due to invalid IL or missing references)
		//IL_055d: Expected O, but got Unknown
		//IL_055f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0564: Unknown result type (might be due to invalid IL or missing references)
		//IL_0570: Unknown result type (might be due to invalid IL or missing references)
		//IL_0578: Unknown result type (might be due to invalid IL or missing references)
		//IL_0580: Unknown result type (might be due to invalid IL or missing references)
		//IL_058d: Expected O, but got Unknown
		//IL_0594: Unknown result type (might be due to invalid IL or missing references)
		//IL_059b: Expected O, but got Unknown
		//IL_05ae: Unknown result type (might be due to invalid IL or missing references)
		//IL_05b5: Expected O, but got Unknown
		//IL_05bf: Unknown result type (might be due to invalid IL or missing references)
		//IL_05c4: Unknown result type (might be due to invalid IL or missing references)
		//IL_05d0: Unknown result type (might be due to invalid IL or missing references)
		//IL_05d8: Unknown result type (might be due to invalid IL or missing references)
		//IL_05e0: Unknown result type (might be due to invalid IL or missing references)
		//IL_05ed: Expected O, but got Unknown
		//IL_05ef: Unknown result type (might be due to invalid IL or missing references)
		//IL_05f4: Unknown result type (might be due to invalid IL or missing references)
		//IL_0600: Unknown result type (might be due to invalid IL or missing references)
		//IL_0608: Unknown result type (might be due to invalid IL or missing references)
		//IL_0611: Unknown result type (might be due to invalid IL or missing references)
		//IL_061e: Expected O, but got Unknown
		//IL_0620: Unknown result type (might be due to invalid IL or missing references)
		//IL_0625: Unknown result type (might be due to invalid IL or missing references)
		//IL_0631: Unknown result type (might be due to invalid IL or missing references)
		//IL_0639: Unknown result type (might be due to invalid IL or missing references)
		//IL_0641: Unknown result type (might be due to invalid IL or missing references)
		//IL_064e: Expected O, but got Unknown
		//IL_0650: Unknown result type (might be due to invalid IL or missing references)
		//IL_0655: Unknown result type (might be due to invalid IL or missing references)
		//IL_0661: Unknown result type (might be due to invalid IL or missing references)
		//IL_0669: Unknown result type (might be due to invalid IL or missing references)
		//IL_0671: Unknown result type (might be due to invalid IL or missing references)
		//IL_067e: Expected O, but got Unknown
		//IL_0680: Unknown result type (might be due to invalid IL or missing references)
		//IL_0685: Unknown result type (might be due to invalid IL or missing references)
		//IL_0691: Unknown result type (might be due to invalid IL or missing references)
		//IL_0699: Unknown result type (might be due to invalid IL or missing references)
		//IL_06a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_06af: Expected O, but got Unknown
		//IL_06b6: Unknown result type (might be due to invalid IL or missing references)
		//IL_06bd: Expected O, but got Unknown
		try
		{
			GameObject giant = Giant6;
			CreatureConfig val = new CreatureConfig();
			val.DropConfigs = (DropConfig[])(object)new DropConfig[5]
			{
				new DropConfig
				{
					Item = "Trophy_FireGiant_HG",
					MinAmount = 1,
					MaxAmount = 1,
					Chance = 5f
				},
				new DropConfig
				{
					Item = "Coins",
					MinAmount = 43,
					MaxAmount = 98,
					Chance = 100f
				},
				new DropConfig
				{
					Item = "SilverNecklace",
					MinAmount = 3,
					MaxAmount = 5,
					Chance = 15f
				},
				new DropConfig
				{
					Item = "Flametal",
					MinAmount = 2,
					MaxAmount = 4,
					Chance = 25f
				},
				new DropConfig
				{
					Item = "YmirRemains",
					MinAmount = 1,
					MaxAmount = 3,
					Chance = 2f
				}
			};
			CustomCreature val2 = new CustomCreature(giant, true, val);
			CreatureManager.Instance.AddCreature(val2);
			GameObject giant2 = Giant5;
			val = new CreatureConfig();
			val.DropConfigs = (DropConfig[])(object)new DropConfig[5]
			{
				new DropConfig
				{
					Item = "Trophy_Jotunn_HG",
					MinAmount = 1,
					MaxAmount = 1,
					Chance = 5f
				},
				new DropConfig
				{
					Item = "Coins",
					MinAmount = 113,
					MaxAmount = 178,
					Chance = 100f
				},
				new DropConfig
				{
					Item = "SilverNecklace",
					MinAmount = 3,
					MaxAmount = 5,
					Chance = 15f
				},
				new DropConfig
				{
					Item = "FreezeGland",
					MinAmount = 2,
					MaxAmount = 4,
					Chance = 25f
				},
				new DropConfig
				{
					Item = "YmirRemains",
					MinAmount = 1,
					MaxAmount = 3,
					Chance = 5f
				}
			};
			CustomCreature val3 = new CustomCreature(giant2, true, val);
			CreatureManager.Instance.AddCreature(val3);
			GameObject giant3 = Giant4;
			val = new CreatureConfig();
			val.DropConfigs = (DropConfig[])(object)new DropConfig[5]
			{
				new DropConfig
				{
					Item = "Trophy_FrostGiant_HG",
					MinAmount = 1,
					MaxAmount = 1,
					Chance = 5f
				},
				new DropConfig
				{
					Item = "Coins",
					MinAmount = 23,
					MaxAmount = 78,
					Chance = 100f
				},
				new DropConfig
				{
					Item = "SilverNecklace",
					MinAmount = 3,
					MaxAmount = 5,
					Chance = 15f
				},
				new DropConfig
				{
					Item = "FreezeGland",
					MinAmount = 2,
					MaxAmount = 4,
					Chance = 25f
				},
				new DropConfig
				{
					Item = "YmirRemains",
					MinAmount = 1,
					MaxAmount = 3,
					Chance = 2f
				}
			};
			CustomCreature val4 = new CustomCreature(giant3, true, val);
			CreatureManager.Instance.AddCreature(val4);
			GameObject giant4 = Giant3;
			val = new CreatureConfig();
			val.DropConfigs = (DropConfig[])(object)new DropConfig[5]
			{
				new DropConfig
				{
					Item = "Trophy_Giant_HG",
					MinAmount = 1,
					MaxAmount = 1,
					Chance = 5f
				},
				new DropConfig
				{
					Item = "Coins",
					MinAmount = 17,
					MaxAmount = 41,
					Chance = 100f
				},
				new DropConfig
				{
					Item = "LoxPelt",
					MinAmount = 2,
					MaxAmount = 4,
					Chance = 10f
				},
				new DropConfig
				{
					Item = "CookedLoxMeat",
					MinAmount = 2,
					MaxAmount = 8,
					Chance = 10f
				},
				new DropConfig
				{
					Item = "Cloudberry",
					MinAmount = 3,
					MaxAmount = 12,
					Chance = 25f
				}
			};
			CustomCreature val5 = new CustomCreature(giant4, true, val);
			CreatureManager.Instance.AddCreature(val5);
			GameObject giant5 = Giant2;
			val = new CreatureConfig();
			val.DropConfigs = (DropConfig[])(object)new DropConfig[5]
			{
				new DropConfig
				{
					Item = "Trophy_MountainGiant_HG",
					MinAmount = 1,
					MaxAmount = 1,
					Chance = 5f
				},
				new DropConfig
				{
					Item = "Coins",
					MinAmount = 10,
					MaxAmount = 28,
					Chance = 100f
				},
				new DropConfig
				{
					Item = "WolfPelt",
					MinAmount = 2,
					MaxAmount = 4,
					Chance = 15f
				},
				new DropConfig
				{
					Item = "FreezeGland",
					MinAmount = 2,
					MaxAmount = 4,
					Chance = 10f
				},
				new DropConfig
				{
					Item = "CookedWolfMeat",
					MinAmount = 3,
					MaxAmount = 5,
					Chance = 25f
				}
			};
			CustomCreature val6 = new CustomCreature(giant5, true, val);
			CreatureManager.Instance.AddCreature(val6);
			GameObject giant6 = Giant1;
			val = new CreatureConfig();
			val.DropConfigs = (DropConfig[])(object)new DropConfig[5]
			{
				new DropConfig
				{
					Item = "Trophy_HillGiant_HG",
					MinAmount = 1,
					MaxAmount = 1,
					Chance = 5f
				},
				new DropConfig
				{
					Item = "Coins",
					MinAmount = 3,
					MaxAmount = 10,
					Chance = 100f
				},
				new DropConfig
				{
					Item = "DeerHide",
					MinAmount = 3,
					MaxAmount = 5,
					Chance = 15f
				},
				new DropConfig
				{
					Item = "Honey",
					MinAmount = 2,
					MaxAmount = 4,
					Chance = 10f
				},
				new DropConfig
				{
					Item = "LeatherScraps",
					MinAmount = 3,
					MaxAmount = 10,
					Chance = 25f
				}
			};
			CustomCreature val7 = new CustomCreature(giant6, true, val);
			CreatureManager.Instance.AddCreature(val7);
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom creatures: {arg}");
		}
		finally
		{
			GiantBundle.Unload(false);
		}
	}

	private void FixSFX()
	{
		try
		{
			AudioSource prefab = Cache.GetPrefab<AudioSource>("sfx_arrow_hit");
			GameObject prefab2 = Cache.GetPrefab<GameObject>("SFX_GiantAlert_HG");
			GameObject prefab3 = Cache.GetPrefab<GameObject>("SFX_GiantAttack_HG");
			GameObject prefab4 = Cache.GetPrefab<GameObject>("SFX_GiantDeath_HG");
			GameObject prefab5 = Cache.GetPrefab<GameObject>("SFX_GiantHit_HG");
			GameObject prefab6 = Cache.GetPrefab<GameObject>("SFX_GiantIdle_HG");
			GameObject prefab7 = Cache.GetPrefab<GameObject>("SFX_GiantFootstep_DoD");
			if ((Object)(object)prefab2 != (Object)null)
			{
				prefab2.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
			}
			if ((Object)(object)prefab3 != (Object)null)
			{
				prefab3.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
			}
			if ((Object)(object)prefab4 != (Object)null)
			{
				prefab4.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
			}
			if ((Object)(object)prefab5 != (Object)null)
			{
				prefab5.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
			}
			if ((Object)(object)prefab6 != (Object)null)
			{
				prefab6.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
			}
			if ((Object)(object)prefab7 != (Object)null)
			{
				prefab7.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
			}
		}
		catch
		{
			Debug.LogWarning((object)"Giants: SFX Fix Failed");
		}
	}

	public static void ConfigureBiomeSpawners(ISpawnerConfigurationCollection config)
	{
		try
		{
			ConfigureWorldSpawner(config);
		}
		catch (Exception ex)
		{
			Console.WriteLine("Something went horribly wrong: " + ex.Message + "\nStackTrace:\n" + ex.StackTrace);
		}
	}

	private static void ConfigureWorldSpawner(ISpawnerConfigurationCollection config)
	{
		try
		{
			ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 26004u).SetPrefabName("FireGiant_HG").SetTemplateName("Fire Giant")
				.SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)32 })
				.SetSpawnChance(12f)
				.SetSpawnInterval(TimeSpan.FromSeconds(350.0))
				.SetPackSizeMin(1u)
				.SetPackSizeMax(1u)
				.SetMaxSpawned(2u)
				.SetConditionAltitudeMin(1f)
				.SetSpawnAtDistanceToPlayerMin(75f)
				.SetSpawnAtDistanceToPlayerMax(125f);
			ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 26003u).SetPrefabName("FrostGiant_HG").SetTemplateName("Frost Giant")
				.SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)64 })
				.SetSpawnChance(12f)
				.SetSpawnInterval(TimeSpan.FromSeconds(350.0))
				.SetPackSizeMin(1u)
				.SetPackSizeMax(1u)
				.SetMaxSpawned(2u)
				.SetConditionAltitudeMin(10f)
				.SetSpawnAtDistanceToPlayerMin(75f)
				.SetSpawnAtDistanceToPlayerMax(125f);
			ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 26002u).SetPrefabName("Giant_HG").SetTemplateName("Giant")
				.SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)16 })
				.SetSpawnChance(12f)
				.SetSpawnInterval(TimeSpan.FromSeconds(350.0))
				.SetPackSizeMin(1u)
				.SetPackSizeMax(1u)
				.SetMaxSpawned(2u)
				.SetConditionAltitudeMin(10f)
				.SetSpawnAtDistanceToPlayerMin(75f)
				.SetSpawnAtDistanceToPlayerMax(125f);
			ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 26001u).SetPrefabName("MountainGiant_HG").SetTemplateName("Mountain Giant")
				.SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)4 })
				.SetSpawnChance(12f)
				.SetSpawnInterval(TimeSpan.FromSeconds(280.0))
				.SetPackSizeMin(1u)
				.SetPackSizeMax(1u)
				.SetMaxSpawned(2u)
				.SetConditionAltitudeMin(95f)
				.SetConditionAltitudeMax(2000f)
				.SetSpawnAtDistanceToPlayerMin(75f)
				.SetSpawnAtDistanceToPlayerMax(125f);
			ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 26000u).SetPrefabName("HillGiant_HG").SetTemplateName("Hill Giant")
				.SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)1 })
				.SetSpawnChance(5f)
				.SetSpawnInterval(TimeSpan.FromSeconds(210.0))
				.SetPackSizeMin(1u)
				.SetPackSizeMax(1u)
				.SetMaxSpawned(2u)
				.SetConditionAltitudeMin(40f)
				.SetConditionAltitudeMax(70f)
				.SetSpawnAtDistanceToPlayerMin(75f)
				.SetSpawnAtDistanceToPlayerMax(125f);
		}
		catch (Exception ex)
		{
			Log.LogError((object)ex);
		}
	}
}