Decompiled source of OreMines v1.1.7
OreMines.dll
Decompiled 2 weeks ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Concurrent; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Globalization; using System.IO; using System.IO.Compression; using System.Linq; using System.Linq.Expressions; using System.Reflection; using System.Reflection.Emit; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Serialization; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using System.Text; using System.Text.RegularExpressions; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using HarmonyLib; using ItemManager; using JetBrains.Annotations; using LocalizationManager; using LocationManager; using Microsoft.CodeAnalysis; using OreMines.Functions; using ServerSync; using SoftReferenceableAssets; using TMPro; using UnityEngine; using YamlDotNet.Core; using YamlDotNet.Core.Events; using YamlDotNet.Core.Tokens; using YamlDotNet.Helpers; using YamlDotNet.Serialization; using YamlDotNet.Serialization.Converters; using YamlDotNet.Serialization.EventEmitters; using YamlDotNet.Serialization.NamingConventions; using YamlDotNet.Serialization.NodeDeserializers; using YamlDotNet.Serialization.NodeTypeResolvers; using YamlDotNet.Serialization.ObjectFactories; using YamlDotNet.Serialization.ObjectGraphTraversalStrategies; using YamlDotNet.Serialization.ObjectGraphVisitors; using YamlDotNet.Serialization.Schemas; using YamlDotNet.Serialization.TypeInspectors; using YamlDotNet.Serialization.TypeResolvers; using YamlDotNet.Serialization.Utilities; using YamlDotNet.Serialization.ValueDeserializers; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: AssemblyTitle("OreMines")] [assembly: AssemblyDescription("https://thunderstore.io/c/valheim/p/blacks7ar/OreMines/")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("blacks7ar")] [assembly: AssemblyProduct("OreMines")] [assembly: AssemblyCopyright("Copyright © 2024")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("41E3DA5A-E3B3-4DB1-910A-BFA3A359B1CA")] [assembly: AssemblyFileVersion("1.1.7")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.1.7.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace OreMines { [BepInPlugin("blacks7ar.OreMines", "OreMines", "1.1.7")] public class Plugin : BaseUnityPlugin { public enum Toggle { On = 1, Off = 0 } private const string modGUID = "blacks7ar.OreMines"; public const string modName = "OreMines"; public const string modAuthor = "blacks7ar"; public const string modVersion = "1.1.7"; public const string modLink = "https://thunderstore.io/c/valheim/p/blacks7ar/OreMines/"; private static readonly Harmony _harmony = new Harmony("blacks7ar.OreMines"); private static readonly ConfigSync _configSync = new ConfigSync("blacks7ar.OreMines") { DisplayName = "OreMines", CurrentVersion = "1.1.7", MinimumRequiredVersion = "1.1.7", ModRequired = true }; private static ConfigEntry<Toggle> _serverConfigLocked; public static ConfigEntry<int> _resetDay; public static ConfigEntry<Toggle> _enableReset; public static ConfigEntry<float> _oreSpawnChance; public static ConfigEntry<Toggle> _consumableKeys; public static ConfigEntry<Toggle> _stackableKeys; public static ConfigEntry<int> _coalDepositDropMin; public static ConfigEntry<int> _coalDepositDropMax; public static ConfigEntry<int> _copperDepositDropMin; public static ConfigEntry<int> _copperDepositDropMax; public static ConfigEntry<int> _flintDepositDropMin; public static ConfigEntry<int> _flintDepositDropMax; public static ConfigEntry<int> _ironDepositDropMin; public static ConfigEntry<int> _ironDepositDropMax; public static ConfigEntry<int> _silverDepositDropMin; public static ConfigEntry<int> _silverDepositDropMax; public static ConfigEntry<int> _tinDepositDropMin; public static ConfigEntry<int> _tinDepositDropMax; public static ConfigEntry<int> _blackMetalDepositDropMin; public static ConfigEntry<int> _blackMetalDepositDropMax; public static ConfigEntry<int> _flametalDepositDropMin; public static ConfigEntry<int> _flametalDepositDropMax; public static ConfigEntry<float> _coalDepositDropChance; public static ConfigEntry<float> _copperDepositDropChance; public static ConfigEntry<float> _flintDepositDropChance; public static ConfigEntry<float> _ironDepositDropChance; public static ConfigEntry<float> _silverDepositDropChance; public static ConfigEntry<float> _tinDepositDropChance; public static ConfigEntry<float> _blackMetalDepositDropChance; public static ConfigEntry<float> _flametalDepositDropChance; public static ConfigEntry<Toggle> _enableFlintMine; public static ConfigEntry<Biome> _flintMineBiome; public static ConfigEntry<int> _flintMineCount; public static ConfigEntry<float> _flintMineMinDistanceFromGroup; public static ConfigEntry<float> _flintMineSpawnAltitudeMin; public static ConfigEntry<float> _flintMineSpawnAltitudeMax; public static ConfigEntry<float> _flintMineSpawnDistanceMin; public static ConfigEntry<float> _flintMineSpawnDistanceMax; public static ConfigEntry<Toggle> _enableCopperMine; public static ConfigEntry<Biome> _copperMineBiome; public static ConfigEntry<int> _copperMineCount; public static ConfigEntry<float> _copperMineMinDistanceFromGroup; public static ConfigEntry<float> _copperMineSpawnAltitudeMin; public static ConfigEntry<float> _copperMineSpawnAltitudeMax; public static ConfigEntry<float> _copperMineSpawnDistanceMin; public static ConfigEntry<float> _copperMineSpawnDistanceMax; public static ConfigEntry<Toggle> _enableTinMine; public static ConfigEntry<Biome> _tinMineBiome; public static ConfigEntry<int> _tinMineCount; public static ConfigEntry<float> _tinMinDistanceFromGroup; public static ConfigEntry<float> _tinMineSpawnAltitudeMin; public static ConfigEntry<float> _tinMineSpawnAltitudeMax; public static ConfigEntry<float> _tinMineSpawnDistanceMin; public static ConfigEntry<float> _tinMineSpawnDistanceMax; public static ConfigEntry<Toggle> _enableCoalMine; public static ConfigEntry<Biome> _coalMineBiome; public static ConfigEntry<int> _coalMineCount; public static ConfigEntry<float> _coalMineMinDistanceFromGroup; public static ConfigEntry<float> _coalMineSpawnAltitudeMin; public static ConfigEntry<float> _coalMineSpawnAltitudeMax; public static ConfigEntry<float> _coalMineSpawnDistanceMin; public static ConfigEntry<float> _coalMineSpawnDistanceMax; public static ConfigEntry<Toggle> _enableIronMine; public static ConfigEntry<Biome> _ironMineBiome; public static ConfigEntry<int> _ironMineCount; public static ConfigEntry<float> _ironMineMinDistanceFromGroup; public static ConfigEntry<float> _ironMineSpawnAltitudeMin; public static ConfigEntry<float> _ironMineSpawnAltitudeMax; public static ConfigEntry<float> _ironMineSpawnDistanceMin; public static ConfigEntry<float> _ironMineSpawnDistanceMax; public static ConfigEntry<Toggle> _enableSilverMine; public static ConfigEntry<Biome> _silverMineBiome; public static ConfigEntry<int> _silverMineCount; public static ConfigEntry<float> _silverMineMinDistanceFromGroup; public static ConfigEntry<float> _silverMineSpawnAltitudeMin; public static ConfigEntry<float> _silverMineSpawnAltitudeMax; public static ConfigEntry<float> _silverMineSpawnDistanceMin; public static ConfigEntry<float> _silverMineSpawnDistanceMax; public static ConfigEntry<Toggle> _enableBlackMetalMine; public static ConfigEntry<Biome> _blackMetalMineBiome; public static ConfigEntry<int> _blackMetalMineCount; public static ConfigEntry<float> _blackMetalMineMinDistanceFromGroup; public static ConfigEntry<float> _blackMetalMineSpawnAltitudeMin; public static ConfigEntry<float> _blackMetalMineSpawnAltitudeMax; public static ConfigEntry<float> _blackMetalMineSpawnDistanceMin; public static ConfigEntry<float> _blackMetalMineSpawnDistanceMax; public static ConfigEntry<Toggle> _enableFlametalMine; public static ConfigEntry<Biome> _flametalMineBiome; public static ConfigEntry<int> _flametalMineCount; public static ConfigEntry<float> _flametalMineMinDistanceFromGroup; public static ConfigEntry<float> _flametalMineSpawnAltitudeMin; public static ConfigEntry<float> _flametalMineSpawnAltitudeMax; public static ConfigEntry<float> _flametalMineSpawnDistanceMin; public static ConfigEntry<float> _flametalMineSpawnDistanceMax; private const string _generalSection = "02- General"; private const string _flintSection = "03- Flint Mine"; private const string _copperSection = "04- Copper Mine"; private const string _tinSection = "05- Tin Mine"; private const string _ironSection = "06- Iron Mine"; private const string _coalSection = "07- Coal Mine"; private const string _silverSection = "08- Silver Mine"; private const string _blackMetalSection = "09- BlackMetal Mine"; private const string _flametalSection = "10- Flametal Mine"; private ConfigEntry<T> config<T>(string group, string name, T value, ConfigDescription description, bool synchronizedConfig = true) { //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Expected O, but got Unknown ConfigDescription val = new ConfigDescription(description.Description + (synchronizedConfig ? " [Synced with Server]" : " [Not Synced with Server]"), description.AcceptableValues, description.Tags); ConfigEntry<T> val2 = ((BaseUnityPlugin)this).Config.Bind<T>(group, name, value, val); _configSync.AddConfigEntry<T>(val2).SynchronizedConfig = synchronizedConfig; return val2; } public void Awake() { //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Expected O, but got Unknown //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Expected O, but got Unknown //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Expected O, but got Unknown //IL_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Expected O, but got Unknown //IL_0118: Unknown result type (might be due to invalid IL or missing references) //IL_0123: Expected O, but got Unknown //IL_013f: Unknown result type (might be due to invalid IL or missing references) //IL_014a: Expected O, but got Unknown //IL_0166: Unknown result type (might be due to invalid IL or missing references) //IL_0171: Expected O, but got Unknown //IL_018e: Unknown result type (might be due to invalid IL or missing references) //IL_0199: Expected O, but got Unknown //IL_01c7: Unknown result type (might be due to invalid IL or missing references) //IL_01d2: Expected O, but got Unknown //IL_01f5: Unknown result type (might be due to invalid IL or missing references) //IL_0200: Expected O, but got Unknown //IL_0223: Unknown result type (might be due to invalid IL or missing references) //IL_022e: Expected O, but got Unknown //IL_024e: Unknown result type (might be due to invalid IL or missing references) //IL_0259: Expected O, but got Unknown //IL_0279: Unknown result type (might be due to invalid IL or missing references) //IL_0284: Expected O, but got Unknown //IL_02a4: Unknown result type (might be due to invalid IL or missing references) //IL_02af: Expected O, but got Unknown //IL_02cf: Unknown result type (might be due to invalid IL or missing references) //IL_02da: Expected O, but got Unknown //IL_02fa: Unknown result type (might be due to invalid IL or missing references) //IL_0305: Expected O, but got Unknown //IL_0321: Unknown result type (might be due to invalid IL or missing references) //IL_032c: Expected O, but got Unknown //IL_0348: Unknown result type (might be due to invalid IL or missing references) //IL_0353: Expected O, but got Unknown //IL_0370: Unknown result type (might be due to invalid IL or missing references) //IL_037b: Expected O, but got Unknown //IL_03a9: Unknown result type (might be due to invalid IL or missing references) //IL_03b4: Expected O, but got Unknown //IL_03d7: Unknown result type (might be due to invalid IL or missing references) //IL_03e2: Expected O, but got Unknown //IL_0405: Unknown result type (might be due to invalid IL or missing references) //IL_0410: Expected O, but got Unknown //IL_0430: Unknown result type (might be due to invalid IL or missing references) //IL_043b: Expected O, but got Unknown //IL_045b: Unknown result type (might be due to invalid IL or missing references) //IL_0466: Expected O, but got Unknown //IL_0486: Unknown result type (might be due to invalid IL or missing references) //IL_0491: Expected O, but got Unknown //IL_04b1: Unknown result type (might be due to invalid IL or missing references) //IL_04bc: Expected O, but got Unknown //IL_04dc: Unknown result type (might be due to invalid IL or missing references) //IL_04e7: Expected O, but got Unknown //IL_0503: Unknown result type (might be due to invalid IL or missing references) //IL_050e: Expected O, but got Unknown //IL_052a: Unknown result type (might be due to invalid IL or missing references) //IL_0535: Expected O, but got Unknown //IL_0552: Unknown result type (might be due to invalid IL or missing references) //IL_055d: Expected O, but got Unknown //IL_058b: Unknown result type (might be due to invalid IL or missing references) //IL_0596: Expected O, but got Unknown //IL_05b9: Unknown result type (might be due to invalid IL or missing references) //IL_05c4: Expected O, but got Unknown //IL_05e7: Unknown result type (might be due to invalid IL or missing references) //IL_05f2: Expected O, but got Unknown //IL_0612: Unknown result type (might be due to invalid IL or missing references) //IL_061d: Expected O, but got Unknown //IL_063d: Unknown result type (might be due to invalid IL or missing references) //IL_0648: Expected O, but got Unknown //IL_0668: Unknown result type (might be due to invalid IL or missing references) //IL_0673: Expected O, but got Unknown //IL_0693: Unknown result type (might be due to invalid IL or missing references) //IL_069e: Expected O, but got Unknown //IL_06be: Unknown result type (might be due to invalid IL or missing references) //IL_06c9: Expected O, but got Unknown //IL_06e5: Unknown result type (might be due to invalid IL or missing references) //IL_06f0: Expected O, but got Unknown //IL_070c: Unknown result type (might be due to invalid IL or missing references) //IL_0717: Expected O, but got Unknown //IL_0734: Unknown result type (might be due to invalid IL or missing references) //IL_073f: Expected O, but got Unknown //IL_076d: Unknown result type (might be due to invalid IL or missing references) //IL_0778: Expected O, but got Unknown //IL_079b: Unknown result type (might be due to invalid IL or missing references) //IL_07a6: Expected O, but got Unknown //IL_07c9: Unknown result type (might be due to invalid IL or missing references) //IL_07d4: Expected O, but got Unknown //IL_07f4: Unknown result type (might be due to invalid IL or missing references) //IL_07ff: Expected O, but got Unknown //IL_081f: Unknown result type (might be due to invalid IL or missing references) //IL_082a: Expected O, but got Unknown //IL_084a: Unknown result type (might be due to invalid IL or missing references) //IL_0855: Expected O, but got Unknown //IL_0875: Unknown result type (might be due to invalid IL or missing references) //IL_0880: Expected O, but got Unknown //IL_08a0: Unknown result type (might be due to invalid IL or missing references) //IL_08ab: Expected O, but got Unknown //IL_08c7: Unknown result type (might be due to invalid IL or missing references) //IL_08d2: Expected O, but got Unknown //IL_08ef: Unknown result type (might be due to invalid IL or missing references) //IL_08fa: Expected O, but got Unknown //IL_0917: Unknown result type (might be due to invalid IL or missing references) //IL_0922: Expected O, but got Unknown //IL_0950: Unknown result type (might be due to invalid IL or missing references) //IL_095b: Expected O, but got Unknown //IL_097e: Unknown result type (might be due to invalid IL or missing references) //IL_0989: Expected O, but got Unknown //IL_09ac: Unknown result type (might be due to invalid IL or missing references) //IL_09b7: Expected O, but got Unknown //IL_09d7: Unknown result type (might be due to invalid IL or missing references) //IL_09e2: Expected O, but got Unknown //IL_0a02: Unknown result type (might be due to invalid IL or missing references) //IL_0a0d: Expected O, but got Unknown //IL_0a2d: Unknown result type (might be due to invalid IL or missing references) //IL_0a38: Expected O, but got Unknown //IL_0a58: Unknown result type (might be due to invalid IL or missing references) //IL_0a63: Expected O, but got Unknown //IL_0a83: Unknown result type (might be due to invalid IL or missing references) //IL_0a8e: Expected O, but got Unknown //IL_0aaa: Unknown result type (might be due to invalid IL or missing references) //IL_0ab5: Expected O, but got Unknown //IL_0ad1: Unknown result type (might be due to invalid IL or missing references) //IL_0adc: Expected O, but got Unknown //IL_0af9: Unknown result type (might be due to invalid IL or missing references) //IL_0b04: Expected O, but got Unknown //IL_0b32: Unknown result type (might be due to invalid IL or missing references) //IL_0b3d: Expected O, but got Unknown //IL_0b60: Unknown result type (might be due to invalid IL or missing references) //IL_0b6b: Expected O, but got Unknown //IL_0b8e: Unknown result type (might be due to invalid IL or missing references) //IL_0b99: Expected O, but got Unknown //IL_0bb9: Unknown result type (might be due to invalid IL or missing references) //IL_0bc4: Expected O, but got Unknown //IL_0be4: Unknown result type (might be due to invalid IL or missing references) //IL_0bef: Expected O, but got Unknown //IL_0c0f: Unknown result type (might be due to invalid IL or missing references) //IL_0c1a: Expected O, but got Unknown //IL_0c3a: Unknown result type (might be due to invalid IL or missing references) //IL_0c45: Expected O, but got Unknown //IL_0c65: Unknown result type (might be due to invalid IL or missing references) //IL_0c70: Expected O, but got Unknown //IL_0c8c: Unknown result type (might be due to invalid IL or missing references) //IL_0c97: Expected O, but got Unknown //IL_0cb7: Unknown result type (might be due to invalid IL or missing references) //IL_0cc2: Expected O, but got Unknown //IL_0cdf: Unknown result type (might be due to invalid IL or missing references) //IL_0cea: Expected O, but got Unknown //IL_0d18: Unknown result type (might be due to invalid IL or missing references) //IL_0d23: Expected O, but got Unknown //IL_0d46: Unknown result type (might be due to invalid IL or missing references) //IL_0d51: Expected O, but got Unknown //IL_0d74: Unknown result type (might be due to invalid IL or missing references) //IL_0d7f: Expected O, but got Unknown //IL_0d9f: Unknown result type (might be due to invalid IL or missing references) //IL_0daa: Expected O, but got Unknown //IL_0dca: Unknown result type (might be due to invalid IL or missing references) //IL_0dd5: Expected O, but got Unknown //IL_0df5: Unknown result type (might be due to invalid IL or missing references) //IL_0e00: Expected O, but got Unknown //IL_0e20: Unknown result type (might be due to invalid IL or missing references) //IL_0e2b: Expected O, but got Unknown //IL_0e4b: Unknown result type (might be due to invalid IL or missing references) //IL_0e56: Expected O, but got Unknown //IL_0e72: Unknown result type (might be due to invalid IL or missing references) //IL_0e7d: Expected O, but got Unknown //IL_0e9a: Unknown result type (might be due to invalid IL or missing references) //IL_0ea5: Expected O, but got Unknown //IL_0ec2: Unknown result type (might be due to invalid IL or missing references) //IL_0ecd: Expected O, but got Unknown //IL_0efb: Unknown result type (might be due to invalid IL or missing references) //IL_0f06: Expected O, but got Unknown //IL_0f29: Unknown result type (might be due to invalid IL or missing references) //IL_0f34: Expected O, but got Unknown //IL_0f57: Unknown result type (might be due to invalid IL or missing references) //IL_0f62: Expected O, but got Unknown //IL_0f82: Unknown result type (might be due to invalid IL or missing references) //IL_0f8d: Expected O, but got Unknown //IL_0fad: Unknown result type (might be due to invalid IL or missing references) //IL_0fb8: Expected O, but got Unknown //IL_0fd8: Unknown result type (might be due to invalid IL or missing references) //IL_0fe3: Expected O, but got Unknown //IL_1003: Unknown result type (might be due to invalid IL or missing references) //IL_100e: Expected O, but got Unknown //IL_102e: Unknown result type (might be due to invalid IL or missing references) //IL_1039: Expected O, but got Unknown Localizer.Load(); ((BaseUnityPlugin)this).Config.SaveOnConfigSet = false; _serverConfigLocked = config("01- ServerSync", "Lock Configuration", Toggle.On, new ConfigDescription("If On, the configuration is locked and can be changed by server admins only.", (AcceptableValueBase)null, Array.Empty<object>())); _configSync.AddLockingConfigEntry<Toggle>(_serverConfigLocked); _enableReset = config("02- General", "Enable Mine Reset", Toggle.On, new ConfigDescription("If On, mines contents will be reset according to Reset Day value.", (AcceptableValueBase)null, Array.Empty<object>())); _resetDay = config("02- General", "Reset Day", 15, new ConfigDescription("How many in-game days needed to reset the content of the mine.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 500), Array.Empty<object>())); _oreSpawnChance = config("02- General", "Ore Veins Spawn Chance", 50f, new ConfigDescription("Percentage chance that the ore veins will spawn upon mine generation and reset.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(1f, 100f), Array.Empty<object>())); _consumableKeys = config("02- General", "Consumable Keys", Toggle.Off, new ConfigDescription("If On, keys are consumed when you open a mine.", (AcceptableValueBase)null, Array.Empty<object>())); _stackableKeys = config("02- General", "Stackable Keys", Toggle.Off, new ConfigDescription("If On, keys are stackable upto 10. (Requires a Logout)", (AcceptableValueBase)null, Array.Empty<object>())); _enableFlintMine = config("03- Flint Mine", "Enable", Toggle.On, new ConfigDescription("Enable/Disables flint mine from generating into the world.\nOnly applies at world generation.", (AcceptableValueBase)null, Array.Empty<object>())); _flintMineBiome = config<Biome>("03- Flint Mine", "Biome", (Biome)1, new ConfigDescription("Biome where to generate flint mines at world generation.\nOnly applies at world generation.", (AcceptableValueBase)null, Array.Empty<object>())); _flintMineCount = config("03- Flint Mine", "Max", 70, new ConfigDescription("Maximum amount of flint mine to generate into the world.\nOnly applies at world generation.", (AcceptableValueBase)null, Array.Empty<object>())); _flintDepositDropChance = config("03- Flint Mine", "Flint Deposit DropChance", 1f, new ConfigDescription("Flint drop chance percentage.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); _flintDepositDropMin = config("03- Flint Mine", "Flint Deposit DropMin", 6, new ConfigDescription("Minimum drops from flint deposits.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); _flintDepositDropMax = config("03- Flint Mine", "Flint Deposit DropMax", 8, new ConfigDescription("Maximum drops from flint deposits.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 15), Array.Empty<object>())); _flintMineSpawnAltitudeMin = config("03- Flint Mine", "Spawn Altitude Min", 0.5f, new ConfigDescription("Minimum altitude of the mine.", (AcceptableValueBase)null, Array.Empty<object>())); _flintMineSpawnAltitudeMax = config("03- Flint Mine", "Spawn Altitude Max", 150f, new ConfigDescription("Maximum altitude of the mine.", (AcceptableValueBase)null, Array.Empty<object>())); _flintMineSpawnDistanceMin = config("03- Flint Mine", "Spawn Distance Min", 400f, new ConfigDescription("Minimum range from the center of the map.", (AcceptableValueBase)null, Array.Empty<object>())); _flintMineSpawnDistanceMax = config("03- Flint Mine", "Spawn Distance Max", 10000f, new ConfigDescription("Maximum range from the center of the map.", (AcceptableValueBase)null, Array.Empty<object>())); _flintMineMinDistanceFromGroup = config("03- Flint Mine", "Minimum Distance From Group", 400f, new ConfigDescription("Mininum distance from other mines.", (AcceptableValueBase)null, Array.Empty<object>())); _enableCopperMine = config("04- Copper Mine", "Enable", Toggle.On, new ConfigDescription("Enable/Disables copper mine from generating into the world.\nOnly applies at world generation.", (AcceptableValueBase)null, Array.Empty<object>())); _copperMineBiome = config<Biome>("04- Copper Mine", "Biome", (Biome)8, new ConfigDescription("Biome where to generate copper mines at world generation.\nOnly applies at world generation.", (AcceptableValueBase)null, Array.Empty<object>())); _copperMineCount = config("04- Copper Mine", "Max", 70, new ConfigDescription("Maximum amount of copper mine to generate into the world.\nOnly applies at world generation.", (AcceptableValueBase)null, Array.Empty<object>())); _copperDepositDropChance = config("04- Copper Mine", "Copper Deposit DropChance", 1f, new ConfigDescription("Copper ore drop chance percentage.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); _copperDepositDropMin = config("04- Copper Mine", "Copper Deposit DropMin", 4, new ConfigDescription("Minimum drops from copper ore deposits.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); _copperDepositDropMax = config("04- Copper Mine", "Copper Deposit DropMax", 6, new ConfigDescription("Maximum drops from copper ore deposits.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 15), Array.Empty<object>())); _copperMineSpawnAltitudeMin = config("04- Copper Mine", "Spawn Altitude Min", 0.5f, new ConfigDescription("Minimum altitude of the mine.", (AcceptableValueBase)null, Array.Empty<object>())); _copperMineSpawnAltitudeMax = config("04- Copper Mine", "Spawn Altitude Max", 150f, new ConfigDescription("Maximum altitude of the mine.", (AcceptableValueBase)null, Array.Empty<object>())); _copperMineSpawnDistanceMin = config("04- Copper Mine", "Spawn Distance Min", 400f, new ConfigDescription("Minimum range from the center of the map.", (AcceptableValueBase)null, Array.Empty<object>())); _copperMineSpawnDistanceMax = config("04- Copper Mine", "Spawn Distance Max", 10000f, new ConfigDescription("Maximum range from the center of the map.", (AcceptableValueBase)null, Array.Empty<object>())); _copperMineMinDistanceFromGroup = config("04- Copper Mine", "Minimum Distance From Group", 400f, new ConfigDescription("Minimum distance from other mines.", (AcceptableValueBase)null, Array.Empty<object>())); _enableTinMine = config("05- Tin Mine", "Enable", Toggle.On, new ConfigDescription("Enable/Disables tin mine from generating into the world.\nOnly applies at world generation.", (AcceptableValueBase)null, Array.Empty<object>())); _tinMineBiome = config<Biome>("05- Tin Mine", "Biome", (Biome)8, new ConfigDescription("Biome where to generate tin mines at world generation.\nOnly applies at world generation.", (AcceptableValueBase)null, Array.Empty<object>())); _tinMineCount = config("05- Tin Mine", "Max", 70, new ConfigDescription("Maximum amount of tin mine to generate into the world.\nOnly applies at world generation.", (AcceptableValueBase)null, Array.Empty<object>())); _tinDepositDropChance = config("05- Tin Mine", "Tin Deposit DropChance", 1f, new ConfigDescription("Tin ore drop chance percentage.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); _tinDepositDropMin = config("05- Tin Mine", "Tin Deposit DropMin", 6, new ConfigDescription("Minimum drops from tin ore deposits.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); _tinDepositDropMax = config("05- Tin Mine", "TinMine DropMax", 8, new ConfigDescription("Maximum drops from tin deposits.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 15), Array.Empty<object>())); _tinMineSpawnAltitudeMin = config("05- Tin Mine", "Spawn Altitude Min", 0.5f, new ConfigDescription("Minimum altitude of the mine.", (AcceptableValueBase)null, Array.Empty<object>())); _tinMineSpawnAltitudeMax = config("05- Tin Mine", "Spawn Altitude Max", 150f, new ConfigDescription("Maximum altitude of the mine.", (AcceptableValueBase)null, Array.Empty<object>())); _tinMineSpawnDistanceMin = config("05- Tin Mine", "Spawn Distance Min", 400f, new ConfigDescription("Minimum range from the center of the map.", (AcceptableValueBase)null, Array.Empty<object>())); _tinMineSpawnDistanceMax = config("05- Tin Mine", "Spawn Distance Max", 10000f, new ConfigDescription("Maximum range from the center of the map.", (AcceptableValueBase)null, Array.Empty<object>())); _tinMinDistanceFromGroup = config("05- Tin Mine", "Minimum Distance From Group", 400f, new ConfigDescription("Minimum distance from other mines.", (AcceptableValueBase)null, Array.Empty<object>())); _enableCoalMine = config("07- Coal Mine", "Enable", Toggle.On, new ConfigDescription("Enable/Disables coal mine from generating into the world.\nOnly applies at world generation.", (AcceptableValueBase)null, Array.Empty<object>())); _coalMineBiome = config<Biome>("07- Coal Mine", "Biome", (Biome)6, new ConfigDescription("Biome where to generate coal mines at world generation.\nOnly applies at world generation.", (AcceptableValueBase)null, Array.Empty<object>())); _coalMineCount = config("07- Coal Mine", "Max", 70, new ConfigDescription("Maximum amount of coal mine to generate into the world.\nOnly applies at world generation.", (AcceptableValueBase)null, Array.Empty<object>())); _coalDepositDropChance = config("07- Coal Mine", "Coal Deposit DropChance", 1f, new ConfigDescription("Coal ore drop chance percentage.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); _coalDepositDropMin = config("07- Coal Mine", "Coal Deposit DropMin", 6, new ConfigDescription("Minimum drops from coal deposits.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); _coalDepositDropMax = config("07- Coal Mine", "Coal Deposit DropMax", 8, new ConfigDescription("Maximum drops from coal deposits.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 15), Array.Empty<object>())); _coalMineSpawnAltitudeMin = config("07- Coal Mine", "Spawn Altitude Min", 0.5f, new ConfigDescription("Minimum altitude of the mine.", (AcceptableValueBase)null, Array.Empty<object>())); _coalMineSpawnAltitudeMax = config("07- Coal Mine", "Spawn Altitude Max", 1000f, new ConfigDescription("Maximum altitude of the mine.", (AcceptableValueBase)null, Array.Empty<object>())); _coalMineSpawnDistanceMin = config("07- Coal Mine", "Spawn Distance Min", 400f, new ConfigDescription("Minimum range from the center of the map.", (AcceptableValueBase)null, Array.Empty<object>())); _coalMineSpawnDistanceMax = config("07- Coal Mine", "Spawn Distance Max", 10000f, new ConfigDescription("Maximum range from the center of the map.", (AcceptableValueBase)null, Array.Empty<object>())); _coalMineMinDistanceFromGroup = config("07- Coal Mine", "Minimum Distance From Group", 400f, new ConfigDescription("Minimum distance from other mines.", (AcceptableValueBase)null, Array.Empty<object>())); _enableIronMine = config("06- Iron Mine", "Enable", Toggle.On, new ConfigDescription("Enable/disables iron mine from generating into the world.\nOnly applies at world generation.", (AcceptableValueBase)null, Array.Empty<object>())); _ironMineBiome = config<Biome>("06- Iron Mine", "Biome", (Biome)18, new ConfigDescription("Biome where to generate iron mine at world generation.\nOnly applies at world generation.", (AcceptableValueBase)null, Array.Empty<object>())); _ironMineCount = config("06- Iron Mine", "Max", 70, new ConfigDescription("Maximum amount of iron mine to generate into the world.\nOnly applies at world generation.", (AcceptableValueBase)null, Array.Empty<object>())); _ironDepositDropChance = config("06- Iron Mine", "Iron Deposit DropChance", 1f, new ConfigDescription("Iron ore drop chance percentage.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); _ironDepositDropMin = config("06- Iron Mine", "Iron Deposit DropMin", 4, new ConfigDescription("Minimum drops from iron ore deposits.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 15), Array.Empty<object>())); _ironDepositDropMax = config("06- Iron Mine", "Iron Deposit DropMax", 6, new ConfigDescription("Maximum drops from iron ore deposits.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 15), Array.Empty<object>())); _ironMineSpawnAltitudeMin = config("06- Iron Mine", "Spawn Altitude Min", 0.5f, new ConfigDescription("Minimum altitude of the mine.", (AcceptableValueBase)null, Array.Empty<object>())); _ironMineSpawnAltitudeMax = config("06- Iron Mine", "Spawn Altitude Max", 150f, new ConfigDescription("Maximum altitude of the mine.", (AcceptableValueBase)null, Array.Empty<object>())); _ironMineSpawnDistanceMin = config("06- Iron Mine", "Spawn Distance Min", 400f, new ConfigDescription("Minimum range from the center of the map.", (AcceptableValueBase)null, Array.Empty<object>())); _ironMineSpawnDistanceMax = config("06- Iron Mine", "Spawn Distance Max", 10000f, new ConfigDescription("Maximum range from the center of the map.", (AcceptableValueBase)null, Array.Empty<object>())); _ironMineMinDistanceFromGroup = config("06- Iron Mine", "Minimum Distance From Group", 400f, new ConfigDescription("Minimum distance from other mines.", (AcceptableValueBase)null, Array.Empty<object>())); _enableSilverMine = config("08- Silver Mine", "Enable", Toggle.On, new ConfigDescription("Enable/Disables silver mine from generating into the world.\nOnly applies at world generation.", (AcceptableValueBase)null, Array.Empty<object>())); _silverMineBiome = config<Biome>("08- Silver Mine", "Biome", (Biome)4, new ConfigDescription("Biome where to generate silver mine at world generation.\nOnly applies at world generation.", (AcceptableValueBase)null, Array.Empty<object>())); _silverMineCount = config("08- Silver Mine", "Max", 70, new ConfigDescription("Maximum amount of silver mine to generate into the world.\nOnly applies at world generation.", (AcceptableValueBase)null, Array.Empty<object>())); _silverDepositDropChance = config("08- Silver Mine", "Silver Deposit DropChance", 1f, new ConfigDescription("Silver ore drop chance percentage.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); _silverDepositDropMin = config("08- Silver Mine", "Silver Deposit DropMin", 4, new ConfigDescription("Minimum drops from silver ore deposits.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); _silverDepositDropMax = config("08- Silver Mine", "Silver Deposit DropMax", 6, new ConfigDescription("Maximum drops from silver ore deposits.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 15), Array.Empty<object>())); _silverMineSpawnAltitudeMin = config("08- Silver Mine", "Spawn Altitude Min", 0.5f, new ConfigDescription("Minimum altitude of the mine.", (AcceptableValueBase)null, Array.Empty<object>())); _silverMineSpawnAltitudeMax = config("08- Silver Mine", "Spawn Altitude Max", 1000f, new ConfigDescription("Maximum altitude of the mine.", (AcceptableValueBase)null, Array.Empty<object>())); _silverMineSpawnDistanceMin = config("08- Silver Mine", "Spawn Distance Min", 300f, new ConfigDescription("Minimum range from the center of the map.", (AcceptableValueBase)null, Array.Empty<object>())); _silverMineSpawnDistanceMax = config("08- Silver Mine", "Spawn Distance Max", 10000f, new ConfigDescription("Maximum range from the center of the map.", (AcceptableValueBase)null, Array.Empty<object>())); _silverMineMinDistanceFromGroup = config("08- Silver Mine", "Minimum Distance From Group", 300f, new ConfigDescription("Minimum distance from other mines.", (AcceptableValueBase)null, Array.Empty<object>())); _enableBlackMetalMine = config("09- BlackMetal Mine", "Enable", Toggle.On, new ConfigDescription("Enable/Disables blackmetal mine from generating into the world.\nOnly applies at world generation.", (AcceptableValueBase)null, Array.Empty<object>())); _blackMetalMineBiome = config<Biome>("09- BlackMetal Mine", "Biome", (Biome)528, new ConfigDescription("Biome where to generate blackmetal mine at world generation.\nOnly applies at world generation.", (AcceptableValueBase)null, Array.Empty<object>())); _blackMetalMineCount = config("09- BlackMetal Mine", "Max", 70, new ConfigDescription("Maximum amount of blackmetal mine to generate into the world.\nOnly applies at world generation.", (AcceptableValueBase)null, Array.Empty<object>())); _blackMetalDepositDropChance = config("09- BlackMetal Mine", "BlackMetal Deposit DropChance", 1f, new ConfigDescription("Blackmetal scrap drop chance percentage.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); _blackMetalDepositDropMin = config("09- BlackMetal Mine", "BlackMetal Deposit DropMin", 4, new ConfigDescription("Minimum drops from blackmetal scrap deposits.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); _blackMetalDepositDropMax = config("09- BlackMetal Mine", "BlackMetal Deposit DropMax", 6, new ConfigDescription("Maximum drops from blackmetal scrap deposits.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 15), Array.Empty<object>())); _blackMetalMineSpawnAltitudeMin = config("09- BlackMetal Mine", "Spawn Altitude Min", 0.5f, new ConfigDescription("Minimum altitude of the mine.", (AcceptableValueBase)null, Array.Empty<object>())); _blackMetalMineSpawnAltitudeMax = config("09- BlackMetal Mine", "Spawn Altitude Max", 1000f, new ConfigDescription("Maximum altitude of the mine.", (AcceptableValueBase)null, Array.Empty<object>())); _blackMetalMineSpawnDistanceMin = config("09- BlackMetal Mine", "Spawn Distance Min", 400f, new ConfigDescription("Minimum range from the center of the map.", (AcceptableValueBase)null, Array.Empty<object>())); _blackMetalMineSpawnDistanceMax = config("09- BlackMetal Mine", "Spawn Distance Max", 10000f, new ConfigDescription("Maximum range from the center of the map.", (AcceptableValueBase)null, Array.Empty<object>())); _blackMetalMineMinDistanceFromGroup = config("09- BlackMetal Mine", "Minimum Distance From Group", 400f, new ConfigDescription("Minimum distance from other mines.", (AcceptableValueBase)null, Array.Empty<object>())); _enableFlametalMine = config("10- Flametal Mine", "Enable", Toggle.On, new ConfigDescription("Enable/Disables flametal mine from generating into the world.\nOnly applies at world generation.", (AcceptableValueBase)null, Array.Empty<object>())); _flametalMineBiome = config<Biome>("10- Flametal Mine", "Biome", (Biome)32, new ConfigDescription("Biome where to generate flametal mine at world generation.\nOnly applies at world generation.", (AcceptableValueBase)null, Array.Empty<object>())); _flametalMineCount = config("10- Flametal Mine", "Max", 70, new ConfigDescription("Maximum amount of flametal mine to generate into the world.\nOnly applies at world generation.", (AcceptableValueBase)null, Array.Empty<object>())); _flametalDepositDropChance = config("10- Flametal Mine", "Flametal Deposit DropChance", 1f, new ConfigDescription("Flametal ore drop chance percentage.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); _flametalDepositDropMin = config("10- Flametal Mine", "Flametal Deposit DropMin", 4, new ConfigDescription("Minimum drops from flametal ore deposits.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); _flametalDepositDropMax = config("10- Flametal Mine", "Flametal Deposit DropMax", 6, new ConfigDescription("Maximum drops from flametal ore deposits.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 15), Array.Empty<object>())); _flametalMineSpawnAltitudeMin = config("10- Flametal Mine", "Spawn Altitude Min", 0.5f, new ConfigDescription("Minimum altitude of the mine.", (AcceptableValueBase)null, Array.Empty<object>())); _flametalMineSpawnAltitudeMax = config("10- Flametal Mine", "Spawn Altitude Max", 150f, new ConfigDescription("Maximum altitude of the mine.", (AcceptableValueBase)null, Array.Empty<object>())); _flametalMineSpawnDistanceMin = config("10- Flametal Mine", "Spawn Distance Min", 300f, new ConfigDescription("Minimum range from the center of the map.", (AcceptableValueBase)null, Array.Empty<object>())); _flametalMineSpawnDistanceMax = config("10- Flametal Mine", "Spawn Distance Max", 10000f, new ConfigDescription("Maximum range from the center of the map.", (AcceptableValueBase)null, Array.Empty<object>())); _flametalMineMinDistanceFromGroup = config("10- Flametal Mine", "Minimum Distance From Group", 300f, new ConfigDescription("Minimum distance from other mines.", (AcceptableValueBase)null, Array.Empty<object>())); MineSetup.Init(); ((BaseUnityPlugin)this).Config.SaveOnConfigSet = true; ((BaseUnityPlugin)this).Config.Save(); Assembly executingAssembly = Assembly.GetExecutingAssembly(); _harmony.PatchAll(executingAssembly); } private void OnDestroy() { ((BaseUnityPlugin)this).Config.Save(); } } } namespace OreMines.Functions { public static class MineSetup { private static AssetBundle _mineBundle; private static GameObject _flintMine01; private static GameObject _flintMine02; private static GameObject _copperMine01; private static GameObject _copperMine02; private static GameObject _tinMine01; private static GameObject _tinMine02; private static GameObject _coalMine01; private static GameObject _coalMine02; private static GameObject _ironMine01; private static GameObject _ironMine02; private static GameObject _silverMine01; private static GameObject _silverMine02; private static GameObject _blackMetalMine01; private static GameObject _blackMetalMine02; private static GameObject _flametalMine01; private static GameObject _flametalMine02; public static void Init() { //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_0270: 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_027c: Unknown result type (might be due to invalid IL or missing references) //IL_0488: Unknown result type (might be due to invalid IL or missing references) //IL_048d: Unknown result type (might be due to invalid IL or missing references) //IL_0494: Unknown result type (might be due to invalid IL or missing references) //IL_0748: Unknown result type (might be due to invalid IL or missing references) //IL_074d: Unknown result type (might be due to invalid IL or missing references) //IL_0754: Unknown result type (might be due to invalid IL or missing references) //IL_09de: Unknown result type (might be due to invalid IL or missing references) //IL_09e3: Unknown result type (might be due to invalid IL or missing references) //IL_09ea: Unknown result type (might be due to invalid IL or missing references) //IL_0cc8: Unknown result type (might be due to invalid IL or missing references) //IL_0ccd: Unknown result type (might be due to invalid IL or missing references) //IL_0cd4: Unknown result type (might be due to invalid IL or missing references) //IL_0f88: Unknown result type (might be due to invalid IL or missing references) //IL_0f8d: Unknown result type (might be due to invalid IL or missing references) //IL_0f94: Unknown result type (might be due to invalid IL or missing references) //IL_121e: Unknown result type (might be due to invalid IL or missing references) //IL_1223: Unknown result type (might be due to invalid IL or missing references) //IL_122a: Unknown result type (might be due to invalid IL or missing references) //IL_155c: Unknown result type (might be due to invalid IL or missing references) //IL_1561: Unknown result type (might be due to invalid IL or missing references) //IL_1568: Unknown result type (might be due to invalid IL or missing references) //IL_1846: Unknown result type (might be due to invalid IL or missing references) //IL_184b: Unknown result type (might be due to invalid IL or missing references) //IL_1852: Unknown result type (might be due to invalid IL or missing references) //IL_1b84: Unknown result type (might be due to invalid IL or missing references) //IL_1b89: Unknown result type (might be due to invalid IL or missing references) //IL_1b90: Unknown result type (might be due to invalid IL or missing references) //IL_1e6e: Unknown result type (might be due to invalid IL or missing references) //IL_1e73: Unknown result type (might be due to invalid IL or missing references) //IL_1e7a: Unknown result type (might be due to invalid IL or missing references) //IL_2104: Unknown result type (might be due to invalid IL or missing references) //IL_2109: Unknown result type (might be due to invalid IL or missing references) //IL_2110: Unknown result type (might be due to invalid IL or missing references) //IL_23c4: Unknown result type (might be due to invalid IL or missing references) //IL_23c9: Unknown result type (might be due to invalid IL or missing references) //IL_23d0: Unknown result type (might be due to invalid IL or missing references) //IL_265a: Unknown result type (might be due to invalid IL or missing references) //IL_265f: Unknown result type (might be due to invalid IL or missing references) //IL_2666: Unknown result type (might be due to invalid IL or missing references) //IL_2944: Unknown result type (might be due to invalid IL or missing references) //IL_2949: Unknown result type (might be due to invalid IL or missing references) //IL_2950: Unknown result type (might be due to invalid IL or missing references) _mineBundle = Location.PrefabManager.RegisterAssetBundle("minebundle"); Location.ConfigurationEnabled = true; _flintMine01 = _mineBundle.LoadAsset<GameObject>("BOM_FlintMine01"); Location obj = new Location(_flintMine01) { CanSpawn = (Plugin._enableFlintMine.Value == Plugin.Toggle.On), ClearArea = true, Biome = Plugin._flintMineBiome.Value, SpawnArea = (BiomeArea)2, Count = Plugin._flintMineCount.Value, GroupName = "OreMines", MinimumDistanceFromGroup = Plugin._flintMineMinDistanceFromGroup.Value, Rotation = Rotation.Slope, HeightDelta = new LocationManager.Range(0f, 40f), ForestThreshold = new LocationManager.Range(0f, 1f), SpawnAltitude = new LocationManager.Range(Plugin._flintMineSpawnAltitudeMin.Value, Plugin._flintMineSpawnAltitudeMax.Value), SpawnDistance = new LocationManager.Range(Plugin._flintMineSpawnDistanceMin.Value, Plugin._flintMineSpawnDistanceMax.Value) }; ShaderReplacer.Replace(_flintMine01); obj.CreatureSpawner.Add("Spawner_Neck", "Neck"); obj.CreatureSpawner.Add("Spawner_Neck2", "Neck"); obj.CreatureSpawner.Add("Spawner_Neck3", "Neck"); obj.CreatureSpawner.Add("Spawner_Neck4", "Neck"); obj.CreatureSpawner.Add("Spawner_Neck5", "Neck"); obj.CreatureSpawner.Add("Spawner_Neck6", "Neck"); obj.CreatureSpawner.Add("Spawner_Neck7", "Neck"); obj.CreatureSpawner.Add("Spawner_Neck8", "Neck"); obj.CreatureSpawner.Add("Spawner_Neck9", "Neck"); obj.CreatureSpawner.Add("Spawner_Neck10", "Neck"); obj.CreatureSpawner.Add("ExteriorSpawner_Neck", "Neck"); obj.CreatureSpawner.Add("ExteriorSpawner_Neck (1)", "Neck"); obj.CreatureSpawner.Add("ExteriorSpawner_Neck (2)", "Neck"); obj.CreatureSpawner.Add("ExteriorSpawner_Neck (3)", "Neck"); _flintMine02 = _mineBundle.LoadAsset<GameObject>("BOM_FlintMine02"); Location obj2 = new Location(_flintMine02) { CanSpawn = (Plugin._enableFlintMine.Value == Plugin.Toggle.On), ClearArea = true, Biome = Plugin._flintMineBiome.Value, SpawnArea = (BiomeArea)1, Count = Plugin._flintMineCount.Value, GroupName = "OreMines", MinimumDistanceFromGroup = Plugin._flintMineMinDistanceFromGroup.Value, Rotation = Rotation.Slope, HeightDelta = new LocationManager.Range(0f, 40f), ForestThreshold = new LocationManager.Range(0f, 1f), SpawnAltitude = new LocationManager.Range(Plugin._flintMineSpawnAltitudeMin.Value, Plugin._flintMineSpawnAltitudeMax.Value), SpawnDistance = new LocationManager.Range(Plugin._flintMineSpawnDistanceMin.Value, Plugin._flintMineSpawnDistanceMax.Value) }; ShaderReplacer.Replace(_flintMine02); obj2.CreatureSpawner.Add("Spawner_Neck", "Neck"); obj2.CreatureSpawner.Add("Spawner_Neck2", "Neck"); obj2.CreatureSpawner.Add("Spawner_Neck3", "Neck"); obj2.CreatureSpawner.Add("Spawner_Neck4", "Neck"); obj2.CreatureSpawner.Add("Spawner_Neck5", "Neck"); obj2.CreatureSpawner.Add("Spawner_Neck6", "Neck"); obj2.CreatureSpawner.Add("Spawner_Neck7", "Neck"); obj2.CreatureSpawner.Add("Spawner_Neck8", "Neck"); obj2.CreatureSpawner.Add("Spawner_Neck9", "Neck"); obj2.CreatureSpawner.Add("Spawner_Neck10", "Neck"); obj2.CreatureSpawner.Add("ExteriorSpawner_Boar", "Boar"); obj2.CreatureSpawner.Add("ExteriorSpawner_Boar (1)", "Boar"); obj2.CreatureSpawner.Add("ExteriorSpawner_Boar (2)", "Boar"); obj2.CreatureSpawner.Add("ExteriorSpawner_Boar (3)", "Boar"); _copperMine01 = _mineBundle.LoadAsset<GameObject>("BOM_CopperMine01"); Location obj3 = new Location(_copperMine01) { CanSpawn = (Plugin._enableCopperMine.Value == Plugin.Toggle.On), ClearArea = true, Biome = Plugin._copperMineBiome.Value, SpawnArea = (BiomeArea)2, Count = Plugin._copperMineCount.Value, GroupName = "OreMines", MinimumDistanceFromGroup = Plugin._copperMineMinDistanceFromGroup.Value, Rotation = Rotation.Slope, HeightDelta = new LocationManager.Range(0f, 40f), ForestThreshold = new LocationManager.Range(0f, 3f), SpawnAltitude = new LocationManager.Range(Plugin._copperMineSpawnAltitudeMin.Value, Plugin._copperMineSpawnAltitudeMax.Value), SpawnDistance = new LocationManager.Range(Plugin._copperMineSpawnDistanceMin.Value, Plugin._copperMineSpawnDistanceMax.Value) }; ShaderReplacer.Replace(_copperMine01); obj3.CreatureSpawner.Add("Spawner_Skeleton", "Skeleton"); obj3.CreatureSpawner.Add("Spawner_Skeleton2", "Skeleton"); obj3.CreatureSpawner.Add("Spawner_Skeleton3", "Skeleton"); obj3.CreatureSpawner.Add("Spawner_Skeleton4", "Skeleton"); obj3.CreatureSpawner.Add("Spawner_Skeleton5", "Skeleton"); obj3.CreatureSpawner.Add("Spawner_Skeleton6", "Skeleton"); obj3.CreatureSpawner.Add("Spawner_Skeleton7", "Skeleton"); obj3.CreatureSpawner.Add("Spawner_Skeleton8", "Skeleton"); obj3.CreatureSpawner.Add("Spawner_Skeleton9", "Skeleton"); obj3.CreatureSpawner.Add("Spawner_Skeleton10", "Skeleton"); obj3.CreatureSpawner.Add("Spawner_Skeleton11", "Skeleton"); obj3.CreatureSpawner.Add("Spawner_Skeleton12", "Skeleton"); obj3.CreatureSpawner.Add("Spawner_Skeleton13", "Skeleton"); obj3.CreatureSpawner.Add("Spawner_Skeleton14", "Skeleton"); obj3.CreatureSpawner.Add("Spawner_Skeleton15", "Skeleton"); obj3.CreatureSpawner.Add("Spawner_Skeleton16", "Skeleton"); obj3.CreatureSpawner.Add("Spawner_Skeleton17", "Skeleton"); obj3.CreatureSpawner.Add("Spawner_Skeleton18", "Skeleton"); obj3.CreatureSpawner.Add("ExteriorSpawner_Skeleton", "Skeleton"); obj3.CreatureSpawner.Add("ExteriorSpawner_Skeleton (1)", "Skeleton"); obj3.CreatureSpawner.Add("ExteriorSpawner_Skeleton (2)", "Skeleton"); obj3.CreatureSpawner.Add("ExteriorSpawner_Skeleton (3)", "Skeleton"); _copperMine02 = _mineBundle.LoadAsset<GameObject>("BOM_CopperMine02"); Location obj4 = new Location(_copperMine02) { CanSpawn = (Plugin._enableCopperMine.Value == Plugin.Toggle.On), ClearArea = true, Biome = Plugin._copperMineBiome.Value, SpawnArea = (BiomeArea)1, Count = Plugin._copperMineCount.Value, GroupName = "OreMines", MinimumDistanceFromGroup = Plugin._copperMineMinDistanceFromGroup.Value, Rotation = Rotation.Slope, HeightDelta = new LocationManager.Range(0f, 40f), ForestThreshold = new LocationManager.Range(0f, 3f), SpawnAltitude = new LocationManager.Range(Plugin._copperMineSpawnAltitudeMin.Value, Plugin._copperMineSpawnAltitudeMax.Value), SpawnDistance = new LocationManager.Range(Plugin._copperMineSpawnDistanceMin.Value, Plugin._copperMineSpawnDistanceMax.Value) }; ShaderReplacer.Replace(_copperMine02); obj4.CreatureSpawner.Add("Spawner_Skeleton", "Skeleton"); obj4.CreatureSpawner.Add("Spawner_Skeleton2", "Skeleton"); obj4.CreatureSpawner.Add("Spawner_Skeleton3", "Skeleton"); obj4.CreatureSpawner.Add("Spawner_Skeleton4", "Skeleton"); obj4.CreatureSpawner.Add("Spawner_Skeleton5", "Skeleton"); obj4.CreatureSpawner.Add("Spawner_Skeleton6", "Skeleton"); obj4.CreatureSpawner.Add("Spawner_Skeleton7", "Skeleton"); obj4.CreatureSpawner.Add("Spawner_Skeleton8", "Skeleton"); obj4.CreatureSpawner.Add("Spawner_Skeleton9", "Skeleton"); obj4.CreatureSpawner.Add("Spawner_Skeleton10", "Skeleton"); obj4.CreatureSpawner.Add("Spawner_Skeleton11", "Skeleton"); obj4.CreatureSpawner.Add("Spawner_Skeleton12", "Skeleton"); obj4.CreatureSpawner.Add("Spawner_Skeleton13", "Skeleton"); obj4.CreatureSpawner.Add("Spawner_Skeleton14", "Skeleton"); obj4.CreatureSpawner.Add("Spawner_Skeleton15", "Skeleton"); obj4.CreatureSpawner.Add("Spawner_Skeleton16", "Skeleton"); obj4.CreatureSpawner.Add("ExteriorSpawner_Skeleton", "Skeleton"); obj4.CreatureSpawner.Add("ExteriorSpawner_Skeleton (1)", "Skeleton"); obj4.CreatureSpawner.Add("ExteriorSpawner_Skeleton (2)", "Skeleton"); obj4.CreatureSpawner.Add("ExteriorSpawner_Skeleton (3)", "Skeleton"); _tinMine01 = _mineBundle.LoadAsset<GameObject>("BOM_TinMine01"); Location obj5 = new Location(_tinMine01) { CanSpawn = (Plugin._enableTinMine.Value == Plugin.Toggle.On), ClearArea = true, Biome = Plugin._tinMineBiome.Value, SpawnArea = (BiomeArea)2, Count = Plugin._tinMineCount.Value, GroupName = "OreMines", MinimumDistanceFromGroup = Plugin._tinMinDistanceFromGroup.Value, Rotation = Rotation.Slope, HeightDelta = new LocationManager.Range(0f, 40f), ForestThreshold = new LocationManager.Range(0f, 3f), SpawnAltitude = new LocationManager.Range(Plugin._tinMineSpawnAltitudeMin.Value, Plugin._tinMineSpawnAltitudeMax.Value), SpawnDistance = new LocationManager.Range(Plugin._tinMineSpawnDistanceMin.Value, Plugin._tinMineSpawnDistanceMax.Value) }; ShaderReplacer.Replace(_tinMine01); obj5.CreatureSpawner.Add("Spawner_Skeleton", "Skeleton"); obj5.CreatureSpawner.Add("Spawner_Skeleton2", "Skeleton"); obj5.CreatureSpawner.Add("Spawner_Skeleton3", "Skeleton"); obj5.CreatureSpawner.Add("Spawner_Skeleton4", "Skeleton"); obj5.CreatureSpawner.Add("Spawner_Skeleton5", "Skeleton"); obj5.CreatureSpawner.Add("Spawner_Skeleton6", "Skeleton"); obj5.CreatureSpawner.Add("Spawner_Skeleton7", "Skeleton"); obj5.CreatureSpawner.Add("Spawner_Skeleton8", "Skeleton"); obj5.CreatureSpawner.Add("Spawner_Skeleton9", "Skeleton"); obj5.CreatureSpawner.Add("Spawner_Skeleton10", "Skeleton"); obj5.CreatureSpawner.Add("Spawner_Skeleton11", "Skeleton"); obj5.CreatureSpawner.Add("Spawner_Skeleton12", "Skeleton"); obj5.CreatureSpawner.Add("Spawner_Skeleton13", "Skeleton"); obj5.CreatureSpawner.Add("Spawner_Skeleton14", "Skeleton"); obj5.CreatureSpawner.Add("Spawner_Skeleton15", "Skeleton"); obj5.CreatureSpawner.Add("Spawner_Skeleton16", "Skeleton"); obj5.CreatureSpawner.Add("Spawner_Skeleton17", "Skeleton"); obj5.CreatureSpawner.Add("Spawner_Skeleton18", "Skeleton"); obj5.CreatureSpawner.Add("Spawner_Skeleton19", "Skeleton"); obj5.CreatureSpawner.Add("Spawner_Skeleton20", "Skeleton"); obj5.CreatureSpawner.Add("ExteriorSpawner_Greydwarf", "Greydwarf"); obj5.CreatureSpawner.Add("ExteriorSpawner_Greydwarf (1)", "Greydwarf"); obj5.CreatureSpawner.Add("ExteriorSpawner_Greydwarf (2)", "Greydwarf"); obj5.CreatureSpawner.Add("ExteriorSpawner_GreydwarfElite(3)", "Greydwarf_Elite"); _tinMine02 = _mineBundle.LoadAsset<GameObject>("BOM_TinMine02"); Location obj6 = new Location(_tinMine02) { CanSpawn = (Plugin._enableTinMine.Value == Plugin.Toggle.On), ClearArea = true, Biome = Plugin._tinMineBiome.Value, SpawnArea = (BiomeArea)1, Count = Plugin._tinMineCount.Value, GroupName = "OreMines", MinimumDistanceFromGroup = Plugin._tinMinDistanceFromGroup.Value, Rotation = Rotation.Slope, HeightDelta = new LocationManager.Range(0f, 40f), ForestThreshold = new LocationManager.Range(0f, 3f), SpawnAltitude = new LocationManager.Range(Plugin._tinMineSpawnAltitudeMin.Value, Plugin._tinMineSpawnAltitudeMax.Value), SpawnDistance = new LocationManager.Range(Plugin._tinMineSpawnDistanceMin.Value, Plugin._tinMineSpawnDistanceMax.Value) }; ShaderReplacer.Replace(_tinMine02); obj6.CreatureSpawner.Add("Spawner_Skeleton", "Skeleton"); obj6.CreatureSpawner.Add("Spawner_Skeleton2", "Skeleton"); obj6.CreatureSpawner.Add("Spawner_Skeleton3", "Skeleton"); obj6.CreatureSpawner.Add("Spawner_Skeleton4", "Skeleton"); obj6.CreatureSpawner.Add("Spawner_Skeleton5", "Skeleton"); obj6.CreatureSpawner.Add("Spawner_Skeleton6", "Skeleton"); obj6.CreatureSpawner.Add("Spawner_Skeleton7", "Skeleton"); obj6.CreatureSpawner.Add("Spawner_Skeleton8", "Skeleton"); obj6.CreatureSpawner.Add("Spawner_Skeleton9", "Skeleton"); obj6.CreatureSpawner.Add("Spawner_Skeleton10", "Skeleton"); obj6.CreatureSpawner.Add("Spawner_Skeleton11", "Skeleton"); obj6.CreatureSpawner.Add("Spawner_Skeleton12", "Skeleton"); obj6.CreatureSpawner.Add("Spawner_Skeleton13", "Skeleton"); obj6.CreatureSpawner.Add("Spawner_Skeleton14", "Skeleton"); obj6.CreatureSpawner.Add("Spawner_Skeleton15", "Skeleton"); obj6.CreatureSpawner.Add("Spawner_Skeleton16", "Skeleton"); obj6.CreatureSpawner.Add("Spawner_Skeleton17", "Skeleton"); obj6.CreatureSpawner.Add("Spawner_Skeleton18", "Skeleton"); obj6.CreatureSpawner.Add("ExteriorSpawner_Greydwarf", "Greydwarf"); obj6.CreatureSpawner.Add("ExteriorSpawner_Greydwarf (1)", "Greydwarf"); obj6.CreatureSpawner.Add("ExteriorSpawner_Greydwarf (2)", "Greydwarf"); obj6.CreatureSpawner.Add("ExteriorSpawner_GreydwarfShaman (3)", "Greydwarf_Shaman"); _coalMine01 = _mineBundle.LoadAsset<GameObject>("BOM_CoalMine01"); Location obj7 = new Location(_coalMine01) { CanSpawn = (Plugin._enableCoalMine.Value == Plugin.Toggle.On), ClearArea = true, Biome = Plugin._coalMineBiome.Value, SpawnArea = (BiomeArea)2, Count = Plugin._coalMineCount.Value, GroupName = "OreMines", MinimumDistanceFromGroup = Plugin._coalMineMinDistanceFromGroup.Value, Rotation = Rotation.Slope, HeightDelta = new LocationManager.Range(0f, 40f), ForestThreshold = new LocationManager.Range(0f, 3f), SpawnAltitude = new LocationManager.Range(Plugin._coalMineSpawnAltitudeMin.Value, Plugin._coalMineSpawnAltitudeMax.Value), SpawnDistance = new LocationManager.Range(Plugin._coalMineSpawnDistanceMin.Value, Plugin._coalMineSpawnDistanceMax.Value) }; ShaderReplacer.Replace(_coalMine01); obj7.CreatureSpawner.Add("Spawner_Skeleton", "Skeleton"); obj7.CreatureSpawner.Add("Spawner_Skeleton2", "Skeleton"); obj7.CreatureSpawner.Add("Spawner_Skeleton3", "Skeleton"); obj7.CreatureSpawner.Add("Spawner_Skeleton4", "Skeleton"); obj7.CreatureSpawner.Add("Spawner_Skeleton5", "Skeleton"); obj7.CreatureSpawner.Add("Spawner_Skeleton6", "Skeleton"); obj7.CreatureSpawner.Add("Spawner_Skeleton7", "Skeleton"); obj7.CreatureSpawner.Add("Spawner_Skeleton8", "Skeleton"); obj7.CreatureSpawner.Add("Spawner_Skeleton9", "Skeleton"); obj7.CreatureSpawner.Add("Spawner_Skeleton10", "Skeleton"); obj7.CreatureSpawner.Add("Spawner_Skeleton11", "Skeleton"); obj7.CreatureSpawner.Add("Spawner_Skeleton12", "Skeleton"); obj7.CreatureSpawner.Add("Spawner_Skeleton13", "Skeleton"); obj7.CreatureSpawner.Add("Spawner_Skeleton14", "Skeleton"); obj7.CreatureSpawner.Add("Spawner_Skeleton15", "Skeleton"); obj7.CreatureSpawner.Add("Spawner_Skeleton16", "Skeleton"); obj7.CreatureSpawner.Add("ExteriorSpawner_Skeleton", "Skeleton"); obj7.CreatureSpawner.Add("ExteriorSpawner_Skeleton (1)", "Skeleton"); obj7.CreatureSpawner.Add("ExteriorSpawner_Skeleton (2)", "Skeleton"); obj7.CreatureSpawner.Add("ExteriorSpawner_Skeleton (3)", "Skeleton"); _coalMine02 = _mineBundle.LoadAsset<GameObject>("BOM_CoalMine02"); Location obj8 = new Location(_coalMine02) { CanSpawn = (Plugin._enableCoalMine.Value == Plugin.Toggle.On), ClearArea = true, Biome = Plugin._coalMineBiome.Value, SpawnArea = (BiomeArea)1, Count = Plugin._coalMineCount.Value, GroupName = "OreMines", MinimumDistanceFromGroup = Plugin._coalMineMinDistanceFromGroup.Value, Rotation = Rotation.Slope, HeightDelta = new LocationManager.Range(0f, 40f), ForestThreshold = new LocationManager.Range(0f, 3f), SpawnAltitude = new LocationManager.Range(Plugin._coalMineSpawnAltitudeMin.Value, Plugin._coalMineSpawnAltitudeMax.Value), SpawnDistance = new LocationManager.Range(Plugin._coalMineSpawnDistanceMin.Value, Plugin._coalMineSpawnDistanceMax.Value) }; ShaderReplacer.Replace(_coalMine02); obj8.CreatureSpawner.Add("Spawner_Skeleton", "Skeleton"); obj8.CreatureSpawner.Add("Spawner_Skeleton2", "Skeleton"); obj8.CreatureSpawner.Add("Spawner_Skeleton3", "Skeleton"); obj8.CreatureSpawner.Add("Spawner_Skeleton4", "Skeleton"); obj8.CreatureSpawner.Add("Spawner_Skeleton5", "Skeleton"); obj8.CreatureSpawner.Add("Spawner_Skeleton6", "Skeleton"); obj8.CreatureSpawner.Add("Spawner_Skeleton7", "Skeleton"); obj8.CreatureSpawner.Add("Spawner_Skeleton8", "Skeleton"); obj8.CreatureSpawner.Add("Spawner_Skeleton9", "Skeleton"); obj8.CreatureSpawner.Add("Spawner_Skeleton10", "Skeleton"); obj8.CreatureSpawner.Add("Spawner_Skeleton11", "Skeleton"); obj8.CreatureSpawner.Add("Spawner_Skeleton12", "Skeleton"); obj8.CreatureSpawner.Add("Spawner_Skeleton13", "Skeleton"); obj8.CreatureSpawner.Add("Spawner_Skeleton14", "Skeleton"); obj8.CreatureSpawner.Add("Spawner_Skeleton15", "Skeleton"); obj8.CreatureSpawner.Add("Spawner_Skeleton16", "Skeleton"); obj8.CreatureSpawner.Add("Spawner_Skeleton17", "Skeleton"); obj8.CreatureSpawner.Add("Spawner_Skeleton18", "Skeleton"); obj8.CreatureSpawner.Add("Spawner_Skeleton19", "Skeleton"); obj8.CreatureSpawner.Add("Spawner_Skeleton20", "Skeleton"); obj8.CreatureSpawner.Add("Spawner_Skeleton21", "Skeleton"); obj8.CreatureSpawner.Add("Spawner_Skeleton22", "Skeleton"); obj8.CreatureSpawner.Add("Spawner_Skeleton23", "Skeleton"); obj8.CreatureSpawner.Add("Spawner_Skeleton24", "Skeleton"); obj8.CreatureSpawner.Add("ExteriorSpawner_Skeleton", "Skeleton"); obj8.CreatureSpawner.Add("ExteriorSpawner_Skeleton (1)", "Skeleton"); obj8.CreatureSpawner.Add("ExteriorSpawner_Skeleton (2)", "Skeleton"); obj8.CreatureSpawner.Add("ExteriorSpawner_Skeleton (3)", "Skeleton"); _ironMine01 = _mineBundle.LoadAsset<GameObject>("BOM_IronMine01"); Location obj9 = new Location(_ironMine01) { CanSpawn = (Plugin._enableIronMine.Value == Plugin.Toggle.On), ClearArea = true, Biome = Plugin._ironMineBiome.Value, SpawnArea = (BiomeArea)2, Count = Plugin._ironMineCount.Value, GroupName = "OreMines", MinimumDistanceFromGroup = Plugin._ironMineMinDistanceFromGroup.Value, Rotation = Rotation.Slope, HeightDelta = new LocationManager.Range(0f, 40f), ForestThreshold = new LocationManager.Range(0f, 3f), SpawnAltitude = new LocationManager.Range(Plugin._ironMineSpawnAltitudeMin.Value, Plugin._ironMineSpawnAltitudeMax.Value), SpawnDistance = new LocationManager.Range(Plugin._ironMineSpawnDistanceMin.Value, Plugin._ironMineSpawnDistanceMax.Value) }; ShaderReplacer.Replace(_ironMine01); obj9.CreatureSpawner.Add("Spawner_Draugr", "Draugr"); obj9.CreatureSpawner.Add("Spawner_Draugr2", "Draugr"); obj9.CreatureSpawner.Add("Spawner_Draugr3", "Draugr"); obj9.CreatureSpawner.Add("Spawner_Draugr4", "Draugr"); obj9.CreatureSpawner.Add("Spawner_Draugr5", "Draugr"); obj9.CreatureSpawner.Add("Spawner_Draugr6", "Draugr"); obj9.CreatureSpawner.Add("Spawner_Draugr7", "Draugr"); obj9.CreatureSpawner.Add("Spawner_Draugr8", "Draugr"); obj9.CreatureSpawner.Add("Spawner_Draugr9", "Draugr"); obj9.CreatureSpawner.Add("Spawner_Draugr10", "Draugr"); obj9.CreatureSpawner.Add("Spawner_Draugr11", "Draugr"); obj9.CreatureSpawner.Add("Spawner_Draugr12", "Draugr"); obj9.CreatureSpawner.Add("Spawner_Draugr13", "Draugr"); obj9.CreatureSpawner.Add("Spawner_Draugr14", "Draugr"); obj9.CreatureSpawner.Add("Spawner_Draugr15", "Draugr"); obj9.CreatureSpawner.Add("Spawner_Draugr16", "Draugr"); obj9.CreatureSpawner.Add("Spawner_Draugr17", "Draugr"); obj9.CreatureSpawner.Add("Spawner_Draugr18", "Draugr"); obj9.CreatureSpawner.Add("Spawner_Draugr19", "Draugr"); obj9.CreatureSpawner.Add("Spawner_Draugr20", "Draugr"); obj9.CreatureSpawner.Add("ExteriorSpawner_Draugr", "Draugr"); obj9.CreatureSpawner.Add("ExteriorSpawner_Draugr (1)", "Draugr"); obj9.CreatureSpawner.Add("ExteriorSpawner_Draugr (2)", "Draugr"); obj9.CreatureSpawner.Add("ExteriorSpawner_Draugr (3)", "Draugr"); _ironMine02 = _mineBundle.LoadAsset<GameObject>("BOM_IronMine02"); Location obj10 = new Location(_ironMine02) { CanSpawn = (Plugin._enableIronMine.Value == Plugin.Toggle.On), ClearArea = true, Biome = Plugin._ironMineBiome.Value, SpawnArea = (BiomeArea)1, Count = Plugin._ironMineCount.Value, GroupName = "OreMines", MinimumDistanceFromGroup = Plugin._ironMineMinDistanceFromGroup.Value, Rotation = Rotation.Slope, HeightDelta = new LocationManager.Range(0f, 40f), ForestThreshold = new LocationManager.Range(0f, 3f), SpawnAltitude = new LocationManager.Range(Plugin._ironMineSpawnAltitudeMin.Value, Plugin._ironMineSpawnAltitudeMax.Value), SpawnDistance = new LocationManager.Range(Plugin._ironMineSpawnDistanceMin.Value, Plugin._ironMineSpawnDistanceMax.Value) }; ShaderReplacer.Replace(_ironMine02); obj10.CreatureSpawner.Add("Spawner_Draugr", "Draugr"); obj10.CreatureSpawner.Add("Spawner_Draugr2", "Draugr"); obj10.CreatureSpawner.Add("Spawner_Draugr3", "Draugr"); obj10.CreatureSpawner.Add("Spawner_Draugr4", "Draugr"); obj10.CreatureSpawner.Add("Spawner_Draugr5", "Draugr"); obj10.CreatureSpawner.Add("Spawner_Draugr6", "Draugr"); obj10.CreatureSpawner.Add("Spawner_Draugr7", "Draugr"); obj10.CreatureSpawner.Add("Spawner_Draugr8", "Draugr"); obj10.CreatureSpawner.Add("Spawner_Draugr9", "Draugr"); obj10.CreatureSpawner.Add("Spawner_Draugr10", "Draugr"); obj10.CreatureSpawner.Add("Spawner_Draugr11", "Draugr"); obj10.CreatureSpawner.Add("Spawner_Draugr12", "Draugr"); obj10.CreatureSpawner.Add("Spawner_Draugr13", "Draugr"); obj10.CreatureSpawner.Add("Spawner_Draugr14", "Draugr"); obj10.CreatureSpawner.Add("Spawner_Draugr15", "Draugr"); obj10.CreatureSpawner.Add("Spawner_Draugr16", "Draugr"); obj10.CreatureSpawner.Add("Spawner_Draugr17", "Draugr"); obj10.CreatureSpawner.Add("Spawner_Draugr18", "Draugr"); obj10.CreatureSpawner.Add("Spawner_Draugr19", "Draugr"); obj10.CreatureSpawner.Add("Spawner_Draugr20", "Draugr"); obj10.CreatureSpawner.Add("Spawner_Draugr21", "Draugr"); obj10.CreatureSpawner.Add("Spawner_Draugr22", "Draugr"); obj10.CreatureSpawner.Add("Spawner_Draugr23", "Draugr"); obj10.CreatureSpawner.Add("Spawner_Draugr24", "Draugr"); obj10.CreatureSpawner.Add("ExteriorSpawner_Draugr", "Draugr"); obj10.CreatureSpawner.Add("ExteriorSpawner_Draugr (1)", "Draugr"); obj10.CreatureSpawner.Add("ExteriorSpawner_Draugr (2)", "Draugr"); obj10.CreatureSpawner.Add("ExteriorSpawner_Draugr (3)", "Draugr"); _silverMine01 = _mineBundle.LoadAsset<GameObject>("BOM_SilverMine01"); Location obj11 = new Location(_silverMine01) { CanSpawn = (Plugin._enableSilverMine.Value == Plugin.Toggle.On), ClearArea = true, Biome = Plugin._silverMineBiome.Value, SpawnArea = (BiomeArea)3, Count = Plugin._silverMineCount.Value, GroupName = "OreMines", MinimumDistanceFromGroup = Plugin._silverMineMinDistanceFromGroup.Value, Rotation = Rotation.Slope, HeightDelta = new LocationManager.Range(0f, 40f), ForestThreshold = new LocationManager.Range(0f, 1f), SpawnAltitude = new LocationManager.Range(Plugin._silverMineSpawnAltitudeMin.Value, Plugin._silverMineSpawnAltitudeMax.Value), SpawnDistance = new LocationManager.Range(Plugin._silverMineSpawnDistanceMin.Value, Plugin._silverMineSpawnDistanceMax.Value) }; ShaderReplacer.Replace(_silverMine01); obj11.CreatureSpawner.Add("Spawner_Fenring", "Fenring"); obj11.CreatureSpawner.Add("Spawner_Fenring2", "Fenring"); obj11.CreatureSpawner.Add("Spawner_Fenring3", "Fenring"); obj11.CreatureSpawner.Add("Spawner_Fenring4", "Fenring"); obj11.CreatureSpawner.Add("Spawner_Fenring5", "Fenring"); obj11.CreatureSpawner.Add("Spawner_Fenring6", "Fenring"); obj11.CreatureSpawner.Add("Spawner_Fenring7", "Fenring"); obj11.CreatureSpawner.Add("Spawner_Fenring8", "Fenring"); obj11.CreatureSpawner.Add("Spawner_Fenring9", "Fenring"); obj11.CreatureSpawner.Add("Spawner_Fenring10", "Fenring"); obj11.CreatureSpawner.Add("Spawner_Fenring11", "Fenring"); obj11.CreatureSpawner.Add("Spawner_Fenring12", "Fenring"); obj11.CreatureSpawner.Add("Spawner_Fenring13", "Fenring"); obj11.CreatureSpawner.Add("Spawner_Fenring14", "Fenring"); obj11.CreatureSpawner.Add("Spawner_Fenring15", "Fenring"); obj11.CreatureSpawner.Add("Spawner_Fenring16", "Fenring"); obj11.CreatureSpawner.Add("Spawner_Fenring17", "Fenring"); obj11.CreatureSpawner.Add("Spawner_Fenring18", "Fenring"); obj11.CreatureSpawner.Add("Spawner_Fenring19", "Fenring"); obj11.CreatureSpawner.Add("Spawner_Fenring20", "Fenring"); obj11.CreatureSpawner.Add("ExteriorSpawner_Wolf", "Wolf"); obj11.CreatureSpawner.Add("ExteriorSpawner_Wolf (1)", "Wolf"); obj11.CreatureSpawner.Add("ExteriorSpawner_Wolf (2)", "Wolf"); obj11.CreatureSpawner.Add("ExteriorSpawner_Wolf (3)", "Wolf"); _silverMine02 = _mineBundle.LoadAsset<GameObject>("BOM_SilverMine02"); Location obj12 = new Location(_silverMine02) { CanSpawn = (Plugin._enableSilverMine.Value == Plugin.Toggle.On), ClearArea = true, Biome = Plugin._silverMineBiome.Value, SpawnArea = (BiomeArea)3, Count = Plugin._silverMineCount.Value, GroupName = "OreMines", MinimumDistanceFromGroup = Plugin._silverMineMinDistanceFromGroup.Value, Rotation = Rotation.Slope, HeightDelta = new LocationManager.Range(0f, 40f), ForestThreshold = new LocationManager.Range(0f, 1f), SpawnAltitude = new LocationManager.Range(Plugin._silverMineSpawnAltitudeMin.Value, Plugin._silverMineSpawnAltitudeMax.Value), SpawnDistance = new LocationManager.Range(Plugin._silverMineSpawnDistanceMin.Value, Plugin._silverMineSpawnDistanceMax.Value) }; ShaderReplacer.Replace(_silverMine02); obj12.CreatureSpawner.Add("Spawner_Fenring", "Fenring"); obj12.CreatureSpawner.Add("Spawner_Fenring2", "Fenring"); obj12.CreatureSpawner.Add("Spawner_Fenring3", "Fenring"); obj12.CreatureSpawner.Add("Spawner_Fenring4", "Fenring"); obj12.CreatureSpawner.Add("Spawner_Fenring5", "Fenring"); obj12.CreatureSpawner.Add("Spawner_Fenring6", "Fenring"); obj12.CreatureSpawner.Add("Spawner_Fenring7", "Fenring"); obj12.CreatureSpawner.Add("Spawner_Fenring8", "Fenring"); obj12.CreatureSpawner.Add("Spawner_Fenring9", "Fenring"); obj12.CreatureSpawner.Add("Spawner_Fenring10", "Fenring"); obj12.CreatureSpawner.Add("Spawner_Fenring11", "Fenring"); obj12.CreatureSpawner.Add("Spawner_Fenring12", "Fenring"); obj12.CreatureSpawner.Add("Spawner_Fenring13", "Fenring"); obj12.CreatureSpawner.Add("Spawner_Fenring14", "Fenring"); obj12.CreatureSpawner.Add("Spawner_Fenring15", "Fenring"); obj12.CreatureSpawner.Add("Spawner_Fenring16", "Fenring"); obj12.CreatureSpawner.Add("ExteriorSpawner_Wolf", "Wolf"); obj12.CreatureSpawner.Add("ExteriorSpawner_Wolf (1)", "Wolf"); obj12.CreatureSpawner.Add("ExteriorSpawner_Wolf (2)", "Wolf"); obj12.CreatureSpawner.Add("ExteriorSpawner_Wolf (3)", "Wolf"); _blackMetalMine01 = _mineBundle.LoadAsset<GameObject>("BOM_BlackMetalMine01"); Location obj13 = new Location(_blackMetalMine01) { CanSpawn = (Plugin._enableBlackMetalMine.Value == Plugin.Toggle.On), ClearArea = true, Biome = Plugin._blackMetalMineBiome.Value, SpawnArea = (BiomeArea)2, Count = Plugin._blackMetalMineCount.Value, GroupName = "OreMines", MinimumDistanceFromGroup = Plugin._blackMetalMineMinDistanceFromGroup.Value, Rotation = Rotation.Slope, HeightDelta = new LocationManager.Range(0f, 40f), ForestThreshold = new LocationManager.Range(0f, 3f), SpawnAltitude = new LocationManager.Range(Plugin._blackMetalMineSpawnAltitudeMin.Value, Plugin._blackMetalMineSpawnAltitudeMax.Value), SpawnDistance = new LocationManager.Range(Plugin._blackMetalMineSpawnDistanceMin.Value, Plugin._blackMetalMineSpawnDistanceMax.Value) }; ShaderReplacer.Replace(_blackMetalMine01); obj13.CreatureSpawner.Add("Spawner_Goblin", "Goblin"); obj13.CreatureSpawner.Add("Spawner_Goblin2", "Goblin"); obj13.CreatureSpawner.Add("Spawner_Goblin3", "Goblin"); obj13.CreatureSpawner.Add("Spawner_Goblin4", "Goblin"); obj13.CreatureSpawner.Add("Spawner_Goblin5", "Goblin"); obj13.CreatureSpawner.Add("Spawner_Goblin6", "Goblin"); obj13.CreatureSpawner.Add("Spawner_Goblin7", "Goblin"); obj13.CreatureSpawner.Add("Spawner_Goblin8", "Goblin"); obj13.CreatureSpawner.Add("Spawner_Goblin9", "Goblin"); obj13.CreatureSpawner.Add("Spawner_Goblin10", "Goblin"); obj13.CreatureSpawner.Add("Spawner_Goblin11", "Goblin"); obj13.CreatureSpawner.Add("Spawner_Goblin12", "Goblin"); obj13.CreatureSpawner.Add("Spawner_Goblin13", "Goblin"); obj13.CreatureSpawner.Add("Spawner_Goblin14", "Goblin"); obj13.CreatureSpawner.Add("Spawner_Goblin15", "Goblin"); obj13.CreatureSpawner.Add("Spawner_Goblin16", "Goblin"); obj13.CreatureSpawner.Add("Spawner_Goblin17", "Goblin"); obj13.CreatureSpawner.Add("Spawner_Goblin18", "Goblin"); obj13.CreatureSpawner.Add("ExteriorSpawner_Goblin", "Goblin"); obj13.CreatureSpawner.Add("ExteriorSpawner_Goblin (1)", "Goblin"); obj13.CreatureSpawner.Add("ExteriorSpawner_Goblin (2)", "Goblin"); obj13.CreatureSpawner.Add("ExteriorSpawner_GoblinBrute (3)", "GoblinBrute"); _blackMetalMine02 = _mineBundle.LoadAsset<GameObject>("BOM_BlackMetalMine02"); Location obj14 = new Location(_blackMetalMine02) { CanSpawn = (Plugin._enableBlackMetalMine.Value == Plugin.Toggle.On), ClearArea = true, Biome = Plugin._blackMetalMineBiome.Value, SpawnArea = (BiomeArea)1, Count = Plugin._blackMetalMineCount.Value, GroupName = "OreMines", MinimumDistanceFromGroup = Plugin._blackMetalMineMinDistanceFromGroup.Value, Rotation = Rotation.Slope, HeightDelta = new LocationManager.Range(0f, 40f), ForestThreshold = new LocationManager.Range(0f, 3f), SpawnAltitude = new LocationManager.Range(Plugin._blackMetalMineSpawnAltitudeMin.Value, Plugin._blackMetalMineSpawnAltitudeMax.Value), SpawnDistance = new LocationManager.Range(Plugin._blackMetalMineSpawnDistanceMin.Value, Plugin._blackMetalMineSpawnDistanceMax.Value) }; ShaderReplacer.Replace(_blackMetalMine02); obj14.CreatureSpawner.Add("Spawner_Goblin", "Goblin"); obj14.CreatureSpawner.Add("Spawner_Goblin2", "Goblin"); obj14.CreatureSpawner.Add("Spawner_Goblin3", "Goblin"); obj14.CreatureSpawner.Add("Spawner_Goblin4", "Goblin"); obj14.CreatureSpawner.Add("Spawner_Goblin5", "Goblin"); obj14.CreatureSpawner.Add("Spawner_Goblin6", "Goblin"); obj14.CreatureSpawner.Add("Spawner_Goblin7", "Goblin"); obj14.CreatureSpawner.Add("Spawner_Goblin8", "Goblin"); obj14.CreatureSpawner.Add("Spawner_Goblin9", "Goblin"); obj14.CreatureSpawner.Add("Spawner_Goblin10", "Goblin"); obj14.CreatureSpawner.Add("Spawner_Goblin11", "Goblin"); obj14.CreatureSpawner.Add("Spawner_Goblin12", "Goblin"); obj14.CreatureSpawner.Add("Spawner_Goblin13", "Goblin"); obj14.CreatureSpawner.Add("Spawner_Goblin14", "Goblin"); obj14.CreatureSpawner.Add("Spawner_Goblin15", "Goblin"); obj14.CreatureSpawner.Add("Spawner_Goblin16", "Goblin"); obj14.CreatureSpawner.Add("ExteriorSpawner_Goblin", "Goblin"); obj14.CreatureSpawner.Add("ExteriorSpawner_Goblin (1)", "Goblin"); obj14.CreatureSpawner.Add("ExteriorSpawner_Goblin (2)", "Goblin"); obj14.CreatureSpawner.Add("ExteriorSpawner_GoblinShaman (3)", "GoblinShaman"); _flametalMine01 = _mineBundle.LoadAsset<GameObject>("BOM_FlametalMine01"); Location obj15 = new Location(_flametalMine01) { CanSpawn = (Plugin._enableFlametalMine.Value == Plugin.Toggle.On), ClearArea = true, Biome = Plugin._flametalMineBiome.Value, SpawnArea = (BiomeArea)2, Count = Plugin._flametalMineCount.Value, GroupName = "OreMines", MinimumDistanceFromGroup = Plugin._flametalMineMinDistanceFromGroup.Value, Rotation = Rotation.Slope, HeightDelta = new LocationManager.Range(0f, 40f), ForestThreshold = new LocationManager.Range(0f, 3f), SpawnAltitude = new LocationManager.Range(Plugin._flametalMineSpawnAltitudeMin.Value, Plugin._flametalMineSpawnAltitudeMax.Value), SpawnDistance = new LocationManager.Range(Plugin._flametalMineSpawnDistanceMin.Value, Plugin._flametalMineSpawnDistanceMax.Value) }; ShaderReplacer.Replace(_flametalMine01); obj15.CreatureSpawner.Add("Spawner_CharredMelee", "Charred_Melee"); obj15.CreatureSpawner.Add("Spawner_CharredMelee2", "Charred_Melee"); obj15.CreatureSpawner.Add("Spawner_CharredMelee3", "Charred_Melee"); obj15.CreatureSpawner.Add("Spawner_CharredMelee4", "Charred_Melee"); obj15.CreatureSpawner.Add("Spawner_CharredMelee5", "Charred_Melee"); obj15.CreatureSpawner.Add("Spawner_CharredMelee6", "Charred_Melee"); obj15.CreatureSpawner.Add("Spawner_CharredMelee7", "Charred_Melee"); obj15.CreatureSpawner.Add("Spawner_CharredMelee8", "Charred_Melee"); obj15.CreatureSpawner.Add("Spawner_CharredMelee9", "Charred_Melee"); obj15.CreatureSpawner.Add("Spawner_CharredMelee10", "Charred_Melee"); obj15.CreatureSpawner.Add("Spawner_CharredMelee11", "Charred_Melee"); obj15.CreatureSpawner.Add("Spawner_CharredMelee12", "Charred_Melee"); obj15.CreatureSpawner.Add("Spawner_CharredMelee13", "Charred_Melee"); obj15.CreatureSpawner.Add("Spawner_CharredMelee14", "Charred_Melee"); obj15.CreatureSpawner.Add("Spawner_CharredMelee15", "Charred_Melee"); obj15.CreatureSpawner.Add("Spawner_CharredMelee16", "Charred_Melee"); obj15.CreatureSpawner.Add("Spawner_CharredMelee17", "Charred_Melee"); obj15.CreatureSpawner.Add("Spawner_CharredMelee18", "Charred_Melee"); obj15.CreatureSpawner.Add("Spawner_CharredMelee19", "Charred_Melee"); obj15.CreatureSpawner.Add("Spawner_CharredMelee20", "Charred_Melee"); obj15.CreatureSpawner.Add("ExteriorSpawner_CharredMelee", "Charred_Melee"); obj15.CreatureSpawner.Add("ExteriorSpawner_CharredMelee (1)", "Charred_Melee"); obj15.CreatureSpawner.Add("ExteriorSpawner_CharredMelee (2)", "Charred_Melee"); obj15.CreatureSpawner.Add("ExteriorSpawner_CharredArcher (3)", "Charred_Archer"); _flametalMine02 = _mineBundle.LoadAsset<GameObject>("BOM_FlametalMine02"); Location obj16 = new Location(_flametalMine02) { CanSpawn = (Plugin._enableFlametalMine.Value == Plugin.Toggle.On), ClearArea = true, Biome = Plugin._flametalMineBiome.Value, SpawnArea = (BiomeArea)1, Count = Plugin._flametalMineCount.Value, GroupName = "OreMines", MinimumDistanceFromGroup = Plugin._flametalMineMinDistanceFromGroup.Value, Rotation = Rotation.Slope, HeightDelta = new LocationManager.Range(0f, 40f), ForestThreshold = new LocationManager.Range(0f, 3f), SpawnAltitude = new LocationManager.Range(Plugin._flametalMineSpawnAltitudeMin.Value, Plugin._flametalMineSpawnAltitudeMax.Value), SpawnDistance = new LocationManager.Range(Plugin._flametalMineSpawnDistanceMin.Value, Plugin._flametalMineSpawnDistanceMax.Value) }; ShaderReplacer.Replace(_flametalMine02); obj16.CreatureSpawner.Add("Spawner_CharredMelee", "Charred_Melee"); obj16.CreatureSpawner.Add("Spawner_CharredMelee2", "Charred_Melee"); obj16.CreatureSpawner.Add("Spawner_CharredMelee3", "Charred_Melee"); obj16.CreatureSpawner.Add("Spawner_CharredMelee4", "Charred_Melee"); obj16.CreatureSpawner.Add("Spawner_CharredMelee5", "Charred_Melee"); obj16.CreatureSpawner.Add("Spawner_CharredMelee6", "Charred_Melee"); obj16.CreatureSpawner.Add("Spawner_CharredMelee7", "Charred_Melee"); obj16.CreatureSpawner.Add("Spawner_CharredMelee8", "Charred_Melee"); obj16.CreatureSpawner.Add("Spawner_CharredMelee9", "Charred_Melee"); obj16.CreatureSpawner.Add("Spawner_CharredMelee10", "Charred_Melee"); obj16.CreatureSpawner.Add("Spawner_CharredMelee11", "Charred_Melee"); obj16.CreatureSpawner.Add("Spawner_CharredMelee12", "Charred_Melee"); obj16.CreatureSpawner.Add("Spawner_CharredMelee13", "Charred_Melee"); obj16.CreatureSpawner.Add("Spawner_CharredMelee14", "Charred_Melee"); obj16.CreatureSpawner.Add("Spawner_CharredMelee15", "Charred_Melee"); obj16.CreatureSpawner.Add("Spawner_CharredMelee16", "Charred_Melee"); obj16.CreatureSpawner.Add("Spawner_CharredMelee17", "Charred_Melee"); obj16.CreatureSpawner.Add("Spawner_CharredMelee18", "Charred_Melee"); obj16.CreatureSpawner.Add("ExteriorSpawner_CharredMelee", "Charred_Melee"); obj16.CreatureSpawner.Add("ExteriorSpawner_CharredMelee (1)", "Charred_Melee"); obj16.CreatureSpawner.Add("ExteriorSpawner_CharredMelee (2)", "Charred_Melee"); obj16.CreatureSpawner.Add("ExteriorSpawner_CharredMage (3)", "Charred_Mage"); ShaderReplacer.Replace(_mineBundle.LoadAsset<GameObject>("bom_InteriorEnvironmentZoneForce")); Item item = new Item(_mineBundle, "BOM_BonemassKey"); item.DropsFrom.Add("Bonemass", 1f, 1, 1, levelMultiplier: false); item.Configurable = Configurability.Disabled; Item item2 = new Item(_mineBundle, "BOM_EikthyrKey"); item2.DropsFrom.Add("Eikthyr", 1f, 1, 1, levelMultiplier: false); item2.Configurable = Configurability.Disabled; Item item3 = new Item(_mineBundle, "BOM_CrystalKey"); item3.DropsFrom.Add("Dragon", 1f, 1, 1, levelMultiplier: false); item3.Configurable = Configurability.Disabled; Item item4 = new Item(_mineBundle, "BOM_LavaKey"); item4.DropsFrom.Add("SeekerQueen", 1f, 1, 1, levelMultiplier: false); item4.Configurable = Configurability.Disabled; PrefabManager.RegisterPrefab(_mineBundle, "bom_sfx_rock_destroyed"); PrefabManager.RegisterPrefab(_mineBundle, "bom_sfx_rock_hit"); PrefabManager.RegisterPrefab(_mineBundle, "bom_vfx_RockDestroyed_Obsidian"); PrefabManager.RegisterPrefab(_mineBundle, "bom_vfx_RockHit_Obsidian"); PrefabManager.RegisterPrefab(_mineBundle, "bom_sfx_metalgate_close"); PrefabManager.RegisterPrefab(_mineBundle, "bom_sfx_metalgate_open"); } public static void InitMine(ZNetScene zNetScene) { FlintMine01(zNetScene); FlintMine02(zNetScene); CopperMine01(zNetScene); CopperMine02(zNetScene); TinMine01(zNetScene); TinMine02(zNetScene); CoalMine01(zNetScene); CoalMine02(zNetScene); IronMine01(zNetScene); IronMine02(zNetScene); SilverMine01(zNetScene); SilverMine02(zNetScene); BlackMetalMine01(zNetScene); BlackMetalMine02(zNetScene); FlametalMine01(zNetScene); FlametalMine02(zNetScene); } private static void FlintMine01(ZNetScene zNetScene) { //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) DropOnDestroyed[] componentsInChildren = _flintMine01.GetComponentsInChildren<DropOnDestroyed>(true); if (componentsInChildren == null) { return; } DropOnDestroyed[] array = componentsInChildren; foreach (DropOnDestroyed drop in array) { drop.m_dropWhenDestroyed.m_drops = new List<DropData>(1) { new DropData { m_item = zNetScene.GetPrefab(StringExtensionMethods.GetStableHashCode("Flint")), m_stackMin = 1, m_stackMax = 1, m_weight = 1f } }; Plugin._flintDepositDropChance.SettingChanged += delegate { drop.m_dropWhenDestroyed.m_dropChance = Plugin._flintDepositDropChance.Value; }; drop.m_dropWhenDestroyed.m_dropChance = Plugin._flintDepositDropChance.Value; Plugin._flintDepositDropMin.SettingChanged += delegate { drop.m_dropWhenDestroyed.m_dropMin = Plugin._flintDepositDropMin.Value; }; drop.m_dropWhenDestroyed.m_dropMin = Plugin._flintDepositDropMin.Value; Plugin._flintDepositDropMax.SettingChanged += delegate { drop.m_dropWhenDestroyed.m_dropMax = Plugin._flintDepositDropMax.Value; }; drop.m_dropWhenDestroyed.m_dropMax = Plugin._flintDepositDropMax.Value; } } private static void FlintMine02(ZNetScene zNetScene) { //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) DropOnDestroyed[] componentsInChildren = _flintMine02.GetComponentsInChildren<DropOnDestroyed>(true); if (componentsInChildren == null) { return; } DropOnDestroyed[] array = componentsInChildren; foreach (DropOnDestroyed drop in array) { drop.m_dropWhenDestroyed.m_drops = new List<DropData>(1) { new DropData { m_item = zNetScene.GetPrefab(StringExtensionMethods.GetStableHashCode("Flint")), m_stackMin = 1, m_stackMax = 1, m_weight = 1f } }; Plugin._flintDepositDropChance.SettingChanged += delegate { drop.m_dropWhenDestroyed.m_dropChance = Plugin._flintDepositDropChance.Value; }; drop.m_dropWhenDestroyed.m_dropChance = Plugin._flintDepositDropChance.Value; Plugin._flintDepositDropMin.SettingChanged += delegate { drop.m_dropWhenDestroyed.m_dropMin = Plugin._flintDepositDropMin.Value; }; drop.m_dropWhenDestroyed.m_dropMin = Plugin._flintDepositDropMin.Value; Plugin._flintDepositDropMax.SettingChanged += delegate { drop.m_dropWhenDestroyed.m_dropMax = Plugin._flintDepositDropMax.Value; }; drop.m_dropWhenDestroyed.m_dropMax = Plugin._flintDepositDropMax.Value; } } private static void CopperMine01(ZNetScene zNetScene) { //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) MineRock[] componentsInChildren = _copperMine01.GetComponentsInChildren<MineRock>(true); if (componentsInChildren != null) { MineRock[] array = componentsInChildren; foreach (MineRock mine in array) { mine.m_dropItems.m_drops = new List<DropData>(2) { new DropData { m_item = zNetScene.GetPrefab(StringExtensionMethods.GetStableHashCode("CopperOre")), m_stackMin = 1, m_stackMax = 1, m_weight = 0.85f }, new DropData { m_item = zNetScene.GetPrefab(StringExtensionMethods.GetStableHashCode("Stone")), m_stackMin = 1, m_stackMax = 1, m_weight = 1f } }; Plugin._copperDepositDropChance.SettingChanged += delegate { mine.m_dropItems.m_dropChance = Plugin._copperDepositDropChance.Value; }; mine.m_dropItems.m_dropChance = Plugin._copperDepositDropChance.Value; Plugin._copperDepositDropMin.SettingChanged += delegate { mine.m_dropItems.m_dropMin = Plugin._copperDepositDropMin.Value; }; mine.m_dropItems.m_dropMin = Plugin._copperDepositDropMin.Value; Plugin._copperDepositDropMax.SettingChanged += delegate { mine.m_dropItems.m_dropMax = Plugin._copperDepositDropMax.Value; }; mine.m_dropItems.m_dropMax = Plugin._copperDepositDropMax.Value; } } Door componentInChildren = _copperMine01.GetComponentInChildren<Door>(true); if (!((Object)(object)componentInChildren == (Object)null)) { componentInChildren.m_keyItem = zNetScene.GetPrefab(StringExtensionMethods.GetStableHashCode("BOM_EikthyrKey")).GetComponent<ItemDrop>(); componentInChildren.m_keyItem.m_itemData.m_shared.m_maxStackSize = ((Plugin._stackableKeys.Value != Plugin.Toggle.On) ? 1 : 10); } } private static void CopperMine02(ZNetScene zNetScene) { //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) MineRock[] componentsInChildren = _copperMine02.GetComponentsInChildren<MineRock>(true); if (componentsInChildren != null) { MineRock[] array = componentsInChildren; foreach (MineRock mine in array) { mine.m_dropItems.m_drops = new List<DropData>(2) { new DropData { m_item = zNetScene.GetPrefab(StringExtensionMethods.GetStableHashCode("CopperOre")), m_stackMin = 1, m_stackMax = 1, m_weight = 0.85f }, new DropData { m_item = zNetScene.GetPrefab(StringExtensionMethods.GetStableHashCode("Stone")), m_stackMin = 1, m_stackMax = 1, m_weight = 1f } }; Plugin._copperDepositDropChance.SettingChanged += delegate { mine.m_dropItems.m_dropChance = Plugin._copperDepositDropChance.Value; }; mine.m_dropItems.m_dropChance = Plugin._copperDepositDropChance.Value; Plugin._copperDepositDropMin.SettingChanged += delegate { mine.m_dropItems.m_dropMin = Plugin._copperDepositDropMin.Value; }; mine.m_dropItems.m_dropMin = Plugin._copperDepositDropMin.Value; Plugin._copperDepositDropMax.SettingChanged += delegate { mine.m_dropItems.m_dropMax = Plugin._copperDepositDropMax.Value; }; mine.m_dropItems.m_dropMax = Plugin._copperDepositDropMax.Value; } } Door componentInChildren = _copperMine02.GetComponentInChildren<Door>(true); if (!((Object)(object)componentInChildren == (Object)null)) { componentInChildren.m_keyItem = zNetScene.GetPrefab(StringExtensionMethods.GetStableHashCode("BOM_EikthyrKey")).GetComponent<ItemDrop>(); componentInChildren.m_keyItem.m_itemData.m_shared.m_maxStackSize = ((Plugin._stackableKeys.Value != Plugin.Toggle.On) ? 1 : 10); } } private static void TinMine01(ZNetScene zNetScene) { //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) DropOnDestroyed[] componentsInChildren = _tinMine01.GetComponentsInChildren<DropOnDestroyed>(true); if (componentsInChildren != null) { DropOnDestroyed[] array = componentsInChildren; foreach (DropOnDestroyed drop in array) { drop.m_dropWhenDestroyed.m_drops = new List<DropData>(1) { new DropData { m_item = zNetScene.GetPrefab(StringExtensionMethods.GetStableHashCode("TinOre")), m_stackMin = 1, m_stackMax = 1, m_weight = 1f } }; Plugin._tinDepositDropChance.SettingChanged += delegate { drop.m_dropWhenDestroyed.m_dropChance = Plugin._tinDepositDropChance.Value; }; drop.m_dropWhenDestroyed.m_dropChance = Plugin._tinDepositDropChance.Value; Plugin._tinDepositDropMin.SettingChanged += delegate { drop.m_dropWhenDestroyed.m_dropMin = Plugin._tinDepositDropMin.Value; }; drop.m_dropWhenDestroyed.m_dropMin = Plugin._tinDepositDropMin.Value; Plugin._tinDepositDropMax.SettingChanged += delegate { drop.m_dropWhenDestroyed.m_dropMax = Plugin._tinDepositDropMax.Value; }; drop.m_dropWhenDestroyed.m_dropMax = Plugin._tinDepositDropMax.Value; } } Door componentInChildren = _tinMine01.GetComponentInChildren<Door>(true); if (!((Object)(object)componentInChildren == (Object)null)) { componentInChildren.m_keyItem = zNetScene.GetPrefab(StringExtensionMethods.GetStableHashCode("BOM_EikthyrKey")).GetComponent<ItemDrop>(); componentInChildren.m_keyItem.m_itemData.m_shared.m_maxStackSize = ((Plugin._stackableKeys.Value != Plugin.Toggle.On) ? 1 : 10); } } private static void TinMine02(ZNetScene zNetScene) { //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) DropOnDestroyed[] componentsInChildren = _tinMine02.GetComponentsInChildren<DropOnDestroyed>(true); if (componentsInChildren != null) { DropOnDestroyed[] array = componentsInChildren; foreach (DropOnDestroyed drop in array) { drop.m_dropWhenDestroyed.m_drops = new List<DropData>(1) { new DropData { m_item = zNetScene.GetPrefab(StringExtensionMethods.GetStableHashCode("TinOre")), m_stackMin = 1, m_stackMax = 1, m_weight = 1f } }; Plugin._tinDepositDropChance.SettingChanged += delegate { drop.m_dropWhenDestroyed.m_dropChance = Plugin._tinDepositDropChance.Value; }; drop.m_dropWhenDestroyed.m_dropChance = Plugin._tinDepositDropChance.Value; Plugin._tinDepositDropMin.SettingChanged += delegate { drop.m_dropWhenDestroyed.m_dropMin = Plugin._tinDepositDropMin.Value; }; drop.m_dropWhenDestroyed.m_dropMin = Plugin._tinDepositDropMin.Value; Plugin._tinDepositDropMax.SettingChanged += delegate { drop.m_dropWhenDestroyed.m_dropMax = Plugin._tinDepositDropMax.Value; }; drop.m_dropWhenDestroyed.m_dropMax = Plugin._tinDepositDropMax.Value; } } Door componentInChildren = _tinMine02.GetComponentInChildren<Door>(true); if (!((Object)(object)componentInChildren == (Object)null)) { componentInChildren.m_keyItem = zNetScene.GetPrefab(StringExtensionMethods.GetStableHashCode("BOM_EikthyrKey")).GetComponent<ItemDrop>(); componentInChildren.m_keyItem.m_itemData.m_shared.m_maxStackSize = ((Plugin._stackableKeys.Value != Plugin.Toggle.On) ? 1 : 10); } } private static void CoalMine01(ZNetScene zNetScene) { //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) DropOnDestroyed[] componentsInChildren = _coalMine01.GetComponentsInChildren<DropOnDestroyed>(true); if (componentsInChildren != null) { DropOnDestroyed[] array = componentsInChildren; foreach (DropOnDestroyed drop in array) { drop.m_dropWhenDestroyed.m_drops = new List<DropData>(1) { new DropData { m_item = zNetScene.GetPrefab(StringExtensionMethods.GetStableHashCode("Coal")), m_stackMin = 1, m_stackMax = 1, m_weight = 1f } }; Plugin._coalDepositDropChance.SettingChanged += delegate { drop.m_dropWhenDestroyed.m_dropChance = Plugin._coalDepositDropChance.Value; }; drop.m_dropWhenDestroyed.m_dropChance = Plugin._coalDepositDropChance.Value; Plugin._coalDepositDropMin.SettingChanged += delegate { drop.m_dropWhenDestroyed.m_dropMin = Plugin._coalDepositDropMin.Value; }; drop.m_dropWhenDestroyed.m_dropMin = Plugin._coalDepositDropMin.Value; Plugin._coalDepositDropMax.SettingChanged += delegate { drop.m_dropWhenDestroyed.m_dropMax = Plugin._coalDepositDropMax.Value; }; drop.m_dropWhenDestroyed.m_dropMax = Plugin._coalDepositDropMax.Value; } } Door componentInChildren = _coalMine01.GetComponentInChildren<Door>(true); if (!((Object)(object)componentInChildren == (Object)null)) { componentInChildren.m_keyItem = zNetScene.GetPrefab(StringExtensionMethods.GetStableHashCode("CryptKey")).GetComponent<ItemDrop>(); componentInChildren.m_keyItem.m_itemData.m_shared.m_maxStackSize = ((Plugin._stackableKeys.Value != Plugin.Toggle.On) ? 1 : 10); } } private static void CoalMine02(ZNetScene zNetScene) { //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) DropOnDestroyed[] componentsInChildren = _coalMine02.GetComponentsInChildren<DropOnDestroyed>(true); if (componentsInChildren != null) { DropOnDestroyed[] array = componentsInChildren; foreach (DropOnDestroyed drop in array) { drop.m_dropWhenDestroyed.m_drops = new List<DropData>(1) { new DropData { m_item = zNetScene.GetPrefab(StringExtensionMethods.GetStableHashCode("Coal")), m_stackMin = 1, m_stackMax = 1, m_weight = 1f } }; Plugin._coalDepositDropChance.SettingChanged += delegate { drop.m_dropWhenDestroyed.m_dropChance = Plugin._coalDepositDropChance.Value; }; drop.m_dropWhenDestroyed.m_dropChance = Plugin._coalDepositDropChance.Value; Plugin._coalDepositDropMin.SettingChanged += delegate { drop.m_dropWhenDestroyed.m_dropMin = Plugin._coalDepositDropMin.Value; }; drop.m_dropWhenDestroyed.m_dropMin = Plugin._coalDepositDropMin.Value; Plugin._coalDepositDropMax