Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of BuildableNature v1.0.9
BuildableNature.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.Cryptography; using System.Security.Permissions; using System.Text; using System.Text.RegularExpressions; using System.Threading; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using BepInEx.Logging; using BuildableNature; using HarmonyLib; using JetBrains.Annotations; using Microsoft.CodeAnalysis; using PieceManager; using ServerSync; using TMPro; using UnityEngine; using UnityEngine.UI; using YamlDotNet.Core; using YamlDotNet.Core.Events; using YamlDotNet.Core.Tokens; using YamlDotNet.Helpers; using YamlDotNet.Serialization; using YamlDotNet.Serialization.BufferedDeserialization; using YamlDotNet.Serialization.BufferedDeserialization.TypeDiscriminators; 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: AssemblyFileVersion("1.0.9")] [assembly: Guid("E0E2F92E-557C-4A05-9D89-AA92A0BD75C4")] [assembly: ComVisible(false)] [assembly: AssemblyTrademark("")] [assembly: AssemblyCopyright("Copyright © 2022")] [assembly: AssemblyProduct("BuildableNature")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyDescription("")] [assembly: AssemblyTitle("BuildableNature")] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: CompilationRelaxations(8)] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: AssemblyCompany("RustyMods")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.9.0")] [module: <084422a7-c4c7-4c90-86cd-9973527fa3fa>RefSafetyRules(11)] [module: UnverifiableCode] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [<90f1ad08-be77-445d-bbb9-10e1b4de9101>Embedded] internal sealed class <90f1ad08-be77-445d-bbb9-10e1b4de9101>EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [<90f1ad08-be77-445d-bbb9-10e1b4de9101>Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class <1cc0ea6f-c6e5-4fd3-9799-402becf869c3>NullableAttribute : Attribute { public readonly byte[] NullableFlags; public <1cc0ea6f-c6e5-4fd3-9799-402becf869c3>NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public <1cc0ea6f-c6e5-4fd3-9799-402becf869c3>NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [<90f1ad08-be77-445d-bbb9-10e1b4de9101>Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class <e36c1ad3-ae5c-40d7-b217-22701fce634b>NullableContextAttribute : Attribute { public readonly byte Flag; public <e36c1ad3-ae5c-40d7-b217-22701fce634b>NullableContextAttribute(byte P_0) { Flag = P_0; } } [CompilerGenerated] [<90f1ad08-be77-445d-bbb9-10e1b4de9101>Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class <084422a7-c4c7-4c90-86cd-9973527fa3fa>RefSafetyRulesAttribute : Attribute { public readonly int Version; public <084422a7-c4c7-4c90-86cd-9973527fa3fa>RefSafetyRulesAttribute(int P_0) { Version = P_0; } } [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Enum | AttributeTargets.Method | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] [<90f1ad08-be77-445d-bbb9-10e1b4de9101>Embedded] [CompilerGenerated] internal sealed class ExtensionMarkerAttribute : Attribute { private readonly string <Name>k__BackingField; public string Name => <Name>k__BackingField; public ExtensionMarkerAttribute(string name) { <Name>k__BackingField = name; } } } namespace Managers { public static class ReadMeBuilder { private static bool buildReadme; private static bool exportSprites; static ReadMeBuilder() { //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Expected O, but got Unknown buildReadme = false; exportSprites = false; BuildableNaturePlugin.instance._harmony.Patch((MethodBase)AccessTools.DeclaredMethod(typeof(ZNetScene), "Awake", (Type[])null, (Type[])null), (HarmonyMethod)null, new HarmonyMethod(AccessTools.DeclaredMethod(typeof(ReadMeBuilder), "Build", (Type[])null, (Type[])null)), (HarmonyMethod)null, (HarmonyMethod)null, (HarmonyMethod)null); } public static void Init(bool exportIcons = true) { buildReadme = true; exportSprites = exportIcons; } public static void ExportLocalization() { string text = Path.Combine(Paths.ConfigPath, "BuildableNature"); Directory.CreateDirectory(text); StringBuilder stringBuilder = new StringBuilder(); foreach (BuildPiece registeredPiece in BuildPiece.registeredPieces) { string name = registeredPiece.Prefab.GetComponent<Piece>().m_name; string text2 = Localization.instance.Localize(name); stringBuilder.AppendLine(name.Replace("$", string.Empty) + ": " + text2); } File.WriteAllText(Path.Combine(text, "English.yml"), stringBuilder.ToString()); } public static void Build() { ExportLocalization(); BuildAlt(); } public static void BuildAlt() { if (!buildReadme) { return; } string text = Path.Combine(Paths.ConfigPath, "BuildableNature"); Directory.CreateDirectory(text); StringBuilder stringBuilder = new StringBuilder(); stringBuilder.AppendLine("# BuildableNature"); stringBuilder.AppendLine(); stringBuilder.AppendLine("| Icon | Internal ID | Name | Description | Resources |"); stringBuilder.AppendLine("|:---:|:---|:---|:---|:---|"); foreach (BuildPiece registeredPiece in BuildPiece.registeredPieces) { Piece component = registeredPiece.Prefab.GetComponent<Piece>(); string name = ((Object)component).name; string name2 = component.m_name; string description = component.m_description; string text2 = "https://raw.githubusercontent.com/RustyMods/BuildableNature/refs/heads/master/BuildableNature/Icons/" + ((Object)component).name + ".png"; string text3 = string.Join(", ", registeredPiece.RequiredItems.Requirements.Select((Requirement r) => $"{r.itemName} x {r.amount}")); if (exportSprites) { IconExport.ExportSprite(component.m_icon, text, ((Object)component).name); } stringBuilder.AppendLine("|  | `" + name + "` | " + Clean(name2) + " | " + Clean(description) + " | " + Clean(text3) + " |"); } File.WriteAllText(Path.Combine(text, "README.md"), stringBuilder.ToString()); } private static string Clean(string text) { return string.IsNullOrEmpty(text) ? "" : text.Replace("|", "\\|").Replace("\r", "").Replace("\n", " "); } } } namespace BuildableNature { [BepInPlugin("RustyMods.BuildableNature", "BuildableNature", "1.0.9")] public class BuildableNaturePlugin : BaseUnityPlugin { public enum Toggle { On = 1, Off = 0 } internal const string ModName = "BuildableNature"; internal const string ModVersion = "1.0.9"; internal const string Author = "RustyMods"; private const string ModGUID = "RustyMods.BuildableNature"; private static readonly string ConfigFileName = "RustyMods.BuildableNature.cfg"; private static readonly string ConfigFileFullPath; internal static string ConnectionError; public readonly Harmony _harmony = new Harmony("RustyMods.BuildableNature"); public static readonly ManualLogSource BuildableNatureLogger; private static readonly ConfigSync ConfigSync; public static GameObject m_root; public static BuildableNaturePlugin instance; private static ConfigEntry<Toggle> _serverConfigLocked; public void Awake() { //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Expected O, but got Unknown instance = this; _serverConfigLocked = config("1 - General", "Lock Configuration", Toggle.On, "If on, the configuration is locked and can be changed by server admins only."); ConfigSync.AddLockingConfigEntry<Toggle>(_serverConfigLocked); m_root = new GameObject("root"); Object.DontDestroyOnLoad((Object)(object)m_root); m_root.SetActive(false); PiecePrefabManager.Init = true; Assets.Misc(); Assets.DeepNorth(); Assets.Ashlands(); Assets.Meadows(); Assets.BlackForest(); Assets.Plains(); Assets.Mistlands(); Assets.Swamps(); Assets.Mountains(); Clone clone = new Clone("Morkhalla_Banner1"); clone.OnCreated += delegate(GameObject prefab) { //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<DropOnDestroyed>(); prefab.SetLayerRecursively(10); Piece val = prefab.AddComponent<Piece>(); val.m_name = "$piece_morkhalla_banner_1"; val.m_category = (PieceCategory)0; val.m_usage = (UsageTagFlags)512; val.m_placeEffect = new EffectListRef("vfx_Place_workbench", "sfx_build_hammer_wood"); BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Morkhalla Banner"); buildPiece.RequiredItems.Add("FineWood", 10, recover: true); buildPiece.RequiredItems.Add("BronzeNails", 5, recover: true); buildPiece.Snapshot(); }; Clone clone2 = new Clone("Morkhalla_Banner2"); clone2.OnCreated += delegate(GameObject prefab) { //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<DropOnDestroyed>(); prefab.SetLayerRecursively(10); Piece val = prefab.AddComponent<Piece>(); val.m_name = "$piece_morkhalla_banner_1"; val.m_category = (PieceCategory)0; val.m_usage = (UsageTagFlags)512; val.m_placeEffect = new EffectListRef("vfx_Place_workbench", "sfx_build_hammer_wood"); BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Morkhalla Banner"); buildPiece.RequiredItems.Add("FineWood", 10, recover: true); buildPiece.RequiredItems.Add("BronzeNails", 5, recover: true); buildPiece.Snapshot(); }; Assembly executingAssembly = Assembly.GetExecutingAssembly(); _harmony.PatchAll(executingAssembly); SetupWatcher(); } private void OnDestroy() { ((BaseUnityPlugin)this).Config.Save(); } private void SetupWatcher() { FileSystemWatcher fileSystemWatcher = new FileSystemWatcher(Paths.ConfigPath, ConfigFileName); fileSystemWatcher.Changed += ReadConfigValues; fileSystemWatcher.Created += ReadConfigValues; fileSystemWatcher.Renamed += ReadConfigValues; fileSystemWatcher.IncludeSubdirectories = true; fileSystemWatcher.SynchronizingObject = ThreadingHelper.SynchronizingObject; fileSystemWatcher.EnableRaisingEvents = true; } private void ReadConfigValues(object sender, FileSystemEventArgs e) { if (!File.Exists(ConfigFileFullPath)) { return; } try { BuildableNatureLogger.LogDebug((object)"ReadConfigValues called"); ((BaseUnityPlugin)this).Config.Reload(); } catch { BuildableNatureLogger.LogError((object)("There was an issue loading your " + ConfigFileName)); BuildableNatureLogger.LogError((object)"Please check your config entries for spelling and format!"); } } public ConfigEntry<T> config<T>(string group, string name, T value, ConfigDescription description, bool synchronizedSetting = true) { //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Expected O, but got Unknown ConfigDescription val = new ConfigDescription(description.Description + (synchronizedSetting ? " [Synced with Server]" : " [Not Synced with Server]"), description.AcceptableValues, description.Tags); ConfigEntry<T> val2 = ((BaseUnityPlugin)this).Config.Bind<T>(group, name, value, val); SyncedConfigEntry<T> syncedConfigEntry = ConfigSync.AddConfigEntry<T>(val2); syncedConfigEntry.SynchronizedConfig = synchronizedSetting; return val2; } public ConfigEntry<T> config<T>(string group, string name, T value, string description, bool synchronizedSetting = true) { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected O, but got Unknown return config(group, name, value, new ConfigDescription(description, (AcceptableValueBase)null, Array.Empty<object>()), synchronizedSetting); } static BuildableNaturePlugin() { string configPath = Paths.ConfigPath; char directorySeparatorChar = Path.DirectorySeparatorChar; ConfigFileFullPath = configPath + directorySeparatorChar + ConfigFileName; ConnectionError = ""; BuildableNatureLogger = Logger.CreateLogSource("BuildableNature"); ConfigSync = new ConfigSync("RustyMods.BuildableNature") { DisplayName = "BuildableNature", CurrentVersion = "1.0.9", MinimumRequiredVersion = "1.0.9" }; m_root = null; instance = null; _serverConfigLocked = null; } } public static class Assets { public static void Ashlands() { Clone clone = new Clone("Pickable_Ashstone"); clone.OnCreated += delegate(GameObject prefab) { //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_0119: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<Pickable>(); prefab.Remove<StaticPhysics>(); MeshCollider componentInChildren = prefab.GetComponentInChildren<MeshCollider>(); componentInChildren.convex = false; SphereCollider componentInChildren2 = prefab.GetComponentInChildren<SphereCollider>(); Object.DestroyImmediate((Object)(object)componentInChildren2); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(0.8f); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_ashstone"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_groundOnly = true; val2.m_placeEffect = new EffectListRef("vfx_Place_workbench", "sfx_build_hammer_wood").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("vfx_SawDust").m_effectList; val3.m_destroyedEffect = new EffectListRef("sfx_wood_break", "vfx_SawDust").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_materialType = (MaterialType)0; val3.m_health = 80f; val3.m_supports = false; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Ash Stone"); buildPiece.RequiredItems.Add("Grausten", 1, recover: true); buildPiece.Snapshot(); }; Clone clone2 = new Clone("Pickable_Charredskull"); clone2.OnCreated += delegate(GameObject prefab) { //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<Pickable>(); prefab.Remove<StaticPhysics>(); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_charred_skull"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_placeEffect = new EffectListRef("vfx_Place_pole", "sfx_build_hammer_stone").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("vfx_CoalHit", "sfx_rock_hit").m_effectList; val3.m_destroyedEffect = new EffectListRef("vfx_CoalDestroyed", "sfx_rock_destroyed").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_materialType = (MaterialType)0; val3.m_health = 80f; val3.m_supports = false; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Charred Skull"); buildPiece.RequiredItems.Add("Charredskull", 1, recover: true); buildPiece.Snapshot(); }; Clone clone3 = new Clone("Pickable_MoltenCoreStand"); clone3.OnCreated += delegate(GameObject prefab) { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<Pickable>(); prefab.transform.localRotation = Quaternion.identity; GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_molten_core_stand"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_placeEffect = new EffectListRef("vfx_Place_pole", "sfx_build_hammer_metal").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("vfx_HitSparks", "sfx_metal_blocked").m_effectList; val3.m_destroyedEffect = new EffectListRef("vfx_HitSparks", "sfx_metal_blocked").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_materialType = (MaterialType)2; val3.m_health = 80f; val3.m_supports = false; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Molten Core Stand"); buildPiece.RequiredItems.Add("MoltenCore", 1, recover: true); buildPiece.RequiredItems.Add("Iron", 1, recover: true); buildPiece.Snapshot(); }; Clone clone4 = new Clone("Pickable_VoltureEgg"); clone4.OnCreated += delegate(GameObject prefab) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<Pickable>(); prefab.Remove<StaticPhysics>(); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); Collider val2 = prefab.AddCollider(); val2.excludeLayers = LayerMask.op_Implicit(LayerMask.GetMask(new string[1] { "character" })); Piece val3 = prefab.AddComponent<Piece>(); val3.m_name = "$piece_volture_egg"; val3.m_category = (PieceCategory)0; val3.m_usage = (UsageTagFlags)512; val3.m_placeEffect = new EffectListRef("vfx_Place_pole", "sfx_build_hammer_default").m_effectList; WearNTear val4 = prefab.AddComponent<WearNTear>(); val4.m_hitEffect = new EffectListRef("sfx_hit").m_effectList; val4.m_destroyedEffect = new EffectListRef("sfx_hit").m_effectList; val4.m_new = val; val4.m_worn = val; val4.m_wet = val; val4.m_broken = val; val4.m_materialType = (MaterialType)0; val4.m_health = 80f; val4.m_supports = false; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Volture Egg"); buildPiece.RequiredItems.Add("VoltureEgg", 1, recover: true); buildPiece.Snapshot(); }; Clone clone5 = new Clone("Pickable_SmokePuff"); clone5.OnCreated += delegate(GameObject prefab) { //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_010b: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<Pickable>(); prefab.Remove<StaticPhysics>(); SphereCollider componentInChildren = prefab.GetComponentInChildren<SphereCollider>(); Object.DestroyImmediate((Object)(object)componentInChildren); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); Collider val2 = prefab.AddCollider(); val2.excludeLayers = LayerMask.op_Implicit(LayerMask.GetMask(new string[1] { "character" })); Piece val3 = prefab.AddComponent<Piece>(); val3.m_name = "$piece_smoke_puff"; val3.m_category = (PieceCategory)0; val3.m_usage = (UsageTagFlags)512; val3.m_placeEffect = new EffectListRef("vfx_Place_pole", "sfx_build_hammer_default").m_effectList; WearNTear val4 = prefab.AddComponent<WearNTear>(); val4.m_hitEffect = new EffectListRef("sfx_bush_hit").m_effectList; val4.m_destroyedEffect = new EffectListRef("sfx_bush_hit").m_effectList; val4.m_new = val; val4.m_worn = val; val4.m_wet = val; val4.m_broken = val; val4.m_materialType = (MaterialType)0; val4.m_health = 80f; val4.m_supports = false; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Smoke Puff"); buildPiece.RequiredItems.Add("MushroomSmokePuff", 1, recover: true); buildPiece.Snapshot(); }; SetupAshlandRocks(); SetupAshlandsTrees(); Clone clone6 = new Clone("Charred_altar_bellfragment"); clone6.OnCreated += delegate(GameObject prefab) { //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<DropOnDestroyed>(); prefab.Remove<Destructible>(); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_charred_altar_bell_fragment"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_placeEffect = new EffectListRef("vfx_Place_wood_pole", "sfx_build_hammer_default"); WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("sfx_hit", "vfx_HitSparks").m_effectList; val3.m_destroyedEffect = new EffectListRef("fx_altar_charred_destruction", "fx_Fading_Bellfragment_Beam"); val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_materialType = (MaterialType)1; val3.m_health = 80f; val3.m_supports = false; BeamToggle beamToggle = prefab.AddComponent<BeamToggle>(); beamToggle.m_name = val2.m_name; beamToggle.m_disableEffects = new EffectListRef("fx_Fading_Bellfragment_Beam", "sfx_fader_bell"); beamToggle.m_enableEffects = new EffectListRef("sfx_fader_bell"); BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Charred Altar Fragment"); buildPiece.RequiredItems.Add("BellFragment", 1, recover: true); buildPiece.Snapshot(); }; Clone clone7 = new Clone("LeviathanLava"); clone7.OnCreated += delegate(GameObject prefab) { //IL_006a: 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) //IL_010f: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<Rigidbody>(); prefab.Remove<ZSyncTransform>(); prefab.Remove<MineRock>(); prefab.Remove<ZSyncAnimation>(); prefab.Remove<Leviathan>(); prefab.Remove<StaticPhysics>(); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(0.5f); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_leviathan_lava"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_clipEverything = true; val2.m_placeEffect = new EffectListRef("vfx_Place_pole", "sfx_build_hammer_stone").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("fx_leviathanLava_reaction").m_effectList; val3.m_destroyedEffect = new EffectListRef("fx_leviathanLava_leave").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_supports = false; val3.m_materialType = (MaterialType)1; val3.m_health = 1000f; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Flametal Rock Spire"); buildPiece.RequiredItems.Add("Stone", 20, recover: true); buildPiece.RequiredItems.Add("FlametalOreNew", 10, recover: true); buildPiece.Snapshot(); }; Clone clone8 = new Clone("LuredFaderEmber"); clone8.OnCreated += delegate(GameObject prefab) { //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0128: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<ZSyncTransform>(); prefab.Remove<LuredWisp>(); prefab.Remove<Pickable>(); TrailRenderer componentInChildren = prefab.GetComponentInChildren<TrailRenderer>(); Object.DestroyImmediate((Object)(object)componentInChildren); SphereCollider componentInChildren2 = prefab.GetComponentInChildren<SphereCollider>(); Object.DestroyImmediate((Object)(object)componentInChildren2); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_lured_fader_ember"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_placeEffect = new EffectListRef("vfx_Place_pole", "sfx_build_hammer_wood").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("sfx_hit", "vfx_HitSparks").m_effectList; val3.m_destroyedEffect = new EffectListRef("sfx_hit", "vfx_HitSparks").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_supports = false; val3.m_materialType = (MaterialType)0; val3.m_health = 1000f; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Fader Ember"); buildPiece.RequiredItems.Add("FaderEmber", 1, recover: true); ItemDrop val4 = default(ItemDrop); if (BuildPiece.TryGetPrefab("FaderEmber", out var prefab2) && prefab2.TryGetComponent<ItemDrop>(ref val4)) { val2.m_icon = val4.m_itemData.m_shared.m_icons[0]; } }; Clone clone9 = new Clone("morgenhole_pile"); clone9.OnCreated += delegate(GameObject prefab) { //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_010b: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<DropOnDestroyed>(); prefab.Remove<Destructible>(); MeshCollider componentInChildren = prefab.GetComponentInChildren<MeshCollider>(); componentInChildren.convex = false; GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(0.9f); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_morgen_hole_pile"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_placeEffect = new EffectListRef("vfx_Place_pole", "sfx_build_hammer_default").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("sfx_MudHit", "vfx_MudHit").m_effectList; val3.m_destroyedEffect = new EffectListRef("sfx_MudDestroyed", "vfx_morgenhole_pile_destroyed").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_supports = false; val3.m_materialType = (MaterialType)0; val3.m_health = 1000f; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Morgen Hole Pile"); buildPiece.RequiredItems.Add("RottenMeat", 10, recover: true); buildPiece.Snapshot(); }; Clone clone10 = new Clone("Spawner_CharredCross"); clone10.OnCreated += delegate(GameObject prefab) { //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_0102: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<Destructible>(); prefab.Remove<SpawnArea>(); prefab.Remove<HoverText>(); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(0.9f); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_charred_cross"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_placeEffect = new EffectListRef("vfx_Place_pole", "sfx_build_hammer_wood").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("vfx_FireballHit").m_effectList; val3.m_destroyedEffect = new EffectListRef("vfx_charredcross_spawner_destroyed", "sfx_wood_destroyed").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_supports = false; val3.m_autoCreateFragments = false; val3.m_materialType = (MaterialType)0; val3.m_health = 80f; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Charred Cross"); buildPiece.RequiredItems.Add("Blackwood", 2, recover: true); buildPiece.RequiredItems.Add("FlametalOreNew", 1, recover: true); buildPiece.Snapshot(); }; Clone clone11 = new Clone("Spawner_CharredStone"); clone11.OnCreated += delegate(GameObject prefab) { //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<Destructible>(); prefab.Remove<SpawnArea>(); prefab.Remove<HoverText>(); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(0.9f); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_charred_stone"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_placeEffect = new EffectListRef("vfx_Place_pole", "sfx_build_hammer_stone").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("vfx_RockHit", "sfx_rock_hit").m_effectList; val3.m_destroyedEffect = new EffectListRef("fx_CharredStone_Destruction", "sfx_charred_spawner_destroy").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_supports = false; val3.m_autoCreateFragments = false; val3.m_materialType = (MaterialType)0; val3.m_health = 80f; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Charred Stone"); buildPiece.RequiredItems.Add("Grausten", 4, recover: true); buildPiece.RequiredItems.Add("FlametalOreNew", 1, recover: true); buildPiece.Snapshot(); }; Clone clone12 = new Clone("Spawner_CharredStone_Elite"); clone12.OnCreated += delegate(GameObject prefab) { //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<Destructible>(); prefab.Remove<SpawnArea>(); prefab.Remove<HoverText>(); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(0.9f); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_charred_stone"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_placeEffect = new EffectListRef("vfx_Place_pole", "sfx_build_hammer_stone").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("vfx_RockHit", "sfx_rock_hit").m_effectList; val3.m_destroyedEffect = new EffectListRef("fx_CharredStone_Destruction", "sfx_charred_spawner_destroy", "fx_CharredStone_Gibs").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_supports = false; val3.m_autoCreateFragments = false; val3.m_materialType = (MaterialType)0; val3.m_health = 80f; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Charred Stone"); buildPiece.RequiredItems.Add("Grausten", 4, recover: true); buildPiece.RequiredItems.Add("FlametalOreNew", 1, recover: true); buildPiece.Snapshot(); }; } private static void SetupAshlandRocks() { Clone clone = new Clone("Ashlands_rock1"); clone.OnCreated += delegate(GameObject prefab) { //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<StaticPhysics>(); prefab.Remove<Destructible>(); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(0.5f); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_ashlands_rock1"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_groundOnly = true; val2.m_placeEffect = new EffectListRef("vfx_Place_workbench", "sfx_build_hammer_stone").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("sfx_rock_hit", "vfx_RockHit").m_effectList; val3.m_destroyedEffect = new EffectListRef("sfx_rock_destroyed", "vfx_RockDestroyed_large").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_materialType = (MaterialType)1; val3.m_health = 30f; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Ashlands Rock"); buildPiece.RequiredItems.Add("Stone", 10, recover: true); buildPiece.Snapshot(); }; Clone clone2 = new Clone("Ashlands_rock2"); clone2.OnCreated += delegate(GameObject prefab) { //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<StaticPhysics>(); prefab.Remove<Destructible>(); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(0.5f); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_ashlands_rock2"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_groundOnly = true; val2.m_placeEffect = new EffectListRef("vfx_Place_workbench", "sfx_build_hammer_stone").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("sfx_rock_hit", "vfx_RockHit").m_effectList; val3.m_destroyedEffect = new EffectListRef("sfx_rock_destroyed", "vfx_RockDestroyed_large").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_materialType = (MaterialType)1; val3.m_health = 30f; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Ashlands Rock"); buildPiece.RequiredItems.Add("Stone", 10, recover: true); buildPiece.Snapshot(); }; Clone clone3 = new Clone("cliff_ashlands1"); clone3.OnCreated += delegate(GameObject prefab) { //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<StaticPhysics>(); prefab.Remove<Destructible>(); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(0.5f); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_ashlands_cliff1"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_groundOnly = true; val2.m_placeEffect = new EffectListRef("vfx_Place_workbench", "sfx_build_hammer_stone").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("sfx_rock_hit", "vfx_CoalHit").m_effectList; val3.m_destroyedEffect = new EffectListRef("sfx_rock_destroyed", "vfx_GraustenDestroyed").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_materialType = (MaterialType)1; val3.m_health = 30f; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Ashlands Cliff"); buildPiece.RequiredItems.Add("Grausten", 10, recover: true); buildPiece.Snapshot(); }; Clone clone4 = new Clone("cliff_ashlands2"); clone4.OnCreated += delegate(GameObject prefab) { //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<StaticPhysics>(); prefab.Remove<Destructible>(); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(0.5f); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_ashlands_cliff2"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_groundOnly = true; val2.m_placeEffect = new EffectListRef("vfx_Place_workbench", "sfx_build_hammer_stone").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("sfx_rock_hit", "vfx_CoalHit").m_effectList; val3.m_destroyedEffect = new EffectListRef("sfx_rock_destroyed", "vfx_GraustenDestroyed").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_materialType = (MaterialType)1; val3.m_health = 30f; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Ashlands Boulder"); buildPiece.RequiredItems.Add("Grausten", 10, recover: true); buildPiece.Snapshot(); }; Clone clone5 = new Clone("cliff_ashlands3_Arch_1"); clone5.OnCreated += delegate(GameObject prefab) { //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<StaticPhysics>(); prefab.Remove<Destructible>(); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(0.8f); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_ashlands_cliff3_arch"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_groundOnly = true; val2.m_placeEffect = new EffectListRef("vfx_Place_workbench", "sfx_build_hammer_stone").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("sfx_rock_hit", "vfx_CoalHit").m_effectList; val3.m_destroyedEffect = new EffectListRef("sfx_rock_destroyed", "vfx_GraustenDestroyed").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_materialType = (MaterialType)1; val3.m_health = 30f; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Ashlands Arch"); buildPiece.RequiredItems.Add("Grausten", 10, recover: true); buildPiece.Snapshot(); }; Clone clone6 = new Clone("cliff_ashlands4"); clone6.OnCreated += delegate(GameObject prefab) { //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<StaticPhysics>(); prefab.Remove<Destructible>(); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(0.8f); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_ashlands_cliff4"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_groundOnly = true; val2.m_placeEffect = new EffectListRef("vfx_Place_workbench", "sfx_build_hammer_stone").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("sfx_rock_hit", "vfx_CoalHit").m_effectList; val3.m_destroyedEffect = new EffectListRef("sfx_rock_destroyed", "vfx_GraustenDestroyed").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_materialType = (MaterialType)1; val3.m_health = 30f; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Ashlands Spire"); buildPiece.RequiredItems.Add("Grausten", 10, recover: true); buildPiece.Snapshot(); }; Clone clone7 = new Clone("cliff_ashlands5"); clone7.OnCreated += delegate(GameObject prefab) { //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<StaticPhysics>(); prefab.Remove<Destructible>(); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(0.5f); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_ashlands_cliff5"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_groundOnly = true; val2.m_placeEffect = new EffectListRef("vfx_Place_workbench", "sfx_build_hammer_stone").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("sfx_rock_hit", "vfx_CoalHit").m_effectList; val3.m_destroyedEffect = new EffectListRef("sfx_rock_destroyed", "vfx_GraustenDestroyed").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_materialType = (MaterialType)1; val3.m_health = 30f; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Ashlands Boulder"); buildPiece.RequiredItems.Add("Grausten", 10, recover: true); buildPiece.Snapshot(); }; Clone clone8 = new Clone("cliff_ashlands6"); clone8.OnCreated += delegate(GameObject prefab) { //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<StaticPhysics>(); prefab.Remove<Destructible>(); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(0.5f); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_ashlands_cliff6"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_groundOnly = true; val2.m_placeEffect = new EffectListRef("vfx_Place_workbench", "sfx_build_hammer_stone").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("sfx_rock_hit", "vfx_CoalHit").m_effectList; val3.m_destroyedEffect = new EffectListRef("sfx_rock_destroyed", "vfx_GraustenDestroyed").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_materialType = (MaterialType)1; val3.m_health = 30f; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Ashlands Boulder"); buildPiece.RequiredItems.Add("Grausten", 10, recover: true); buildPiece.Snapshot(); }; Clone clone9 = new Clone("cliff_ashlands7_HalfArch"); clone9.OnCreated += delegate(GameObject prefab) { //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<StaticPhysics>(); prefab.Remove<Destructible>(); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(0.8f); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_ashlands_cliff7_arch"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_groundOnly = true; val2.m_placeEffect = new EffectListRef("vfx_Place_workbench", "sfx_build_hammer_stone").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("sfx_rock_hit", "vfx_CoalHit").m_effectList; val3.m_destroyedEffect = new EffectListRef("sfx_rock_destroyed", "vfx_GraustenDestroyed").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_materialType = (MaterialType)1; val3.m_health = 30f; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Ashlands Half Arch"); buildPiece.RequiredItems.Add("Grausten", 10, recover: true); buildPiece.Snapshot(); }; Clone clone10 = new Clone("cliff_ashlands8"); clone10.OnCreated += delegate(GameObject prefab) { //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<StaticPhysics>(); prefab.Remove<Destructible>(); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(0.5f); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_ashlands_cliff8"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_groundOnly = true; val2.m_placeEffect = new EffectListRef("vfx_Place_workbench", "sfx_build_hammer_stone").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("sfx_rock_hit", "vfx_CoalHit").m_effectList; val3.m_destroyedEffect = new EffectListRef("sfx_rock_destroyed", "vfx_GraustenDestroyed").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_materialType = (MaterialType)1; val3.m_health = 30f; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Ashlands Boulder"); buildPiece.RequiredItems.Add("Grausten", 10, recover: true); buildPiece.Snapshot(); }; Clone clone11 = new Clone("FernAshlands"); clone11.OnCreated += delegate(GameObject prefab) { //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<Destructible>(); prefab.Remove<StaticPhysics>(); Collider[] componentsInChildren = prefab.GetComponentsInChildren<Collider>(); foreach (Collider val in componentsInChildren) { Object.DestroyImmediate((Object)(object)val); } GameObject val2 = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); Collider val3 = prefab.AddCollider(); val3.excludeLayers = LayerMask.op_Implicit(LayerMask.GetMask(new string[1] { "character" })); Piece val4 = prefab.AddComponent<Piece>(); val4.m_name = "$piece_fern_ashlands"; val4.m_category = (PieceCategory)0; val4.m_usage = (UsageTagFlags)512; val4.m_clipEverything = true; val4.m_placeEffect = new EffectListRef("vfx_Place_wood_wall", "sfx_build_hammer_default").m_effectList; WearNTear val5 = prefab.AddComponent<WearNTear>(); val5.m_hitEffect = new EffectListRef("vfx_FernAshlands_puff", "sfx_bush_hit").m_effectList; val5.m_destroyedEffect = new EffectListRef("vfx_FernAshlands_destroyed").m_effectList; val5.m_new = val2; val5.m_worn = val2; val5.m_wet = val2; val5.m_broken = val2; val5.m_materialType = (MaterialType)0; val5.m_health = 30f; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Ashlands Fern"); buildPiece.RequiredItems.Add("Fiddleheadfern", 1, recover: true); buildPiece.Snapshot(); }; Clone clone12 = new Clone("FernFiddleHeadAshlands"); clone12.OnCreated += delegate(GameObject prefab) { //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<Destructible>(); prefab.Remove<StaticPhysics>(); Collider[] componentsInChildren = prefab.GetComponentsInChildren<Collider>(); foreach (Collider val in componentsInChildren) { Object.DestroyImmediate((Object)(object)val); } GameObject val2 = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); Collider val3 = prefab.AddCollider(); val3.excludeLayers = LayerMask.op_Implicit(LayerMask.GetMask(new string[1] { "character" })); Piece val4 = prefab.AddComponent<Piece>(); val4.m_name = "$piece_fern_fiddlehead_ashlands"; val4.m_category = (PieceCategory)0; val4.m_usage = (UsageTagFlags)512; val4.m_clipEverything = true; val4.m_placeEffect = new EffectListRef("vfx_Place_wood_wall", "sfx_build_hammer_default").m_effectList; WearNTear val5 = prefab.AddComponent<WearNTear>(); val5.m_hitEffect = new EffectListRef("vfx_FernAshlands_puff", "sfx_bush_hit").m_effectList; val5.m_destroyedEffect = new EffectListRef("vfx_FernAshlands_destroyed").m_effectList; val5.m_new = val2; val5.m_worn = val2; val5.m_wet = val2; val5.m_broken = val2; val5.m_materialType = (MaterialType)0; val5.m_health = 30f; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Fiddlehead"); buildPiece.RequiredItems.Add("Fiddleheadfern", 1, recover: true); buildPiece.Snapshot(); }; Clone clone13 = new Clone("FlametalRockstand"); clone13.OnCreated += delegate(GameObject prefab) { //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<Destructible>(); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(0.7f); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_flametal_rockstand"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_placeEffect = new EffectListRef("vfx_Place_throne02", "sfx_build_hammer_stone").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("sfx_rock_hit", "vfx_CoalHit").m_effectList; val3.m_destroyedEffect = new EffectListRef("sfx_rock_destroyed", "vfx_CoalDestroyed").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_supports = false; val3.m_materialType = (MaterialType)0; val3.m_health = 80f; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Ashlands Rock Stand"); buildPiece.RequiredItems.Add("Grausten", 10, recover: true); buildPiece.Snapshot(); }; Clone clone14 = new Clone("lavabomb_rock1"); clone14.OnCreated += delegate(GameObject prefab) { //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<ConditionalObject>(); prefab.Remove<Destructible>(); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(0.5f); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_lavabomb_rock"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_placeEffect = new EffectListRef("vfx_Place_pole", "sfx_build_hammer_stone").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("vfx_RockHit", "sfx_rock_hit").m_effectList; val3.m_destroyedEffect = new EffectListRef("sfx_rock_destroyed", "vfx_CoalDestroyed").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_supports = false; val3.m_materialType = (MaterialType)1; val3.m_health = 1000f; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Lava Bomb Platform"); buildPiece.RequiredItems.Add("Grausten", 4, recover: true); buildPiece.Snapshot(); }; Clone clone15 = new Clone("lavarock_ashlands1"); clone15.OnCreated += delegate(GameObject prefab) { //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<Destructible>(); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(0.5f); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_lavarock_ashlands"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_placeEffect = new EffectListRef("vfx_Place_pole", "sfx_build_hammer_stone").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("vfx_RockHit", "sfx_rock_hit").m_effectList; val3.m_destroyedEffect = new EffectListRef("sfx_rock_destroyed", "vfx_CoalDestroyed").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_supports = false; val3.m_materialType = (MaterialType)1; val3.m_health = 1000f; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Ashlands Rock Spire"); buildPiece.RequiredItems.Add("Grausten", 4, recover: true); buildPiece.Snapshot(); }; } private static void SetupAshlandsTrees() { Clone clone = new Clone("AshlandsBranch1"); clone.OnCreated += delegate(GameObject prefab) { //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<DropOnDestroyed>(); prefab.Remove<HoverText>(); prefab.Remove<Destructible>(); prefab.Remove<StaticPhysics>(); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(0.5f); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_ashlands_branch1"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_placeEffect = new EffectListRef("vfx_Place_workbench", "sfx_build_hammer_wood").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("vfx_SawDust", "sfx_tree_hit").m_effectList; val3.m_destroyedEffect = new EffectListRef("sfx_wood_break", "vfx_fir_oldlog").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_materialType = (MaterialType)0; val3.m_health = 80f; val3.m_supports = false; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Ashlands Log"); buildPiece.RequiredItems.Add("Blackwood", 4, recover: true); buildPiece.Snapshot(); }; Clone clone2 = new Clone("AshlandsBranch2"); clone2.OnCreated += delegate(GameObject prefab) { //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<DropOnDestroyed>(); prefab.Remove<HoverText>(); prefab.Remove<Destructible>(); prefab.Remove<StaticPhysics>(); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_ashlands_branch2"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_placeEffect = new EffectListRef("vfx_Place_workbench", "sfx_build_hammer_wood").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("vfx_SawDust", "sfx_tree_hit").m_effectList; val3.m_destroyedEffect = new EffectListRef("sfx_wood_break", "vfx_fir_oldlog").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_materialType = (MaterialType)0; val3.m_health = 80f; val3.m_supports = false; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Ashlands Branch"); buildPiece.RequiredItems.Add("Blackwood", 1, recover: true); buildPiece.Snapshot(); }; Clone clone3 = new Clone("AshlandsBranch3"); clone3.OnCreated += delegate(GameObject prefab) { //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<DropOnDestroyed>(); prefab.Remove<HoverText>(); prefab.Remove<Destructible>(); prefab.Remove<StaticPhysics>(); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(0.5f); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_ashlands_branch3"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_placeEffect = new EffectListRef("vfx_Place_workbench", "sfx_build_hammer_wood").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("vfx_SawDust", "sfx_tree_hit").m_effectList; val3.m_destroyedEffect = new EffectListRef("sfx_wood_break", "vfx_fir_oldlog").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_materialType = (MaterialType)0; val3.m_health = 80f; val3.m_supports = false; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Ashlands Log"); buildPiece.RequiredItems.Add("Blackwood", 4, recover: true); buildPiece.Snapshot(); }; Clone clone4 = new Clone("AshlandsBush1"); clone4.OnCreated += delegate(GameObject prefab) { //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<DropOnDestroyed>(); prefab.Remove<Destructible>(); prefab.Remove<StaticPhysics>(); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_ashlands_stub"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_placeEffect = new EffectListRef("vfx_Place_workbench", "sfx_build_hammer_wood").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("vfx_SawDust", "sfx_tree_hit").m_effectList; val3.m_destroyedEffect = new EffectListRef("sfx_wood_break", "vfx_fir_oldlog").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_materialType = (MaterialType)0; val3.m_health = 80f; val3.m_supports = false; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Ashlands Stub"); buildPiece.RequiredItems.Add("Blackwood", 4, recover: true); buildPiece.Snapshot(); }; Clone clone5 = new Clone("AshlandsTree1"); clone5.OnCreated += delegate(GameObject prefab) { //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<TreeBase>(); prefab.Remove<StaticPhysics>(); prefab.Remove<HoverText>(); CapsuleCollider componentInChildren = prefab.GetComponentInChildren<CapsuleCollider>(); Object.DestroyImmediate((Object)(object)componentInChildren); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(0.9f); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_ashlands_tree"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_groundOnly = true; val2.m_placeEffect = new EffectListRef("vfx_Place_workbench", "sfx_build_hammer_wood").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("vfx_SawDust_Ashlands", "sfx_tree_hit").m_effectList; val3.m_destroyedEffect = new EffectListRef("sfx_wood_break", "vfx_fir_oldlog").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_materialType = (MaterialType)0; val3.m_health = 80f; val3.m_supports = false; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Ashlands Tree"); buildPiece.RequiredItems.Add("Blackwood", 10, recover: true); buildPiece.Snapshot(); }; Clone clone6 = new Clone("AshlandsTree3"); clone6.OnCreated += delegate(GameObject prefab) { //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<TreeBase>(); prefab.Remove<StaticPhysics>(); prefab.Remove<HoverText>(); CapsuleCollider componentInChildren = prefab.GetComponentInChildren<CapsuleCollider>(); Object.DestroyImmediate((Object)(object)componentInChildren); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(0.9f); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_ashlands_tree"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_groundOnly = true; val2.m_placeEffect = new EffectListRef("vfx_Place_workbench", "sfx_build_hammer_wood").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("vfx_SawDust_Ashlands", "sfx_tree_hit").m_effectList; val3.m_destroyedEffect = new EffectListRef("sfx_wood_break", "vfx_fir_oldlog").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_materialType = (MaterialType)0; val3.m_health = 80f; val3.m_supports = false; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Ashlands Tree"); buildPiece.RequiredItems.Add("Blackwood", 10, recover: true); buildPiece.Snapshot(); }; Clone clone7 = new Clone("AshlandsTree4"); clone7.OnCreated += delegate(GameObject prefab) { //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<TreeBase>(); prefab.Remove<StaticPhysics>(); prefab.Remove<HoverText>(); CapsuleCollider componentInChildren = prefab.GetComponentInChildren<CapsuleCollider>(); Object.DestroyImmediate((Object)(object)componentInChildren); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(0.9f); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_ashlands_tree"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_groundOnly = true; val2.m_placeEffect = new EffectListRef("vfx_Place_workbench", "sfx_build_hammer_wood").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("vfx_SawDust_Ashlands", "sfx_tree_hit").m_effectList; val3.m_destroyedEffect = new EffectListRef("sfx_wood_break", "vfx_fir_oldlog").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_materialType = (MaterialType)0; val3.m_health = 80f; val3.m_supports = false; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Ashlands Tree"); buildPiece.RequiredItems.Add("Blackwood", 10, recover: true); buildPiece.Snapshot(); }; Clone clone8 = new Clone("AshlandsTree5"); clone8.OnCreated += delegate(GameObject prefab) { //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<TreeBase>(); prefab.Remove<StaticPhysics>(); prefab.Remove<HoverText>(); CapsuleCollider componentInChildren = prefab.GetComponentInChildren<CapsuleCollider>(); Object.DestroyImmediate((Object)(object)componentInChildren); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(0.9f); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_ashlands_tree"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_groundOnly = true; val2.m_placeEffect = new EffectListRef("vfx_Place_workbench", "sfx_build_hammer_wood").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("vfx_SawDust_Ashlands", "sfx_tree_hit").m_effectList; val3.m_destroyedEffect = new EffectListRef("sfx_wood_break", "vfx_fir_oldlog").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_materialType = (MaterialType)0; val3.m_health = 80f; val3.m_supports = false; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Ashlands Tree"); buildPiece.RequiredItems.Add("Blackwood", 10, recover: true); buildPiece.Snapshot(); }; Clone clone9 = new Clone("AshlandsTree6"); clone9.OnCreated += delegate(GameObject prefab) { //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<TreeBase>(); prefab.Remove<StaticPhysics>(); prefab.Remove<HoverText>(); CapsuleCollider componentInChildren = prefab.GetComponentInChildren<CapsuleCollider>(); Object.DestroyImmediate((Object)(object)componentInChildren); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(0.85f); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_ashlands_tree"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_groundOnly = true; val2.m_placeEffect = new EffectListRef("vfx_Place_workbench", "sfx_build_hammer_wood").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("vfx_SawDust_Ashlands", "sfx_tree_hit").m_effectList; val3.m_destroyedEffect = new EffectListRef("sfx_wood_break", "vfx_fir_oldlog").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_materialType = (MaterialType)0; val3.m_health = 80f; val3.m_supports = false; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Ashlands Tree"); buildPiece.RequiredItems.Add("Blackwood", 10, recover: true); buildPiece.Snapshot(); }; Clone clone10 = new Clone("AshlandsTree6_big"); clone10.OnCreated += delegate(GameObject prefab) { //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<TreeBase>(); prefab.Remove<StaticPhysics>(); prefab.Remove<HoverText>(); CapsuleCollider componentInChildren = prefab.GetComponentInChildren<CapsuleCollider>(); Object.DestroyImmediate((Object)(object)componentInChildren); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(0.85f); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_ashlands_tree_big"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_groundOnly = true; val2.m_placeEffect = new EffectListRef("vfx_Place_workbench", "sfx_build_hammer_wood").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("vfx_SawDust_Ashlands", "sfx_tree_hit").m_effectList; val3.m_destroyedEffect = new EffectListRef("sfx_wood_break", "vfx_fir_oldlog").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_supports = false; val3.m_materialType = (MaterialType)0; val3.m_health = 80f; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Ashlands Large Tree"); buildPiece.RequiredItems.Add("Blackwood", 20, recover: true); buildPiece.Snapshot(); }; Clone clone11 = new Clone("AshlandsTreeStump1"); clone11.OnCreated += delegate(GameObject prefab) { //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_0120: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<DropOnDestroyed>(); prefab.Remove<Destructible>(); prefab.Remove<StaticPhysics>(); prefab.Remove<HoverText>(); MeshCollider componentInChildren = prefab.GetComponentInChildren<MeshCollider>(); componentInChildren.convex = false; GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(0.5f); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_ashlands_stump"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_groundOnly = true; val2.m_placeEffect = new EffectListRef("vfx_Place_workbench", "sfx_build_hammer_wood").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("vfx_SawDust_Ashlands", "sfx_tree_hit").m_effectList; val3.m_destroyedEffect = new EffectListRef("sfx_wood_break", "vfx_fir_oldlog").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_supports = false; val3.m_materialType = (MaterialType)0; val3.m_health = 80f; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Ashlands Stump"); buildPiece.RequiredItems.Add("Blackwood", 2, recover: true); buildPiece.Snapshot(); }; Clone clone12 = new Clone("AshlandsTreeStump2"); clone12.OnCreated += delegate(GameObject prefab) { //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_0119: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<DropOnDestroyed>(); prefab.Remove<Destructible>(); prefab.Remove<StaticPhysics>(); prefab.Remove<HoverText>(); MeshCollider componentInChildren = prefab.GetComponentInChildren<MeshCollider>(); componentInChildren.convex = false; GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(0.5f); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_ashlands_stump"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_groundOnly = true; val2.m_placeEffect = new EffectListRef("vfx_Place_workbench", "sfx_build_hammer_wood").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("vfx_SawDust_Ashlands", "sfx_tree_hit").m_effectList; val3.m_destroyedEffect = new EffectListRef("sfx_wood_break", "vfx_fir_oldlog").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_materialType = (MaterialType)0; val3.m_health = 80f; val3.m_supports = false; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Ashlands Stump"); buildPiece.RequiredItems.Add("Blackwood", 2, recover: true); buildPiece.Snapshot(); }; Clone clone13 = new Clone("AshlandsTreeStump3"); clone13.OnCreated += delegate(GameObject prefab) { //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_0119: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<DropOnDestroyed>(); prefab.Remove<Destructible>(); prefab.Remove<StaticPhysics>(); prefab.Remove<HoverText>(); MeshCollider componentInChildren = prefab.GetComponentInChildren<MeshCollider>(); componentInChildren.convex = false; GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(0.5f); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_ashlands_stump"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_groundOnly = true; val2.m_placeEffect = new EffectListRef("vfx_Place_workbench", "sfx_build_hammer_wood").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("vfx_SawDust_Ashlands", "sfx_tree_hit").m_effectList; val3.m_destroyedEffect = new EffectListRef("sfx_wood_break", "vfx_fir_oldlog").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_materialType = (MaterialType)0; val3.m_health = 80f; val3.m_supports = false; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Ashlands Stump"); buildPiece.RequiredItems.Add("Blackwood", 2, recover: true); buildPiece.Snapshot(); }; Clone clone14 = new Clone("VineAsh"); clone14.OnCreated += delegate(GameObject prefab) { //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<Vine>(); prefab.Remove<Pickable>(); Piece val = prefab.AddComponent<Piece>(); val.m_name = "$piece_ash_vine"; val.m_category = (PieceCategory)0; val.m_usage = (UsageTagFlags)512; val.m_placeEffect = new EffectListRef("vfx_Place_pole", "sfx_build_hammer_default"); BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Ash Vine"); buildPiece.RequiredItems.Add("VineberrySeeds", 1, recover: true); buildPiece.Snapshot(); }; Clone clone15 = new Clone("VineAsh_sapling"); clone15.OnCreated += delegate(GameObject prefab) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_00f0: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<Plant>(); prefab.Remove<Destructible>(); Collider val = prefab.AddCollider(); val.excludeLayers = LayerMask.op_Implicit(LayerMask.GetMask(new string[1] { "character" })); GameObject val2 = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); Piece component = prefab.GetComponent<Piece>(); component.m_name = "$piece_sapling_vine_ash"; component.m_description = "$piece_sapling_vine_ash_desc"; component.m_category = (PieceCategory)0; component.m_usage = (UsageTagFlags)512; component.m_cultivatedGroundOnly = false; component.m_canBeRemoved = true; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("sfx_bush_hit", "vfx_SawDust").m_effectList; val3.m_destroyedEffect = new EffectListRef("sfx_bush_hit").m_effectList; val3.m_new = val2; val3.m_worn = val2; val3.m_wet = val2; val3.m_broken = val2; val3.m_materialType = (MaterialType)0; val3.m_health = 30f; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Vineberry Sapling"); buildPiece.Description.English(""); buildPiece.RequiredItems.Add("VineberrySeeds", 1, recover: true); }; Clone clone16 = new Clone("volture_strawpile"); clone16.OnCreated += delegate(GameObject prefab) { //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<Destructible>(); GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); Collider val2 = prefab.AddCollider(0.9f); val2.excludeLayers = LayerMask.op_Implicit(LayerMask.GetMask(new string[1] { "character" })); Piece val3 = prefab.AddComponent<Piece>(); val3.m_name = "$piece_volture_straw_pile"; val3.m_category = (PieceCategory)0; val3.m_usage = (UsageTagFlags)512; val3.m_placeEffect = new EffectListRef("vfx_Place_pole", "sfx_build_hammer_default"); WearNTear val4 = prefab.AddComponent<WearNTear>(); val4.m_hitEffect = new EffectListRef("vfx_SawDust"); val4.m_destroyedEffect = new EffectListRef("vfx_SawDust"); val4.m_new = val; val4.m_worn = val; val4.m_wet = val; val4.m_broken = val; val4.m_materialType = (MaterialType)6; val4.m_health = 80f; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Volture Nest"); buildPiece.RequiredItems.Add("Barley", 5, recover: true); buildPiece.RequiredItems.Add("VoltureEgg", 1, recover: true); buildPiece.Snapshot(); }; Clone clone17 = new Clone("Ashlands_Altar"); clone17.OnCreated += delegate(GameObject prefab) { //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<DropOnDestroyed>(); if (!prefab.HasCollider()) { prefab.AddCollider(); } Piece val = prefab.AddComponent<Piece>(); val.m_name = "$piece_ashlands_altar"; val.m_category = (PieceCategory)0; val.m_usage = (UsageTagFlags)512; val.m_placeEffect = new EffectListRef("vfx_Place_pole", "sfx_build_hammer_default"); BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Ashlands Altar"); buildPiece.RequiredItems.Add("Blackwood", 5, recover: true); buildPiece.RequiredItems.Add("FlametalNew", 1, recover: true); buildPiece.Snapshot(); }; Clone clone18 = new Clone("Ashlands_Boss_Pillar"); clone18.OnCreated += delegate(GameObject prefab) { //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<DropOnDestroyed>(); if (!prefab.HasCollider()) { prefab.AddCollider(); } Piece val = prefab.AddComponent<Piece>(); val.m_name = "$piece_ashlands_boss_pillar"; val.m_category = (PieceCategory)0; val.m_usage = (UsageTagFlags)512; val.m_placeEffect = new EffectListRef("vfx_Place_pole", "sfx_build_hammer_default"); BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Fader Pillar"); buildPiece.RequiredItems.Add("Blackwood", 5, recover: true); buildPiece.RequiredItems.Add("Grausten", 5, recover: true); buildPiece.Snapshot(); }; Clone clone19 = new Clone("Ashlands_Boss_Pillar_Twist_broken1"); clone19.OnCreated += delegate(GameObject prefab) { //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<DropOnDestroyed>(); if (!prefab.HasCollider()) { prefab.AddCollider(); } Piece val = prefab.AddComponent<Piece>(); val.m_name = "$piece_ashlands_boss_pillar"; val.m_category = (PieceCategory)0; val.m_usage = (UsageTagFlags)512; val.m_placeEffect = new EffectListRef("vfx_Place_pole", "sfx_build_hammer_default"); BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Fader Pillar"); buildPiece.RequiredItems.Add("Blackwood", 5, recover: true); buildPiece.RequiredItems.Add("Grausten", 5, recover: true); buildPiece.Snapshot(); }; Clone clone20 = new Clone("Ashlands_Boss_Pillar_Twist_broken2"); clone20.OnCreated += delegate(GameObject prefab) { //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<DropOnDestroyed>(); if (!prefab.HasCollider()) { prefab.AddCollider(); } Piece val = prefab.AddComponent<Piece>(); val.m_name = "$piece_ashlands_boss_pillar"; val.m_category = (PieceCategory)0; val.m_usage = (UsageTagFlags)512; val.m_placeEffect = new EffectListRef("vfx_Place_pole", "sfx_build_hammer_default"); BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Fader Pillar"); buildPiece.RequiredItems.Add("Blackwood", 5, recover: true); buildPiece.RequiredItems.Add("Grausten", 5, recover: true); buildPiece.Snapshot(); }; Clone clone21 = new Clone("Ashlands_Boss_Pillar_Twist_broken3"); clone21.OnCreated += delegate(GameObject prefab) { //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<DropOnDestroyed>(); if (!prefab.HasCollider()) { prefab.AddCollider(); } Piece val = prefab.AddComponent<Piece>(); val.m_name = "$piece_ashlands_boss_pillar"; val.m_category = (PieceCategory)0; val.m_usage = (UsageTagFlags)512; val.m_placeEffect = new EffectListRef("vfx_Place_pole", "sfx_build_hammer_default"); BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Fader Pillar"); buildPiece.RequiredItems.Add("Blackwood", 5, recover: true); buildPiece.RequiredItems.Add("Grausten", 5, recover: true); buildPiece.Snapshot(); }; Clone clone22 = new Clone("asksvin_carrion"); clone22.OnCreated += delegate(GameObject prefab) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<DropOnDestroyed>(); prefab.Remove<StaticPhysics>(); Collider val = prefab.AddCollider(); val.excludeLayers = LayerMask.op_Implicit(LayerMask.GetMask(new string[1] { "character" })); Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_asksvin_carrion"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_placeEffect = new EffectListRef("vfx_Place_pole", "sfx_build_hammer_default"); BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Asksvin Carrion"); buildPiece.RequiredItems.Add("BoneFragments", 5, recover: true); buildPiece.RequiredItems.Add("Grausten", 5, recover: true); buildPiece.Snapshot(); }; Clone clone23 = new Clone("asksvin_carrion2"); clone23.OnCreated += delegate(GameObject prefab) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<DropOnDestroyed>(); prefab.Remove<StaticPhysics>(); Collider val = prefab.AddCollider(); val.excludeLayers = LayerMask.op_Implicit(LayerMask.GetMask(new string[1] { "character" })); Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_asksvin_carrion"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_placeEffect = new EffectListRef("vfx_Place_pole", "sfx_build_hammer_default"); BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Asksvin Carrion"); buildPiece.RequiredItems.Add("BoneFragments", 5, recover: true); buildPiece.RequiredItems.Add("Grausten", 5, recover: true); buildPiece.Snapshot(); }; Clone clone24 = new Clone("CharredBanner1"); clone24.OnCreated += delegate(GameObject prefab) { //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<DropOnDestroyed>(); Piece val = prefab.AddComponent<Piece>(); val.m_name = "$piece_charred_banner"; val.m_category = (PieceCategory)0; val.m_usage = (UsageTagFlags)512; val.m_comfort = 1; val.m_comfortGroup = (ComfortGroup)3; val.m_placeEffect = new EffectListRef("vfx_Place_pole", "sfx_build_hammer_default"); BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Charred Banner"); buildPiece.RequiredItems.Add("Coal", 2, recover: true); buildPiece.RequiredItems.Add("Blackwood", 4, recover: true); buildPiece.Snapshot(); }; Clone clone25 = new Clone("CharredBanner2"); clone25.OnCreated += delegate(GameObject prefab) { //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<DropOnDestroyed>(); Piece val = prefab.AddComponent<Piece>(); val.m_name = "$piece_charred_banner"; val.m_category = (PieceCategory)0; val.m_usage = (UsageTagFlags)512; val.m_comfort = 1; val.m_comfortGroup = (ComfortGroup)3; val.m_placeEffect = new EffectListRef("vfx_Place_pole", "sfx_build_hammer_default"); BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Charred Banner"); buildPiece.RequiredItems.Add("Coal", 2, recover: true); buildPiece.RequiredItems.Add("Blackwood", 4, recover: true); buildPiece.Snapshot(); }; Clone clone26 = new Clone("CharredBanner3"); clone26.OnCreated += delegate(GameObject prefab) { //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<DropOnDestroyed>(); Piece val = prefab.AddComponent<Piece>(); val.m_name = "$piece_charred_banner"; val.m_category = (PieceCategory)0; val.m_usage = (UsageTagFlags)512; val.m_comfort = 1; val.m_comfortGroup = (ComfortGroup)3; val.m_placeEffect = new EffectListRef("vfx_Place_wood_pole", "sfx_build_hammer_default"); BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Charred Banner"); buildPiece.RequiredItems.Add("Coal", 2, recover: true); buildPiece.RequiredItems.Add("Blackwood", 4, recover: true); buildPiece.Snapshot(); }; } public static void BlackForest() { Clone clone = new Clone("BigRock"); clone.OnCreated += delegate(GameObject prefab) { //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_010b: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<StaticPhysics>(); prefab.Remove<Destructible>(); MeshCollider componentInChildren = prefab.GetComponentInChildren<MeshCollider>(); componentInChildren.convex = false; GameObject val = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); if (!prefab.HasCollider()) { prefab.AddCollider(0.5f); } Piece val2 = prefab.AddComponent<Piece>(); val2.m_name = "$piece_big_rock"; val2.m_category = (PieceCategory)0; val2.m_usage = (UsageTagFlags)512; val2.m_groundOnly = true; val2.m_placeEffect = new EffectListRef("vfx_Place_workbench", "sfx_build_hammer_stone").m_effectList; WearNTear val3 = prefab.AddComponent<WearNTear>(); val3.m_hitEffect = new EffectListRef("sfx_rock_hit", "vfx_RockHit").m_effectList; val3.m_destroyedEffect = new EffectListRef("sfx_rock_destroyed", "vfx_RockDestroyed_large").m_effectList; val3.m_new = val; val3.m_worn = val; val3.m_wet = val; val3.m_broken = val; val3.m_materialType = (MaterialType)1; val3.m_health = 30f; BuildPiece buildPiece = new BuildPiece(prefab); buildPiece.Category.Set("Nature"); buildPiece.Usage.Set((UsageTagFlags)512); buildPiece.Name.English("Big Rock"); buildPiece.RequiredItems.Add("Stone", 10, recover: true); buildPiece.Snapshot(); }; Clone clone2 = new Clone("BlueberryBush"); clone2.OnCreated += delegate(GameObject prefab) { //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_0155: Unknown result type (might be due to invalid IL or missing references) prefab.Remove<DropOnDestroyed>(); prefab.Remove<Destructible>(); prefab.Remove<Pickable>(); prefab.Remove<StaticPhysics>(); CapsuleCollider componentInChildren = prefab.GetComponentInChildren<CapsuleCollider>(); Object.DestroyImmediate((Object)(object)componentInChildren); SphereCollider[] componentsInChildren = prefab.GetComponentsInChildren<SphereCollider>(); SphereCollider[] array = componentsInChildren; foreach (SphereCollider val in array) { Object.DestroyImmediate((Object)(object)val); } GameObject val2 = prefab.CreateAndSetUnderModel(); prefab.SetLayerRecursively(10); Collider val3 = prefab.AddCollider(0.6f); val3.excludeLayers = LayerMask.op_Implicit(LayerMask.GetMask(new string[1] { "character" })); Piece val4 = prefab.AddComponent<Piece>(); val4.m_name = "$piece_blueberry_bush"; val4.m_category = (PieceCategory)0; val4.m_usage = (UsageTagFlags)512; val4.m_placeEffect = new EffectListRef("vfx_Place_wood_pole", "sfx_build_hammer_default").m_effectList; WearNTear val5 = prefab.AddComponent<WearNTear>(); val5.m_hitEffect = new EffectListRef("vfx_bush_leaf_puff", "sfx_bush_hit").m_effectList;