Please disclose if your mod was created primarily 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 RavenwoodRelics v1.0.1
plugins/RavenwoodRelics/RavenwoodRandomRelics.dll
Decompiled 8 months agousing System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Security.Permissions; using BepInEx; using HarmonyLib; using Jotunn.Configs; using Jotunn.Entities; using Jotunn.Managers; using Jotunn.Utils; using RavenwoodRandomRelics; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("RavenwoodRandomRelics")] [assembly: AssemblyDescription("A Valheim mod that adds custom relics, statues, and decor.")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("James Jones TV")] [assembly: AssemblyProduct("Ravenwood Random Relics Mod")] [assembly: AssemblyCopyright("")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("e3243d22-4307-4008-ba36-9f326008cde5")] [assembly: AssemblyFileVersion("2.2.2")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("2.2.2.0")] namespace JamesJonesTV.RavenwoodRandomRelics { [BepInPlugin("JamesJonesTV.RavenwoodRandomRelics", "Ravenwood Random Relics", "1.0.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class RavenwoodRandomRelics : BaseUnityPlugin { public const string PluginGUID = "JamesJonesTV.RavenwoodRandomRelics"; public const string PluginName = "Ravenwood Random Relics"; public const string PluginVersion = "1.0.0"; private AssetBundle relicsBundle; private void Awake() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) new Harmony("jamesjonestv.scalingdebug").PatchAll(); string directoryName = Path.GetDirectoryName(((BaseUnityPlugin)this).Info.Location); string text = Path.Combine(directoryName, "ravenwoodrandomrelics"); if (!File.Exists(text)) { return; } relicsBundle = AssetUtils.LoadAssetBundle(text); if (!((Object)(object)relicsBundle == (Object)null)) { PrefabManager.OnPrefabsRegistered += delegate { RelicRegistrar.RegisterAllRelics(relicsBundle); }; } } } } namespace RavenwoodRandomRelics { public class HornOfThor : MonoBehaviour, Interactable { public string GetHoverName() { return ""; } public string HoverText() { return ""; } public bool Interact(Humanoid user, bool hold, bool alt) { //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) if (!hold) { GameObject prefab = ZNetScene.instance.GetPrefab("sfx_gjall_alerted"); if ((Object)(object)prefab != (Object)null) { Object.Instantiate<GameObject>(prefab, ((Component)this).transform.position + Vector3.up * 1f, Quaternion.identity); } } return true; } public bool UseItem(Humanoid user, ItemData item) { return false; } } public class PlacementWatcher : MonoBehaviour { public List<GameObject> RegisterList; private void Start() { if (RegisterList != null && !RegisterList.Contains(((Component)this).gameObject)) { RegisterList.Add(((Component)this).gameObject); } } private void OnDestroy() { if (RegisterList != null) { RegisterList.Remove(((Component)this).gameObject); } } } public static class RelicConfigManager { private static string configPath = Path.Combine(Paths.ConfigPath, "RavenwoodRandomRelics.cfg"); public static void SaveConfig(string key, string value) { File.AppendAllText(configPath, key + "=" + value + "\n"); } public static string LoadConfig(string key) { if (!File.Exists(configPath)) { return null; } string[] array = File.ReadAllLines(configPath); foreach (string text in array) { if (text.StartsWith(key + "=")) { return text.Substring(key.Length + 1); } } return null; } } public class RelicRegistration { public string PrefabName; public string DisplayName; public RequirementConfig[] Requirements; public string Description; public int Comfort; public bool IsWerewolf; public bool IsHorn; public RelicRegistration(string prefab, string display, RequirementConfig[] reqs, string desc, int comfort = 0, bool isWerewolf = false, bool isHorn = false) { PrefabName = prefab; DisplayName = display; Requirements = reqs; Description = desc; Comfort = comfort; IsWerewolf = isWerewolf; IsHorn = isHorn; } } public static class RelicRegistrar { private static readonly List<GameObject> placedWerewolves = new List<GameObject>(); public static readonly List<RelicRegistration> AllRegistrations = new List<RelicRegistration> { new RelicRegistration("valkyrie", "Norse Valkyrie", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Bronze", 100, 0, true), new RequirementConfig("FineWood", 25, 0, true) }, "Norse Valkyrie."), new RelicRegistration("armor", "Dark Knight", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Iron", 20, 0, true), new RequirementConfig("FineWood", 15, 0, true) }, "A custom decorative piece."), new RelicRegistration("OdinGuard", "Heimdall", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Bronze", 20, 0, true), new RequirementConfig("FineWood", 15, 0, true) }, "Guardian of Bifröst."), new RelicRegistration("werewolf", "Fenrir the Devourer", (RequirementConfig[])(object)new RequirementConfig[3] { new RequirementConfig("TrophyFenring", 1, 0, true), new RequirementConfig("IronNails", 20, 0, true), new RequirementConfig("Tar", 20, 0, true) }, "A custom decorative piece.", 0, isWerewolf: true), new RelicRegistration("werewolfmirrored", "Fenrir the Devourer mirrored", (RequirementConfig[])(object)new RequirementConfig[3] { new RequirementConfig("TrophyFenring", 1, 0, true), new RequirementConfig("IronNails", 20, 0, true), new RequirementConfig("Tar", 20, 0, true) }, "A custom decorative piece.", 0, isWerewolf: true), new RelicRegistration("werewolfbust", "Fenrir Bust", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("TrophyFenring", 1, 0, true), new RequirementConfig("Stone", 20, 0, true) }, "A custom decorative piece.", 0, isWerewolf: true), new RelicRegistration("gargoyledog", "Gargoyle I", (RequirementConfig[])(object)new RequirementConfig[3] { new RequirementConfig("Stone", 10, 0, true), new RequirementConfig("FineWood", 5, 0, true), new RequirementConfig("Coins", 10, 0, true) }, "A custom decorative piece."), new RelicRegistration("lion", "Lion Statue", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Stone", 40, 0, true), new RequirementConfig("Coins", 40, 0, true) }, "The Lion King."), new RelicRegistration("JapaneseStoneLantern", "Japanese Stone Lantern", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Stone", 20, 0, true), new RequirementConfig("Resin", 20, 0, true) }, "A custom decorative piece."), new RelicRegistration("pedestalplanter", "Pedestal Planter", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Stone", 15, 0, true), new RequirementConfig("Resin", 20, 0, true) }, "A decorative stone urn, perfect for gardens or noble estates."), new RelicRegistration("clock", "Big Bang", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Wood", 25, 0, true), new RequirementConfig("FineWood", 15, 0, true) }, "A custom decorative piece.", 0, isWerewolf: false, isHorn: true), new RelicRegistration("SWC", "Vintage Swiss Wood Cuckoo Clock", (RequirementConfig[])(object)new RequirementConfig[3] { new RequirementConfig("Wood", 10, 0, true), new RequirementConfig("FineWood", 10, 0, true), new RequirementConfig("Coins", 20, 0, true) }, "A custom decorative piece.", 0, isWerewolf: false, isHorn: true), new RelicRegistration("HornX", "Horn of Thor", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("BoneFragments", 25, 0, true), new RequirementConfig("Copper", 5, 0, true) }, "Sound the horn to alert your allies.", 0, isWerewolf: false, isHorn: true), new RelicRegistration("HotAirBalloon", "Hot Air Balloon", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("GreydwarfEye", 10, 0, true), new RequirementConfig("Coins", 10, 0, true) }, "A custom decorative piece.", 1), new RelicRegistration("Picture1", "Ravenwood Vikings", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Wood", 10, 0, true), new RequirementConfig("FineWood", 10, 0, true) }, "Custom decorative picture."), new RelicRegistration("Picture2", "Ravenwood Vikings II", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Wood", 10, 0, true), new RequirementConfig("FineWood", 10, 0, true) }, "Custom decorative picture."), new RelicRegistration("WitchCat", "WitchCat", (RequirementConfig[])(object)new RequirementConfig[1] { new RequirementConfig("Coins", 50, 0, true) }, "A big comfy witchcat. Provides +1 comfort.", 1), new RelicRegistration("WoodenBear", "Wooden Brown Bear", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Coins", 5, 0, true), new RequirementConfig("FineWood", 5, 0, true) }, "A custom decorative piece."), new RelicRegistration("bouquet", "Flower Bouquet", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Thistle", 20, 0, true), new RequirementConfig("Dandelion", 5, 0, true) }, "A custom decorative piece.", 1), new RelicRegistration("AsianTeaSet", "Asian Tea Set", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Stone", 5, 0, true), new RequirementConfig("Coins", 5, 0, true) }, "A custom decorative piece."), new RelicRegistration("AsianTeaSetPlate", "Asian Tea Set Plate", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("FineWood", 5, 0, true), new RequirementConfig("Coins", 5, 0, true) }, "A custom decorative piece."), new RelicRegistration("porcelainteaset", "Porcelain Tea Set", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Stone", 5, 0, true), new RequirementConfig("Coins", 5, 0, true) }, "A custom decorative piece."), new RelicRegistration("skullgoblet", "Skull Goblet", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("BoneFragments", 15, 0, true), new RequirementConfig("Coins", 5, 0, true) }, "A custom decorative piece."), new RelicRegistration("TP", "Toilet Paper", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Wood", 5, 0, true), new RequirementConfig("Dandelion", 5, 0, true) }, "A custom decorative piece.", 0, isWerewolf: false, isHorn: true), new RelicRegistration("DragonBanner", "The Red Dragon", (RequirementConfig[])(object)new RequirementConfig[3] { new RequirementConfig("FineWood", 5, 0, true), new RequirementConfig("Bronze", 3, 0, true), new RequirementConfig("JuteRed", 3, 0, true) }, "A custom decorative piece.", 0, isWerewolf: true), new RelicRegistration("DutchBanner", "Banner of Kings", (RequirementConfig[])(object)new RequirementConfig[4] { new RequirementConfig("FineWood", 2, 0, true), new RequirementConfig("DeerHide", 2, 0, true), new RequirementConfig("Bronze", 1, 0, true), new RequirementConfig("Coins", 5, 0, true) }, "A custom decorative piece.", 0, isWerewolf: true), new RelicRegistration("JapaneseToriiGate", "Japanese Torii Gate I", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Wood", 20, 0, true), new RequirementConfig("FineWood", 20, 0, true) }, "A custom decorative piece."), new RelicRegistration("JPGate", "Japanese Torii Gate II", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Wood", 20, 0, true), new RequirementConfig("FineWood", 20, 0, true) }, "A custom decorative piece."), new RelicRegistration("bear", "Bear Statue", (RequirementConfig[])(object)new RequirementConfig[3] { new RequirementConfig("Stone", 5, 0, true), new RequirementConfig("FineWood", 5, 0, true), new RequirementConfig("Coins", 5, 0, true) }, "A custom decorative piece."), new RelicRegistration("blackdragonskeleton", "Dark Angel", (RequirementConfig[])(object)new RequirementConfig[3] { new RequirementConfig("Iron", 20, 0, true), new RequirementConfig("FineWood", 20, 0, true), new RequirementConfig("Coins", 100, 0, true) }, "A custom decorative piece."), new RelicRegistration("dragon", "Draco", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Eitr", 333, 0, true), new RequirementConfig("Coins", 3333, 0, true) }, "A custom decorative piece."), new RelicRegistration("throne", "Odin", (RequirementConfig[])(object)new RequirementConfig[3] { new RequirementConfig("Stone", 100, 0, true), new RequirementConfig("Bronze", 100, 0, true), new RequirementConfig("Coins", 1000, 0, true) }, "A custom decorative piece."), new RelicRegistration("greythrone", "Grey throne", (RequirementConfig[])(object)new RequirementConfig[3] { new RequirementConfig("Stone", 100, 0, true), new RequirementConfig("Bronze", 20, 0, true), new RequirementConfig("Coins", 200, 0, true) }, "A custom decorative piece."), new RelicRegistration("whitethrone", "White throne", (RequirementConfig[])(object)new RequirementConfig[3] { new RequirementConfig("Stone", 100, 0, true), new RequirementConfig("Bronze", 20, 0, true), new RequirementConfig("Coins", 200, 0, true) }, "A custom decorative piece."), new RelicRegistration("blackthrone", "Black throne", (RequirementConfig[])(object)new RequirementConfig[3] { new RequirementConfig("Stone", 100, 0, true), new RequirementConfig("Bronze", 20, 0, true), new RequirementConfig("Coins", 200, 0, true) }, "A custom decorative piece."), new RelicRegistration("goldenthrone", "Gold throne", (RequirementConfig[])(object)new RequirementConfig[3] { new RequirementConfig("Stone", 100, 0, true), new RequirementConfig("Bronze", 20, 0, true), new RequirementConfig("Coins", 200, 0, true) }, "A custom decorative piece."), new RelicRegistration("BoatinBottle", "The Black Pearl", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Coins", 10, 0, true), new RequirementConfig("FineWood", 10, 0, true) }, "A custom decorative piece."), new RelicRegistration("DeerGlobe", "Deer in a Globe", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Coins", 10, 0, true), new RequirementConfig("FineWood", 10, 0, true) }, "A custom decorative piece."), new RelicRegistration("Rose", "Rose in a Globe", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Thistle", 10, 0, true), new RequirementConfig("Coins", 10, 0, true) }, "A custom decorative piece."), new RelicRegistration("horse", "Horse Brust Statue", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Stone", 10, 0, true), new RequirementConfig("FineWood", 10, 0, true) }, "A custom decorative piece."), new RelicRegistration("BearHead", "Bear Head Trophi", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("FineWood", 10, 0, true), new RequirementConfig("Coins", 40, 0, true) }, "A custom decorative piece."), new RelicRegistration("BoarHead", "Pig Head Trophi", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("FineWood", 10, 0, true), new RequirementConfig("Coins", 40, 0, true) }, "A custom decorative piece."), new RelicRegistration("DeerHead", "Deer Head Trophi", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("FineWood", 10, 0, true), new RequirementConfig("Coins", 40, 0, true) }, "A custom decorative piece."), new RelicRegistration("ElephantHead", "Elefant Head Trophi", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("FineWood", 10, 0, true), new RequirementConfig("Coins", 40, 0, true) }, "A custom decorative piece."), new RelicRegistration("HippoHead", "Hipo Head Trophi", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("FineWood", 10, 0, true), new RequirementConfig("Coins", 40, 0, true) }, "A custom decorative piece."), new RelicRegistration("LionHead", "Lion Head Trophi", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("FineWood", 10, 0, true), new RequirementConfig("Coins", 40, 0, true) }, "A custom decorative piece."), new RelicRegistration("RhinoHead", "Rhino Head Trophi", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("FineWood", 10, 0, true), new RequirementConfig("Coins", 40, 0, true) }, "A custom decorative piece."), new RelicRegistration("Picture_01_A", "Picture 01 A", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Wood", 5, 0, true), new RequirementConfig("FineWood", 5, 0, true) }, "A custom decorative piece."), new RelicRegistration("Picture_02_A", "Picture 02 A", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Wood", 5, 0, true), new RequirementConfig("FineWood", 5, 0, true) }, "A custom decorative piece."), new RelicRegistration("Picture_03_A", "Picture 03 A", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Wood", 5, 0, true), new RequirementConfig("FineWood", 5, 0, true) }, "A custom decorative piece."), new RelicRegistration("Picture_04_A", "Picture 04 A", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Wood", 5, 0, true), new RequirementConfig("FineWood", 5, 0, true) }, "A custom decorative piece."), new RelicRegistration("Picture_05_A", "Picture 05 A", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Wood", 5, 0, true), new RequirementConfig("FineWood", 5, 0, true) }, "A custom decorative piece."), new RelicRegistration("Picture_06_A", "Picture 06 A", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Wood", 5, 0, true), new RequirementConfig("FineWood", 5, 0, true) }, "A custom decorative piece."), new RelicRegistration("Picture_07_A", "Picture 07 A", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Wood", 5, 0, true), new RequirementConfig("FineWood", 5, 0, true) }, "A custom decorative piece."), new RelicRegistration("Picture_08_A", "Picture 08 A", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Wood", 5, 0, true), new RequirementConfig("FineWood", 5, 0, true) }, "A custom decorative piece."), new RelicRegistration("Picture_09_A", "Picture 09 A", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Wood", 5, 0, true), new RequirementConfig("FineWood", 5, 0, true) }, "A custom decorative piece."), new RelicRegistration("Picture_10_A", "Picture 10 A", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Wood", 5, 0, true), new RequirementConfig("FineWood", 5, 0, true) }, "A custom decorative piece."), new RelicRegistration("Picture_01_B", "Picture 01 B", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Wood", 5, 0, true), new RequirementConfig("FineWood", 5, 0, true) }, "A custom decorative piece."), new RelicRegistration("Picture_02_B", "Picture 02 B", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Wood", 5, 0, true), new RequirementConfig("FineWood", 5, 0, true) }, "A custom decorative piece."), new RelicRegistration("Picture_03_B", "Picture 03 B", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Wood", 5, 0, true), new RequirementConfig("FineWood", 5, 0, true) }, "A custom decorative piece."), new RelicRegistration("Picture_04_B", "Picture 04 B", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Wood", 5, 0, true), new RequirementConfig("FineWood", 5, 0, true) }, "A custom decorative piece."), new RelicRegistration("Picture_05_B", "Picture 05 B", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Wood", 5, 0, true), new RequirementConfig("FineWood", 5, 0, true) }, "A custom decorative piece."), new RelicRegistration("Picture_06_B", "Picture 06 B", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Wood", 5, 0, true), new RequirementConfig("FineWood", 5, 0, true) }, "A custom decorative piece."), new RelicRegistration("Picture_07_B", "Picture 07 B", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Wood", 5, 0, true), new RequirementConfig("FineWood", 5, 0, true) }, "A custom decorative piece."), new RelicRegistration("Picture_08_B", "Picture 08 B", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Wood", 5, 0, true), new RequirementConfig("FineWood", 5, 0, true) }, "A custom decorative piece."), new RelicRegistration("Picture_09_B", "Picture 09 B", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Wood", 5, 0, true), new RequirementConfig("FineWood", 5, 0, true) }, "A custom decorative piece."), new RelicRegistration("Picture_10_B", "Picture 10 B", (RequirementConfig[])(object)new RequirementConfig[2] { new RequirementConfig("Wood", 5, 0, true), new RequirementConfig("FineWood", 5, 0, true) }, "A custom decorative piece.") }; public static void RegisterAllRelics(AssetBundle bundle) { foreach (RelicRegistration allRegistration in AllRegistrations) { RegisterRelic(bundle, allRegistration); } } private static void RegisterRelic(AssetBundle bundle, RelicRegistration reg) { //IL_0660: Unknown result type (might be due to invalid IL or missing references) //IL_0667: Expected O, but got Unknown //IL_067d: Unknown result type (might be due to invalid IL or missing references) //IL_0682: Unknown result type (might be due to invalid IL or missing references) //IL_0689: Unknown result type (might be due to invalid IL or missing references) //IL_0695: Expected O, but got Unknown //IL_06a6: Unknown result type (might be due to invalid IL or missing references) //IL_06ab: Unknown result type (might be due to invalid IL or missing references) //IL_06b3: Unknown result type (might be due to invalid IL or missing references) //IL_06bf: Expected O, but got Unknown //IL_06fc: Unknown result type (might be due to invalid IL or missing references) //IL_0703: Expected O, but got Unknown //IL_071a: Unknown result type (might be due to invalid IL or missing references) //IL_071f: Unknown result type (might be due to invalid IL or missing references) //IL_0727: Unknown result type (might be due to invalid IL or missing references) //IL_0733: Expected O, but got Unknown //IL_0744: Unknown result type (might be due to invalid IL or missing references) //IL_0749: Unknown result type (might be due to invalid IL or missing references) //IL_0751: Unknown result type (might be due to invalid IL or missing references) //IL_075d: Expected O, but got Unknown //IL_07b9: Unknown result type (might be due to invalid IL or missing references) //IL_07be: Unknown result type (might be due to invalid IL or missing references) //IL_07ca: Unknown result type (might be due to invalid IL or missing references) //IL_07d6: Unknown result type (might be due to invalid IL or missing references) //IL_07e2: Unknown result type (might be due to invalid IL or missing references) //IL_07f1: Expected O, but got Unknown //IL_081e: Unknown result type (might be due to invalid IL or missing references) //IL_0828: Expected O, but got Unknown if ((Object)(object)bundle == (Object)null) { return; } GameObject val = bundle.LoadAsset<GameObject>(reg.PrefabName); if (!((Object)(object)val == (Object)null)) { ((Object)val).name = reg.PrefabName; ZNetView val2 = val.GetComponent<ZNetView>(); if ((Object)(object)val2 == (Object)null) { val2 = val.AddComponent<ZNetView>(); } val2.m_persistent = true; val2.m_syncInitialScale = true; if (!Object.op_Implicit((Object)(object)val.GetComponent<ZSyncTransform>())) { val.AddComponent<ZSyncTransform>(); } Piece val3 = val.GetComponent<Piece>() ?? val.AddComponent<Piece>(); val3.m_name = reg.DisplayName; val3.m_description = reg.Description; val3.m_groundOnly = false; GameObject val4; GameObject val5; GameObject val6; GameObject val7; if (reg.PrefabName == "HornX") { val4 = null; ZNetScene instance = ZNetScene.instance; val5 = ((instance != null) ? instance.GetPrefab("sfx_build_hammer_crystal") : null); val6 = null; ZNetScene instance2 = ZNetScene.instance; val7 = ((instance2 != null) ? instance2.GetPrefab("sfx_clay_pot_break") : null); } else if (reg.PrefabName == "OdinGuard" || reg.PrefabName == "armor" || reg.PrefabName == "blackdragonskeleton") { ZNetScene instance3 = ZNetScene.instance; val4 = ((instance3 != null) ? instance3.GetPrefab("vfx_Place_stone") : null); ZNetScene instance4 = ZNetScene.instance; val5 = ((instance4 != null) ? instance4.GetPrefab("sfx_build_hammer_metal") : null); ZNetScene instance5 = ZNetScene.instance; val6 = ((instance5 != null) ? instance5.GetPrefab("vfx_destroyed") : null); ZNetScene instance6 = ZNetScene.instance; val7 = ((instance6 != null) ? instance6.GetPrefab("sfx_metal_blocked") : null); } else if (reg.PrefabName == "WoodenBear" || reg.PrefabName == "HotAirBalloon" || reg.PrefabName == "clock" || reg.PrefabName == "JapaneseToriiGate" || reg.PrefabName == "JPGate" || reg.PrefabName == "TP" || reg.PrefabName == "SWC" || reg.PrefabName == "Picture1" || reg.PrefabName == "Picture2" || reg.PrefabName == "Picture_01_A" || reg.PrefabName == "Picture_02_A" || reg.PrefabName == "Picture_03_A" || reg.PrefabName == "Picture_04_A" || reg.PrefabName == "Picture_05_A" || reg.PrefabName == "Picture_06_A" || reg.PrefabName == "Picture_07_A" || reg.PrefabName == "Picture_08_A" || reg.PrefabName == "Picture_09_A" || reg.PrefabName == "Picture_10_A" || reg.PrefabName == "Picture_01_B" || reg.PrefabName == "Picture_02_B" || reg.PrefabName == "Picture_03_B" || reg.PrefabName == "Picture_04_B" || reg.PrefabName == "Picture_05_B" || reg.PrefabName == "Picture_06_B" || reg.PrefabName == "Picture_07_B" || reg.PrefabName == "Picture_08_B" || reg.PrefabName == "Picture_09_B" || reg.PrefabName == "Picture_10_B") { ZNetScene instance7 = ZNetScene.instance; val4 = ((instance7 != null) ? instance7.GetPrefab("vfx_Place_wood") : null); ZNetScene instance8 = ZNetScene.instance; val5 = ((instance8 != null) ? instance8.GetPrefab("sfx_build_hammer_wood") : null); ZNetScene instance9 = ZNetScene.instance; val6 = ((instance9 != null) ? instance9.GetPrefab("vfx_destroyed") : null); ZNetScene instance10 = ZNetScene.instance; val7 = ((instance10 != null) ? instance10.GetPrefab("sfx_wood_break") : null); } else if (reg.PrefabName == "bouquet") { ZNetScene instance11 = ZNetScene.instance; val4 = ((instance11 != null) ? instance11.GetPrefab("vfx_Place_flower") : null); ZNetScene instance12 = ZNetScene.instance; val5 = ((instance12 != null) ? instance12.GetPrefab("sfx_build_cultivator") : null); ZNetScene instance13 = ZNetScene.instance; val6 = ((instance13 != null) ? instance13.GetPrefab("vfx_bush_destroyed") : null); ZNetScene instance14 = ZNetScene.instance; val7 = ((instance14 != null) ? instance14.GetPrefab("sfx_bush_hit") : null); } else if (reg.PrefabName == "skullgoblet" || reg.PrefabName == "porcelainteaset" || reg.PrefabName == "AsianTeaSet" || reg.PrefabName == "AsianTeaSetPlate" || reg.PrefabName == "DeerGlobe" || reg.PrefabName == "BoatinBottle" || reg.PrefabName == "Rose") { val4 = null; ZNetScene instance15 = ZNetScene.instance; val5 = ((instance15 != null) ? instance15.GetPrefab("sfx_build_hammer_crystal") : null); val6 = null; ZNetScene instance16 = ZNetScene.instance; val7 = ((instance16 != null) ? instance16.GetPrefab("sfx_clay_pot_break") : null); } else if (reg.PrefabName == "werewolf" || reg.PrefabName == "werewolfmirrored") { val4 = null; ZNetScene instance17 = ZNetScene.instance; val5 = ((instance17 != null) ? instance17.GetPrefab("sfx_fenring_howl") : null); val6 = null; ZNetScene instance18 = ZNetScene.instance; val7 = ((instance18 != null) ? instance18.GetPrefab("sfx_fenring_death") : null); } else { ZNetScene instance19 = ZNetScene.instance; val4 = ((instance19 != null) ? instance19.GetPrefab("vfx_Place_stone") : null); ZNetScene instance20 = ZNetScene.instance; val5 = ((instance20 != null) ? instance20.GetPrefab("sfx_build_hammer_stone") : null); ZNetScene instance21 = ZNetScene.instance; val6 = ((instance21 != null) ? instance21.GetPrefab("vfx_destroyed") : null); ZNetScene instance22 = ZNetScene.instance; val7 = ((instance22 != null) ? instance22.GetPrefab("sfx_rock_destroyed") : null); } EffectList val8 = new EffectList(); List<EffectData> list = new List<EffectData>(); if ((Object)(object)val4 != (Object)null) { list.Add(new EffectData { m_prefab = val4, m_enabled = true }); } if ((Object)(object)val5 != (Object)null) { list.Add(new EffectData { m_prefab = val5, m_enabled = true }); } val8.m_effectPrefabs = list.ToArray(); val3.m_placeEffect = val8; WearNTear val9 = val.GetComponent<WearNTear>() ?? val.AddComponent<WearNTear>(); val9.m_health = 10000f; val9.m_noRoofWear = true; EffectList val10 = new EffectList(); List<EffectData> list2 = new List<EffectData>(); if ((Object)(object)val6 != (Object)null) { list2.Add(new EffectData { m_prefab = val6, m_enabled = true }); } if ((Object)(object)val7 != (Object)null) { list2.Add(new EffectData { m_prefab = val7, m_enabled = true }); } val10.m_effectPrefabs = list2.ToArray(); val9.m_destroyedEffect = val10; if (reg.Comfort > 0) { val3.m_comfort = reg.Comfort; } Sprite val11 = bundle.LoadAsset<Sprite>(reg.PrefabName.ToLowerInvariant()); if ((Object)(object)val11 != (Object)null) { val3.m_icon = val11; } PieceConfig val12 = new PieceConfig { PieceTable = "Hammer", Category = "RavenwoodRelics", CraftingStation = "piece_workbench", Requirements = reg.Requirements }; if (reg.IsHorn && (Object)(object)val.GetComponent<HornOfThor>() == (Object)null) { val.AddComponent<HornOfThor>(); } PieceManager.Instance.AddPiece(new CustomPiece(val, true, val12)); if (reg.IsWerewolf && (Object)(object)val.GetComponent<PlacementWatcher>() == (Object)null) { val.AddComponent<PlacementWatcher>().RegisterList = placedWerewolves; } } } } }