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 Skill Cap Mod v1.0.14
ValheimSkillCapMod.dll
Decompiled a week ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections.Generic; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Configuration; using BepInEx.Logging; using HarmonyLib; using Jotunn.Configs; using Jotunn.Entities; using Jotunn.Managers; using Jotunn.Utils; using UnityEngine; using UnityEngine.Experimental.Rendering; using UnityEngine.Rendering; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("ValheimSkillCapMod")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("ValheimSkillCapMod")] [assembly: AssemblyCopyright("Copyright © 2026")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("19F0E6BA-DE2B-4504-9801-0F9360E3D9EB")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace MyBepInExPlugin; [BepInPlugin("com.example.GUID", "MyPlugin", "1.0.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Main : BaseUnityPlugin { [HarmonyPatch] private static class ChangeRaiseSkillMethod { public static Player vagonUser; public static bool hasDoubleJumped = false; public static float moveTimer; public static bool canBeInvisible; public static HashSet<string> autoPickables = new HashSet<string> { "Pickable_Dandelion(Clone)", "RaspberryBush(Clone)", "Pickable_Mushroom(Clone)", "BlueberryBush(Clone)" }; private static GameObject _diablo; [HarmonyPrefix] [HarmonyPatch(typeof(Skills), "RaiseSkill")] public static bool RaiseSkill(Skills __instance, SkillType skillType, float factor = 1f) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Invalid comparison between Unknown and I4 //IL_0012: Unknown result type (might be due to invalid IL or missing references) if ((int)skillType == 0) { return false; } float skillLevel = __instance.GetSkillLevel(skillType); float num = skillLevel; float num2 = num; if (num2 >= 10f && num2 < 20f) { if (!ZoneSystem.instance.GetGlobalKeys().Contains("defeated_eikthyr")) { return false; } } else { float num3 = num2; if (num3 >= 20f && num3 < 30f) { if (!ZoneSystem.instance.GetGlobalKeys().Contains("defeated_gdking")) { return false; } } else { float num4 = num2; if (num4 >= 30f && num4 < 40f) { if (!ZoneSystem.instance.GetGlobalKeys().Contains("defeated_bonemass")) { return false; } } else { float num5 = num2; if (num5 >= 40f && num5 < 50f) { if (!ZoneSystem.instance.GetGlobalKeys().Contains("defeated_dragon")) { return false; } } else { float num6 = num2; if (num6 >= 50f && num6 < 60f) { if (!ZoneSystem.instance.GetGlobalKeys().Contains("defeated_goblinking")) { return false; } } else { float num7 = num2; if (num7 >= 60f && num7 < 75f) { if (!ZoneSystem.instance.GetGlobalKeys().Contains("defeated_queen")) { return false; } } else { float num8 = num2; if (num8 >= 75f && num8 < 100f && !ZoneSystem.instance.GetGlobalKeys().Contains("defeated_fader")) { return false; } } } } } } } return true; } [HarmonyPrefix] [HarmonyPatch(typeof(Skills), "OnDeath")] public static bool DoNotLowerSkills() { return false; } [HarmonyPostfix] [HarmonyPatch(typeof(Vagon), "FixedUpdate")] public static void RaiseCarrierSpeed(Vagon __instance) { //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Expected O, but got Unknown if (!(((Object)((Component)__instance).gameObject).name == "TurboCart(Clone)")) { return; } Type type = ((object)__instance).GetType(); FieldInfo field = type.GetField("m_attachedObject", BindingFlags.Instance | BindingFlags.NonPublic); GameObject val = (GameObject)field.GetValue(__instance); if ((Object)(object)val != (Object)null) { if ((Object)(object)vagonUser != (Object)(object)val.GetComponent<Player>()) { vagonUser = val.GetComponent<Player>(); ((Character)vagonUser).m_runSpeed = 21f; ((Character)vagonUser).m_walkSpeed = 12f; } } else if ((Object)(object)vagonUser != (Object)null) { ((Character)vagonUser).m_runSpeed = 7f; ((Character)vagonUser).m_walkSpeed = 4f; vagonUser = null; } } [HarmonyPrefix] [HarmonyPatch(typeof(InventoryGui), "DoCrafting")] public static void AddBonusItem() { SEMan sEMan = ((Character)Player.m_localPlayer).GetSEMan(); InventoryGui.instance.m_craftBonusChance = 0.25f; if (sEMan.GetStatusEffects().Count <= 0) { return; } foreach (StatusEffect statusEffect in sEMan.GetStatusEffects()) { if (((Object)statusEffect).name == "SetEffect_ChefHat") { InventoryGui.instance.m_craftBonusChance = 0.5f; } } } [HarmonyPrefix] [HarmonyPatch(typeof(CookingStation), "OnInteract")] public static void AddBonusItemCooking() { SEMan sEMan = ((Character)Player.m_localPlayer).GetSEMan(); InventoryGui.instance.m_craftBonusChance = 0.25f; if (sEMan.GetStatusEffects().Count <= 0) { return; } foreach (StatusEffect statusEffect in sEMan.GetStatusEffects()) { if (((Object)statusEffect).name == "SetEffect_ChefHat") { InventoryGui.instance.m_craftBonusChance = 0.5f; } } } [HarmonyPrefix] [HarmonyPatch(typeof(Humanoid), "Awake")] public static void ChangeEikthyrHP(Humanoid __instance) { if (((Object)__instance).name == "Eikthyr(Clone)") { ((Character)__instance).m_health = 1000f; } } [HarmonyPrefix] [HarmonyPatch(typeof(Character), "Jump")] public static void DoubleJump(Character __instance) { //IL_006a: Unknown result type (might be due to invalid IL or missing references) if (!hasDoubleJumped && !__instance.IsOnGround() && __instance.IsPlayer() && (Object)(object)__instance == (Object)(object)Player.m_localPlayer && __instance.GetSkillFactor((SkillType)100) >= 0.5f && ((Component)__instance).GetComponent<Player>().GetStamina() > 10f) { hasDoubleJumped = true; __instance.ForceJump(new Vector3(0f, 10f, 0f), true); Type type = ((object)__instance).GetType(); FieldInfo field = type.GetField("m_maxAirAltitude", BindingFlags.Instance | BindingFlags.NonPublic); field.SetValue(__instance, __instance.GetHeight()); } } [HarmonyPrefix] [HarmonyPatch(typeof(Character), "UpdateGroundContact")] public static void ResetDoubleJump(Character __instance) { //IL_005c: Unknown result type (might be due to invalid IL or missing references) if (__instance.IsPlayer() && (Object)(object)__instance == (Object)(object)Player.m_localPlayer && __instance.GetSkillFactor((SkillType)100) >= 0.3f) { Type type = ((object)__instance).GetType(); FieldInfo field = type.GetField("m_maxAirAltitude", BindingFlags.Instance | BindingFlags.NonPublic); float num = Mathf.Max(0f, (float)field.GetValue(__instance) - ((Component)__instance).transform.position.y); if (num < 8f) { SEMan sEMan = __instance.GetSEMan(); sEMan.AddStatusEffect(newHaldorAssetBundle.LoadAsset<StatusEffect>("SetEffect_SlowFall"), false, 0, 0f); } } if (__instance.IsPlayer() && __instance.IsOnGround() && (Object)(object)__instance == (Object)(object)Player.m_localPlayer) { hasDoubleJumped = false; } } [HarmonyPostfix] [HarmonyPatch(typeof(Character), "UpdateGroundContact")] public static void RemoveSlowFall(Character __instance) { if (!__instance.IsPlayer() || !((Object)(object)__instance == (Object)(object)Player.m_localPlayer)) { return; } SEMan sEMan = __instance.GetSEMan(); List<StatusEffect> statusEffects = sEMan.GetStatusEffects(); if (statusEffects.Count <= 0) { return; } bool flag = false; StatusEffect val = ScriptableObject.CreateInstance<StatusEffect>(); foreach (StatusEffect item in statusEffects) { if (item.m_name == "SlowFall") { flag = true; val = item; } } if (flag) { sEMan.RemoveStatusEffect(val, false); } } [HarmonyPostfix] [HarmonyPatch(typeof(Character), "UpdateWalking")] public static void IncreaseSneakSpeed(Character __instance) { if (__instance.IsPlayer() && __instance.IsOnGround() && (Object)(object)__instance == (Object)(object)Player.m_localPlayer && !__instance.IsEncumbered() && __instance.GetSkillFactor((SkillType)101) >= 0.2f) { __instance.m_crouchSpeed = 4.5f; } else if (__instance.IsPlayer() && (Object)(object)__instance == (Object)(object)Player.m_localPlayer) { __instance.m_crouchSpeed = 2f; } } [HarmonyPostfix] [HarmonyPatch(typeof(Humanoid), "CustomFixedUpdate")] public static void Dive(Humanoid __instance) { if (((Character)__instance).IsPlayer() && (Object)(object)__instance == (Object)(object)Player.m_localPlayer) { ((Character)__instance).m_swimDepth = 2f; if (((Character)__instance).IsSwimming() && ((Character)__instance).IsBlocking() && ((Character)__instance).GetStaminaPercentage() > 0.01f && ((Character)__instance).GetSkillFactor((SkillType)103) >= 0.2f) { ((Character)__instance).m_swimDepth = 10f; ((Character)__instance).UseStamina(Mathf.Lerp(0.4f, 0.1f, ((Character)__instance).GetSkillFactor((SkillType)103))); } } } [HarmonyPostfix] [HarmonyPatch(typeof(Player), "GetStealthFactor")] public static void SetInvisible(Player __instance) { //IL_0070: 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) if (((Character)__instance).GetSkillFactor((SkillType)101) >= 0.5f && (Object)(object)__instance == (Object)(object)Player.m_localPlayer && ((Character)__instance).IsCrouching() && canBeInvisible) { Type type = ((object)__instance).GetType(); FieldInfo field = type.GetField("m_stealthFactor", BindingFlags.Instance | BindingFlags.NonPublic); field.SetValue(__instance, 0f); } if (!((Object)(object)__instance == (Object)(object)Player.m_localPlayer)) { goto IL_00a3; } if (!((Character)__instance).InDodge()) { Vector3 velocity = ((Character)__instance).GetVelocity(); if (!(((Vector3)(ref velocity)).magnitude > 0.01f)) { goto IL_00a3; } } moveTimer = 180f; canBeInvisible = false; goto IL_00b5; IL_00b5: if (moveTimer <= 0f) { canBeInvisible = true; } return; IL_00a3: moveTimer -= 1f; goto IL_00b5; } [HarmonyPrefix] [HarmonyPatch(typeof(Humanoid), "HideHandItems")] public static bool AttackWhileSwimming(Humanoid __instance) { //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Invalid comparison between Unknown and I4 if (((Character)__instance).IsPlayer() && (Object)(object)__instance == (Object)(object)Player.m_localPlayer) { int num = 0; Type type = ((object)__instance).GetType(); FieldInfo field = type.GetField("m_leftItem", BindingFlags.Instance | BindingFlags.NonPublic); if (field.GetValue(__instance) == null) { num++; } logger.LogInfo(field.GetValue(__instance)); type = ((object)__instance).GetType(); field = type.GetField("m_rightItem", BindingFlags.Instance | BindingFlags.NonPublic); if (field.GetValue(__instance) == null) { num++; } logger.LogInfo((object)num); if (num == 2) { return false; } if (__instance.RightItem != null && (int)__instance.RightItem.m_shared.m_skillType == 2 && ((Character)__instance).GetSkillFactor((SkillType)103) >= 0.3f) { if (__instance.LeftItem != null) { __instance.UnequipItem(__instance.LeftItem, true); } return false; } } return true; } [HarmonyPrefix] [HarmonyPatch(typeof(TombStone), "Start")] public static void ChangeCorpseRunWeight(TombStone __instance) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Expected O, but got Unknown SE_Stats val = (SE_Stats)__instance.m_lootStatusEffect; val.m_addMaxCarryWeight = 700f; } [HarmonyPrefix] [HarmonyPatch(typeof(Character), "OnDeath")] public static void IncreaseWorldExp(Character __instance) { if (__instance.IsBoss()) { ConfigEntry<float> worldExpModifier = Main.worldExpModifier; worldExpModifier.Value += 0.2f; logger.LogInfo((object)Main.worldExpModifier.Value); } } [HarmonyPostfix] [HarmonyPatch(typeof(Game), "UpdateWorldRates")] public static void ForceSetWorldExpRate() { Game.m_skillGainRate = worldExpModifier.Value; } [HarmonyPatch(typeof(Trader), "Start")] [HarmonyPrefix] public static void SwapHaldor(Trader __instance) { if (((Object)((Component)__instance).gameObject).name == "Haldor(Clone)") { __instance.m_items = PrefabManager.Instance.GetPrefab("newhaldor").GetComponent<Trader>().m_items; } } [HarmonyPostfix] [HarmonyPatch(typeof(Player), "UpdateCover")] public static void HasWaxedCape(Player __instance) { if (!((Object)(object)__instance == (Object)(object)Player.m_localPlayer)) { return; } SEMan sEMan = ((Character)__instance).GetSEMan(); List<StatusEffect> statusEffects = sEMan.GetStatusEffects(); if (statusEffects == null || statusEffects.Count <= 0) { return; } foreach (StatusEffect item in statusEffects) { if (item.m_name == "Waterproof" || item.m_name == "WaterproofSlowFall" || item.m_name == "WaterproofWindRun") { Type type = ((object)__instance).GetType(); FieldInfo field = type.GetField("m_underRoof", BindingFlags.Instance | BindingFlags.NonPublic); field.SetValue(__instance, true); } } } [HarmonyPostfix] [HarmonyPatch(typeof(Player), "Update")] public static void AutoPickBerries(Player __instance) { //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) if (!((Object)(object)__instance == (Object)(object)Player.m_localPlayer)) { return; } _ = ((Component)__instance).transform.position; if (((Character)__instance).GetSEMan() == null) { return; } SEMan sEMan = ((Character)__instance).GetSEMan(); __instance.m_autoPickupRange = 2f; if (sEMan.GetStatusEffects().Count <= 0) { return; } foreach (StatusEffect statusEffect in sEMan.GetStatusEffects()) { if (!(((Object)statusEffect).name == "SetEffect_GathererGloves")) { continue; } __instance.m_autoPickupRange = 4f; Collider[] array = Physics.OverlapSphere(((Component)__instance).transform.position, 4f, -1, (QueryTriggerInteraction)1); if (array.Length == 0 || array == null) { continue; } Collider[] array2 = array; foreach (Collider val in array2) { if ((Object)(object)((Component)val).GetComponentInParent<Pickable>() != (Object)null) { Pickable componentInParent = ((Component)val).GetComponentInParent<Pickable>(); if (autoPickables.Contains(((Object)componentInParent).name)) { componentInParent.Interact((Humanoid)(object)__instance, false, false); } } } } } [HarmonyPostfix] [HarmonyPatch(typeof(Aoe), "Setup")] public static void CheckSetup(Aoe __instance) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) logger.LogInfo((object)__instance.m_damage); } [HarmonyPostfix] [HarmonyPatch(typeof(Player), "Start")] public static void RemovePieceDuplicates() { PieceManager.Instance.RemovePiece("Smelter"); PieceManager.Instance.RemovePiece("cartCopy"); } [HarmonyPostfix] [HarmonyPatch(typeof(Game), "Start")] public static void Remove5PlayersLimit(Game __instance) { __instance.m_difficultyScaleMaxPlayers = 99; } [HarmonyPostfix] [HarmonyPatch(typeof(Pickable), "Awake")] public static void AddFarmingToDandelion(Pickable __instance) { //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) if (((Object)((Component)__instance).gameObject).name == "Pickable_Dandelion(Clone)" || ((Object)((Component)__instance).gameObject).name == "Pickable_SmokePuff(Clone)" || ((Object)((Component)__instance).gameObject).name == "Pickable_Thistle(Clone)") { __instance.m_pickRaiseSkill = (SkillType)106; } if (((Object)((Component)__instance).gameObject).name == "Pickable_MeatPile(Clone)") { DropData item = default(DropData); item.m_item = ZNetScene.instance.GetPrefab("RottenMeat"); item.m_weight = 0.8f; item.m_stackMin = 1; item.m_stackMax = 1; DropTable extraDrops = ((Component)__instance).GetComponent<Pickable>().m_extraDrops; extraDrops.m_dropMax = 4; extraDrops.m_drops.Add(item); } } [HarmonyPrefix] [HarmonyPatch(typeof(ZNet), "SetPublicReferencePosition")] public static bool ForcePublic(ZNet __instance) { Type type = ((object)__instance).GetType(); FieldInfo field = type.GetField("m_publicReferencePosition", BindingFlags.Instance | BindingFlags.NonPublic); field.SetValue(__instance, true); return false; } [HarmonyPostfix] [HarmonyPatch(typeof(Attack), "ProjectileAttackTriggered")] public static void ShootSecondProjectile(Attack __instance) { //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Expected O, but got Unknown //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Invalid comparison between Unknown and I4 //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0080: Invalid comparison between Unknown and I4 //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Expected O, but got Unknown Type type = ((object)__instance).GetType(); FieldInfo field = type.GetField("m_ammoItem", BindingFlags.Instance | BindingFlags.NonPublic); if (field.GetValue(__instance) == null || !(field.GetValue(__instance).GetType() == typeof(ItemData))) { return; } ItemData val = (ItemData)field.GetValue(__instance); if ((int)__instance.m_attackType != 2 || (int)val.m_shared.m_skillType != 8) { return; } type = ((object)__instance).GetType(); field = type.GetField("m_character", BindingFlags.Instance | BindingFlags.NonPublic); if (!(field.GetValue(__instance).GetType() == typeof(Player))) { return; } Player val2 = (Player)field.GetValue(__instance); if ((Object)(object)val2 == (Object)(object)Player.m_localPlayer) { Random random = new Random(); if (((Character)val2).GetSkillFactor((SkillType)8) >= 0.5f && random.Next(2) < 1) { MethodInfo method = typeof(Attack).GetMethod("FireProjectileBurst", BindingFlags.Instance | BindingFlags.NonPublic); method.Invoke(__instance, Array.Empty<object>()); } } } [HarmonyPrefix] [HarmonyPatch(typeof(Projectile), "SpawnOnHit")] public static bool SpearRaycast(Projectile __instance) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Invalid comparison between Unknown and I4 //IL_0024: 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) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_014a: Unknown result type (might be due to invalid IL or missing references) //IL_015a: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_0187: Unknown result type (might be due to invalid IL or missing references) //IL_0197: Unknown result type (might be due to invalid IL or missing references) //IL_01ad: Unknown result type (might be due to invalid IL or missing references) //IL_01c7: Unknown result type (might be due to invalid IL or missing references) //IL_01c9: Unknown result type (might be due to invalid IL or missing references) //IL_01d1: Unknown result type (might be due to invalid IL or missing references) //IL_01d3: Unknown result type (might be due to invalid IL or missing references) //IL_024a: Unknown result type (might be due to invalid IL or missing references) if ((int)__instance.m_type == 64) { ItemDrop component = Object.Instantiate<GameObject>(__instance.m_spawnItem.m_dropPrefab, ((Component)__instance).transform.position + ((Component)__instance).transform.TransformDirection(__instance.m_spawnOffset), Quaternion.identity).GetComponent<ItemDrop>(); component.m_itemData = __instance.m_spawnItem.Clone(); if (component.m_itemData.m_quality > 1) { component.SetQuality(component.m_itemData.m_quality); } bool flag = true; component.m_itemData.m_stack = 1; if (component.m_onDrop != null) { component.m_onDrop(component); } Type type = ((object)__instance).GetType(); FieldInfo field = type.GetField("m_owner", BindingFlags.Instance | BindingFlags.NonPublic); if (field.GetValue(__instance).GetType() == typeof(Player)) { object? value = field.GetValue(__instance); Player val = (Player)((value is Player) ? value : null); if ((Object)(object)val == (Object)(object)Player.m_localPlayer && ((Character)val).GetSkillFactor((SkillType)5) >= 0.3f) { LineRenderer val2 = ((Component)component).gameObject.AddComponent<LineRenderer>(); val2.positionCount = 2; Vector3 val3 = default(Vector3); ((Vector3)(ref val3))..ctor(((Component)__instance).transform.position.x, ((Component)__instance).transform.position.y + 5f, ((Component)__instance).transform.position.z); Vector3 val4 = default(Vector3); ((Vector3)(ref val4))..ctor(((Component)__instance).transform.position.x, ((Component)__instance).transform.position.y - 100f, ((Component)__instance).transform.position.z); Vector3[] positions = (Vector3[])(object)new Vector3[2] { val3, val4 }; val2.SetPositions(positions); val2.SetPositions(positions); Material material = ((Component)PieceManager.Instance.GetPiece("SuperchargedSmelter").PiecePrefab.transform.Find("_enabled/smoke (1)")).GetComponent<Renderer>().material; ((Renderer)val2).material.shader = material.shader; ((Renderer)val2).material.color = new Color(1f, 1f, 1f, 0.25f); val2.widthMultiplier = 0.5f; } } return false; } return true; } [HarmonyPostfix] [HarmonyPatch(typeof(ItemDrop), "Start")] public static void SpearRaycast(ItemDrop __instance) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Invalid comparison between Unknown and I4 if ((int)__instance.m_itemData.m_shared.m_skillType != 5) { } } [HarmonyPrefix] [HarmonyPatch(typeof(Player), "CheckRun")] public static void ActivateSecondWind(Player __instance) { if (!((Object)(object)__instance == (Object)(object)Player.m_localPlayer) || ((Character)__instance).HaveStamina(0f)) { return; } SEMan sEMan = ((Character)__instance).GetSEMan(); List<StatusEffect> statusEffects = sEMan.GetStatusEffects(); if (statusEffects != null && statusEffects.Count > 0) { foreach (StatusEffect item in statusEffects) { if (item.m_name == newHaldorAssetBundle.LoadAsset<StatusEffect>("StatusEffect_SecondWind").m_name) { return; } } } sEMan.AddStatusEffect(newHaldorAssetBundle.LoadAsset<StatusEffect>("StatusEffect_SecondWind"), false, 0, 0f); } [HarmonyPrefix] [HarmonyPatch(typeof(Beehive), "RPC_Extract")] public static void GenerateWax(Beehive __instance) { //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) CustomItem item = ItemManager.Instance.GetItem("wax"); ItemDrop itemDrop = item.ItemDrop; Random random = new Random(); MethodInfo method = typeof(Beehive).GetMethod("GetHoneyLevel", BindingFlags.Instance | BindingFlags.NonPublic); int num = (int)method.Invoke(__instance, Array.Empty<object>()); if (num <= 0) { return; } for (int i = 0; i < num; i++) { if (random.Next(10) == 0) { __instance.m_spawnEffect.Create(__instance.m_spawnPoint.position, Quaternion.identity, (Transform)null, 1f, -1); Vector3 position = __instance.m_spawnPoint.position; ItemDrop component = ((Component)Object.Instantiate<ItemDrop>(itemDrop, position, Quaternion.identity)).GetComponent<ItemDrop>(); if ((Object)(object)component != (Object)null) { component.SetStack(Game.instance.ScaleDrops(item.ItemDrop.m_itemData, 1)); } } } } [HarmonyPostfix] [HarmonyPatch(typeof(Minimap), "Awake")] private static void OnAwake() { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Expected O, but got Unknown _diablo = new GameObject(); CustomBoiiiii customBoiiiii = _diablo.AddComponent<CustomBoiiiii>(); } [HarmonyPrefix] [HarmonyPatch(typeof(Minimap), "OnDestroy")] private static void OnDestroy() { Object.Destroy((Object)(object)_diablo); RenderPipelineManager.beginCameraRendering -= OnRender; } private static void OnRender(ScriptableRenderContext context, Camera camera) { } } private class CustomBoiiiii : MonoBehaviour { private static GameObject _targetToRender; private static List<Renderer> _renderers = new List<Renderer>(); private static Material _postProcessMaterial; private static Texture2D tex; private void Awake() { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Expected O, but got Unknown //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Expected O, but got Unknown //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Expected O, but got Unknown //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Expected O, but got Unknown //IL_0065: Unknown result type (might be due to invalid IL or missing references) Shader val = Shader.Find("Sprites/Default"); _postProcessMaterial = new Material(val); _targetToRender = Minimap.instance.m_largeRoot; Camera.onPostRender = (CameraCallback)Delegate.Combine((Delegate?)(object)Camera.onPostRender, (Delegate?)new CameraCallback(OnPostRenderTamere)); tex = new Texture2D(8, 8, (TextureFormat)4, false); for (int i = 0; i < 8; i++) { for (int j = 0; j < 8; j++) { tex.SetPixel(i, j, Color.red); } } tex.Apply(); } private void OnDestroy() { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Expected O, but got Unknown //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Expected O, but got Unknown Camera.onPostRender = (CameraCallback)Delegate.Remove((Delegate?)(object)Camera.onPostRender, (Delegate?)new CameraCallback(OnPostRenderTamere)); } private void OnPostRenderTamere(Camera camera) { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Expected O, but got Unknown //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) RenderTexture temporary = RenderTexture.GetTemporary(1024, 1024, 0, (GraphicsFormat)8); List<Renderer> list = new List<Renderer>(); _targetToRender.GetComponentsInChildren<Renderer>(true, list); CommandBuffer val = new CommandBuffer(); val.SetRenderTarget(RenderTargetIdentifier.op_Implicit((Texture)(object)temporary)); foreach (Renderer item in list) { val.DrawRenderer(item, (Material)null); } Graphics.ExecuteCommandBuffer(val); Graphics.Blit((Texture)(object)temporary, camera.activeTexture, _postProcessMaterial); Graphics.DrawTexture(new Rect(0f, 0f, 1600f, 900f), (Texture)(object)temporary); RenderTexture.ReleaseTemporary(temporary); } } private const string pluginGUID = "com.example.GUID"; private const string pluginName = "MyPlugin"; private const string pluginVersion = "1.0.0"; private readonly Harmony HarmonyInstance = new Harmony("com.example.GUID"); public static ManualLogSource logger = Logger.CreateLogSource("MyPlugin"); public AssetBundle waxAsset; public GameObject waxPrefab; public AssetBundle capesBundle; public GameObject capeDeer; public GameObject capeTroll; public GameObject capeWolfWaterproof; public GameObject capeLoxWaterproof; public GameObject capeLinenWaterproof; public GameObject capeFeatherWaterproof; public GameObject capeAsksvinWaterproof; public GameObject capeAshWaterproof; public static AssetBundle newHaldorAssetBundle; public GameObject newHaldor; public AssetBundle foodsAssetBundle; public static ConfigEntry<float> worldExpModifier; public void Awake() { Assembly executingAssembly = Assembly.GetExecutingAssembly(); HarmonyInstance.PatchAll(executingAssembly); LoadAssets(); AddRecipes(); PrefabManager.OnVanillaPrefabsAvailable += CreateWax; PrefabManager.OnVanillaPrefabsAvailable += CreateCapes; PrefabManager.OnVanillaPrefabsAvailable += AddClonedItems; PrefabManager.OnVanillaPrefabsAvailable += FixShaders; PrefabManager.OnVanillaPrefabsAvailable += CreateNewHaldor; } private void LoadAssets() { //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_0198: Unknown result type (might be due to invalid IL or missing references) //IL_01a1: Expected O, but got Unknown //IL_01a1: Unknown result type (might be due to invalid IL or missing references) //IL_01ab: Expected O, but got Unknown string location = Assembly.GetExecutingAssembly().Location; location = location.Substring(0, location.Length - 22); location = location.Replace('\\', '/'); string text = location; string text2 = location; string text3 = location; string text4 = location; string text5 = location; waxAsset = AssetUtils.LoadAssetBundle(text += "wax"); waxPrefab = waxAsset.LoadAsset<GameObject>("wax"); capesBundle = AssetUtils.LoadAssetBundle(text2 += "capes"); capeDeer = capesBundle.LoadAsset<GameObject>("capeDeer"); capeTroll = capesBundle.LoadAsset<GameObject>("capeTroll"); capeWolfWaterproof = capesBundle.LoadAsset<GameObject>("capeWolfWaterproof"); capeLoxWaterproof = capesBundle.LoadAsset<GameObject>("capeLoxWaterproof"); capeLinenWaterproof = capesBundle.LoadAsset<GameObject>("capeLinenWaterproof"); capeFeatherWaterproof = capesBundle.LoadAsset<GameObject>("capeFeatherWaterproof"); capeAsksvinWaterproof = capesBundle.LoadAsset<GameObject>("capeAsksvinWaterproof"); capeAshWaterproof = capesBundle.LoadAsset<GameObject>("capeAshWaterproof"); newHaldorAssetBundle = AssetUtils.LoadAssetBundle(text3 += "newhaldor"); newHaldor = newHaldorAssetBundle.LoadAsset<GameObject>("newhaldor"); foodsAssetBundle = AssetUtils.LoadAssetBundle(text4 += "foods"); worldExpModifier = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "FloatValue1", 1f, new ConfigDescription("Server side float", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); } private void AddClonedItems() { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Expected O, but got Unknown //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Expected O, but got Unknown //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Expected O, but got Unknown //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Expected O, but got Unknown //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Expected O, but got Unknown //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_009a: Expected O, but got Unknown //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00c7: Expected O, but got Unknown //IL_00d4: Unknown result type (might be due to invalid IL or missing references) //IL_00db: Expected O, but got Unknown //IL_0101: Unknown result type (might be due to invalid IL or missing references) //IL_0108: Expected O, but got Unknown //IL_0115: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Expected O, but got Unknown //IL_0148: Unknown result type (might be due to invalid IL or missing references) //IL_014f: Expected O, but got Unknown //IL_017b: Unknown result type (might be due to invalid IL or missing references) //IL_0182: Expected O, but got Unknown //IL_01ae: Unknown result type (might be due to invalid IL or missing references) //IL_01b5: Expected O, but got Unknown //IL_01ed: Unknown result type (might be due to invalid IL or missing references) //IL_01f4: Expected O, but got Unknown //IL_021a: Unknown result type (might be due to invalid IL or missing references) //IL_0221: Expected O, but got Unknown //IL_0247: Unknown result type (might be due to invalid IL or missing references) //IL_024e: Expected O, but got Unknown //IL_0274: Unknown result type (might be due to invalid IL or missing references) //IL_027b: Expected O, but got Unknown //IL_0295: Unknown result type (might be due to invalid IL or missing references) //IL_029c: Expected O, but got Unknown //IL_02e3: Unknown result type (might be due to invalid IL or missing references) //IL_02ea: Expected O, but got Unknown //IL_03d4: Unknown result type (might be due to invalid IL or missing references) //IL_03db: Expected O, but got Unknown //IL_0442: Unknown result type (might be due to invalid IL or missing references) //IL_044c: Expected O, but got Unknown //IL_07cc: Unknown result type (might be due to invalid IL or missing references) //IL_07d3: Expected O, but got Unknown //IL_083d: Unknown result type (might be due to invalid IL or missing references) //IL_0847: Expected O, but got Unknown //IL_0b6f: Unknown result type (might be due to invalid IL or missing references) //IL_0b76: Expected O, but got Unknown //IL_0bf3: Unknown result type (might be due to invalid IL or missing references) //IL_0bfa: Expected O, but got Unknown //IL_0c6e: Unknown result type (might be due to invalid IL or missing references) //IL_0c75: Expected O, but got Unknown //IL_0cc1: Unknown result type (might be due to invalid IL or missing references) //IL_0cc8: Expected O, but got Unknown //IL_0cf5: Unknown result type (might be due to invalid IL or missing references) //IL_0cfc: Expected O, but got Unknown //IL_0d6a: Unknown result type (might be due to invalid IL or missing references) //IL_0d71: Expected O, but got Unknown //IL_0de5: Unknown result type (might be due to invalid IL or missing references) //IL_0dec: Expected O, but got Unknown //IL_0e38: Unknown result type (might be due to invalid IL or missing references) //IL_0e3f: Expected O, but got Unknown //IL_0e6c: Unknown result type (might be due to invalid IL or missing references) //IL_0e73: Expected O, but got Unknown //IL_0ebf: Unknown result type (might be due to invalid IL or missing references) //IL_0ec6: Expected O, but got Unknown //IL_0f1a: Unknown result type (might be due to invalid IL or missing references) //IL_0f21: Expected O, but got Unknown //IL_0f81: Unknown result type (might be due to invalid IL or missing references) //IL_0f88: Expected O, but got Unknown //IL_0fb1: Unknown result type (might be due to invalid IL or missing references) //IL_1002: Unknown result type (might be due to invalid IL or missing references) //IL_107e: Unknown result type (might be due to invalid IL or missing references) //IL_1085: Expected O, but got Unknown //IL_10e6: Unknown result type (might be due to invalid IL or missing references) //IL_10ed: Expected O, but got Unknown //IL_1116: Unknown result type (might be due to invalid IL or missing references) //IL_1244: Unknown result type (might be due to invalid IL or missing references) //IL_124b: Expected O, but got Unknown //IL_12ac: Unknown result type (might be due to invalid IL or missing references) //IL_12b3: Expected O, but got Unknown //IL_134d: Unknown result type (might be due to invalid IL or missing references) //IL_1354: Expected O, but got Unknown //IL_13b9: Unknown result type (might be due to invalid IL or missing references) //IL_13c0: Expected O, but got Unknown //IL_1415: Unknown result type (might be due to invalid IL or missing references) //IL_1452: Unknown result type (might be due to invalid IL or missing references) //IL_14df: Unknown result type (might be due to invalid IL or missing references) //IL_14e6: Expected O, but got Unknown //IL_14ff: Unknown result type (might be due to invalid IL or missing references) //IL_1506: Expected O, but got Unknown //IL_1538: Unknown result type (might be due to invalid IL or missing references) //IL_153f: Expected O, but got Unknown //IL_15e0: Unknown result type (might be due to invalid IL or missing references) //IL_15e7: Expected O, but got Unknown //IL_16ea: Unknown result type (might be due to invalid IL or missing references) //IL_16f1: Expected O, but got Unknown //IL_1781: Unknown result type (might be due to invalid IL or missing references) //IL_1788: Expected O, but got Unknown //IL_17e6: Unknown result type (might be due to invalid IL or missing references) //IL_17ed: Expected O, but got Unknown //IL_186e: Unknown result type (might be due to invalid IL or missing references) //IL_1875: Expected O, but got Unknown //IL_18d3: Unknown result type (might be due to invalid IL or missing references) //IL_18da: Expected O, but got Unknown //IL_195b: Unknown result type (might be due to invalid IL or missing references) //IL_1962: Expected O, but got Unknown //IL_19db: Unknown result type (might be due to invalid IL or missing references) //IL_19e2: Expected O, but got Unknown //IL_1a4b: Unknown result type (might be due to invalid IL or missing references) //IL_1a52: Expected O, but got Unknown //IL_1acb: Unknown result type (might be due to invalid IL or missing references) //IL_1ad2: Expected O, but got Unknown //IL_1b3b: Unknown result type (might be due to invalid IL or missing references) //IL_1b42: Expected O, but got Unknown //IL_1bbb: Unknown result type (might be due to invalid IL or missing references) //IL_1bc2: Expected O, but got Unknown //IL_1c3a: Unknown result type (might be due to invalid IL or missing references) //IL_1c41: Expected O, but got Unknown //IL_1c53: Unknown result type (might be due to invalid IL or missing references) //IL_1c7c: Unknown result type (might be due to invalid IL or missing references) //IL_1c83: Expected O, but got Unknown //IL_1cec: Unknown result type (might be due to invalid IL or missing references) //IL_1cf3: Expected O, but got Unknown //IL_1d51: Unknown result type (might be due to invalid IL or missing references) //IL_1d58: Expected O, but got Unknown //IL_1dbb: Unknown result type (might be due to invalid IL or missing references) //IL_1dc2: Expected O, but got Unknown //IL_1dcf: Unknown result type (might be due to invalid IL or missing references) //IL_1dd6: Expected O, but got Unknown //IL_1dfc: Unknown result type (might be due to invalid IL or missing references) //IL_1e03: Expected O, but got Unknown //IL_1e10: Unknown result type (might be due to invalid IL or missing references) //IL_1e17: Expected O, but got Unknown //IL_1e71: Unknown result type (might be due to invalid IL or missing references) //IL_1e78: Expected O, but got Unknown //IL_1e85: Unknown result type (might be due to invalid IL or missing references) //IL_1e8c: Expected O, but got Unknown //IL_1eca: Unknown result type (might be due to invalid IL or missing references) //IL_1ed1: Expected O, but got Unknown //IL_1f55: Unknown result type (might be due to invalid IL or missing references) //IL_1f5c: Expected O, but got Unknown //IL_1f73: Unknown result type (might be due to invalid IL or missing references) //IL_1f7a: Expected O, but got Unknown //IL_1f91: Unknown result type (might be due to invalid IL or missing references) //IL_1f98: Expected O, but got Unknown //IL_1faf: Unknown result type (might be due to invalid IL or missing references) //IL_1fb6: Expected O, but got Unknown //IL_1fcd: Unknown result type (might be due to invalid IL or missing references) //IL_1fd4: Expected O, but got Unknown //IL_1feb: Unknown result type (might be due to invalid IL or missing references) //IL_1ff2: Expected O, but got Unknown //IL_2009: Unknown result type (might be due to invalid IL or missing references) //IL_2010: Expected O, but got Unknown //IL_2027: Unknown result type (might be due to invalid IL or missing references) //IL_202e: Expected O, but got Unknown //IL_2045: Unknown result type (might be due to invalid IL or missing references) //IL_204c: Expected O, but got Unknown //IL_2063: Unknown result type (might be due to invalid IL or missing references) //IL_206a: Expected O, but got Unknown //IL_2077: Unknown result type (might be due to invalid IL or missing references) //IL_207e: Expected O, but got Unknown //IL_20c9: Unknown result type (might be due to invalid IL or missing references) //IL_20d0: Expected O, but got Unknown //IL_20e8: Unknown result type (might be due to invalid IL or missing references) //IL_20ef: Expected O, but got Unknown //IL_215d: Unknown result type (might be due to invalid IL or missing references) //IL_2164: Expected O, but got Unknown //IL_22bb: Unknown result type (might be due to invalid IL or missing references) //IL_22c2: Expected O, but got Unknown //IL_2340: Unknown result type (might be due to invalid IL or missing references) //IL_2347: Expected O, but got Unknown //IL_23bb: Unknown result type (might be due to invalid IL or missing references) //IL_23c2: Expected O, but got Unknown //IL_244e: Unknown result type (might be due to invalid IL or missing references) //IL_2455: Expected O, but got Unknown //IL_2520: Unknown result type (might be due to invalid IL or missing references) //IL_2527: Expected O, but got Unknown //IL_25a6: Unknown result type (might be due to invalid IL or missing references) //IL_25ad: Expected O, but got Unknown //IL_2658: Unknown result type (might be due to invalid IL or missing references) //IL_265f: Expected O, but got Unknown //IL_26dd: Unknown result type (might be due to invalid IL or missing references) //IL_26e4: Expected O, but got Unknown //IL_278f: Unknown result type (might be due to invalid IL or missing references) //IL_2796: Expected O, but got Unknown //IL_27e8: Unknown result type (might be due to invalid IL or missing references) //IL_27ef: Expected O, but got Unknown //IL_2810: Unknown result type (might be due to invalid IL or missing references) //IL_2817: Expected O, but got Unknown //IL_2838: Unknown result type (might be due to invalid IL or missing references) //IL_283f: Expected O, but got Unknown //IL_2a1c: Unknown result type (might be due to invalid IL or missing references) //IL_2a23: Expected O, but got Unknown //IL_2a76: Unknown result type (might be due to invalid IL or missing references) //IL_2a7d: Expected O, but got Unknown //IL_2bbb: Unknown result type (might be due to invalid IL or missing references) //IL_2bc2: Expected O, but got Unknown //IL_2c15: Unknown result type (might be due to invalid IL or missing references) //IL_2c1c: Expected O, but got Unknown //IL_2d5a: Unknown result type (might be due to invalid IL or missing references) //IL_2d61: Expected O, but got Unknown //IL_2db4: Unknown result type (might be due to invalid IL or missing references) //IL_2dbb: Expected O, but got Unknown //IL_2e90: Unknown result type (might be due to invalid IL or missing references) //IL_2e97: Expected O, but got Unknown //IL_2ede: Unknown result type (might be due to invalid IL or missing references) //IL_2ee5: Expected O, but got Unknown //IL_2efb: Unknown result type (might be due to invalid IL or missing references) //IL_2f02: Expected O, but got Unknown ItemConfig val = new ItemConfig(); val.Name = "capeDeerHideCopy"; CustomItem val2 = new CustomItem("CapeDeerHideCopy", "CapeDeerHide", val); ItemManager.Instance.AddItem(val2); ItemConfig val3 = new ItemConfig(); val3.Name = "capeWolfCopy"; CustomItem val4 = new CustomItem("CapeWolfCopy", "CapeWolf", val3); ItemManager.Instance.AddItem(val4); ItemConfig val5 = new ItemConfig(); val5.Name = "TrollArmorCopy"; CustomItem val6 = new CustomItem("TrollArmorCopy", "ArmorTrollLeatherChest", val5); ItemManager.Instance.AddItem(val6); PieceConfig val7 = new PieceConfig(); val7.Name = "smelterCopy"; val7.PieceTable = PieceTables.Hammer; CustomPiece val8 = new CustomPiece("Smelter", "smelter", val7); PieceManager.Instance.AddPiece(val8); PieceConfig val9 = new PieceConfig(); val9.Name = "cartCopy"; val9.PieceTable = PieceTables.Hammer; CustomPiece val10 = new CustomPiece("cartCopy", "Cart", val9); PieceManager.Instance.AddPiece(val10); PieceConfig val11 = new PieceConfig(); val11.Name = "infiniteWoodTorch"; val11.AddRequirement("Resin", 20, true); val11.AddRequirement("Wood", 2, true); PieceConfig val12 = new PieceConfig(); val12.Name = "infiniteIronTorch"; val12.AddRequirement("Resin", 20, true); val12.AddRequirement("Iron", 2, true); PieceConfig val13 = new PieceConfig(); val13.Name = "infiniteGuckTorch"; val13.AddRequirement("GreydwarfEye", 20, true); val13.AddRequirement("Iron", 2, true); PieceConfig val14 = new PieceConfig(); val14.Name = "infiniteEyeTorch"; val14.AddRequirement("Guck", 20, true); val14.AddRequirement("Iron", 2, true); CustomPiece val15 = new CustomPiece("InfiniteWoodTorch", "piece_groundtorch_wood", val11); val15.PieceTable = PieceTables.Hammer; PieceManager.Instance.AddPiece(val15); CustomPiece val16 = new CustomPiece("InfiniteIronTorch", "piece_groundtorch", val12); val16.PieceTable = PieceTables.Hammer; PieceManager.Instance.AddPiece(val16); CustomPiece val17 = new CustomPiece("InfiniteGuckTorch", "piece_groundtorch_green", val13); val17.PieceTable = PieceTables.Hammer; PieceManager.Instance.AddPiece(val17); CustomPiece val18 = new CustomPiece("InfiniteEyeTorch", "piece_groundtorch_blue", val14); val18.PieceTable = PieceTables.Hammer; PieceManager.Instance.AddPiece(val18); PieceConfig val19 = new PieceConfig(); val19.Name = "infiniteSconce"; val19.AddRequirement("Copper", 2, true); val19.AddRequirement("Wood", 2, true); val19.AddRequirement("Resin", 20, true); CustomPiece val20 = new CustomPiece("InfiniteSconce", "piece_walltorch", val19); val20.PieceTable = PieceTables.Hammer; PieceManager.Instance.AddPiece(val20); Shader shader = ((Renderer)((Component)PieceManager.Instance.GetPiece("Smelter").PiecePrefab.transform.Find("New/default")).GetComponent<MeshRenderer>()).material.shader; Shader shader2 = ((Component)PieceManager.Instance.GetPiece("Smelter").PiecePrefab.transform.Find("_enabled/smoke (1)")).GetComponent<Renderer>().material.shader; Shader shader3 = ((Component)PieceManager.Instance.GetPiece("Smelter").PiecePrefab.transform.Find("_enabled/flames (1)")).GetComponent<Renderer>().material.shader; Shader shader4 = ((Component)PieceManager.Instance.GetPiece("Smelter").PiecePrefab.transform.Find("_enabled/flare (1)")).GetComponent<Renderer>().material.shader; PieceConfig val21 = new PieceConfig(); val21.Name = "Supercharged Smelter"; val21.Description = "If heat is too slow to melt metals, try extreme cold!"; val21.AddRequirement("Stone", 20, true); val21.AddRequirement("SurtlingCore", 5, true); val21.AddRequirement("TrophyCultist_Hildir", 1, true); val21.PieceTable = PieceTables.Hammer; PieceManager.Instance.AddPiece(new CustomPiece(newHaldorAssetBundle, "SuperchargedSmelter", false, val21)); ((Renderer)((Component)PieceManager.Instance.GetPiece("SuperchargedSmelter").PiecePrefab.transform.Find("New/default")).GetComponent<MeshRenderer>()).material.shader = shader; ((Renderer)((Component)PieceManager.Instance.GetPiece("SuperchargedSmelter").PiecePrefab.transform.Find("Worn/default")).GetComponent<MeshRenderer>()).material.shader = shader; ((Renderer)((Component)PieceManager.Instance.GetPiece("SuperchargedSmelter").PiecePrefab.transform.Find("Broken/default")).GetComponent<MeshRenderer>()).material.shader = shader; ((Component)PieceManager.Instance.GetPiece("SuperchargedSmelter").PiecePrefab.transform.Find("_enabled/smoke (1)")).GetComponent<Renderer>().material.shader = shader2; ((Component)PieceManager.Instance.GetPiece("SuperchargedSmelter").PiecePrefab.transform.Find("_enabled/flames")).GetComponent<Renderer>().material.shader = shader3; ((Component)PieceManager.Instance.GetPiece("SuperchargedSmelter").PiecePrefab.transform.Find("_enabled/flames (1)")).GetComponent<Renderer>().material.shader = shader3; ((Component)PieceManager.Instance.GetPiece("SuperchargedSmelter").PiecePrefab.transform.Find("_enabled/flames (2)")).GetComponent<Renderer>().material.shader = shader3; ((Component)PieceManager.Instance.GetPiece("SuperchargedSmelter").PiecePrefab.transform.Find("_enabled/SmokeSpawner")).GetComponent<SmokeSpawner>().m_smokePrefab = ((Component)PieceManager.Instance.GetPiece("Smelter").PiecePrefab.transform.Find("_enabled/SmokeSpawner")).GetComponent<SmokeSpawner>().m_smokePrefab; ((Component)PieceManager.Instance.GetPiece("SuperchargedSmelter").PiecePrefab.transform.Find("_enabled/flare (1)")).GetComponent<Renderer>().material.shader = shader4; ((Component)PieceManager.Instance.GetPiece("SuperchargedSmelter").PiecePrefab.transform.Find("_enabled/flare (2)")).GetComponent<Renderer>().material.shader = shader4; ((Component)PieceManager.Instance.GetPiece("SuperchargedSmelter").PiecePrefab.transform.Find("_enabled/flare (3)")).GetComponent<Renderer>().material.shader = shader4; ((Component)PieceManager.Instance.GetPiece("SuperchargedSmelter").PiecePrefab.transform.Find("_enabled/flare")).GetComponent<Renderer>().material.shader = shader4; PieceManager.Instance.GetPiece("SuperchargedSmelter").PiecePrefab.GetComponent<Smelter>().m_produceEffects.m_effectPrefabs[0] = PieceManager.Instance.GetPiece("Smelter").PiecePrefab.GetComponent<Smelter>().m_produceEffects.m_effectPrefabs[0]; PieceManager.Instance.GetPiece("SuperchargedSmelter").PiecePrefab.GetComponent<Smelter>().m_fuelAddedEffects.m_effectPrefabs[1] = PieceManager.Instance.GetPiece("Smelter").PiecePrefab.GetComponent<Smelter>().m_fuelAddedEffects.m_effectPrefabs[1]; PieceManager.Instance.GetPiece("SuperchargedSmelter").PiecePrefab.GetComponent<Smelter>().m_oreAddedEffects.m_effectPrefabs[1] = PieceManager.Instance.GetPiece("Smelter").PiecePrefab.GetComponent<Smelter>().m_oreAddedEffects.m_effectPrefabs[1]; PieceConfig val22 = new PieceConfig(); val22.PieceTable = PieceTables.Hammer; val22.Name = "Turbo Cart"; val22.AddRequirement("Wood", 20, true); val22.AddRequirement("BronzeNails", 10, true); val22.AddRequirement("TrophyGoblinBruteBrosShaman", 1, true); val22.AddRequirement("TrophyGoblinBruteBrosBrute", 1, true); PieceManager.Instance.AddPiece(new CustomPiece(newHaldorAssetBundle, "TurboCart", false, val22)); ((Renderer)((Component)PieceManager.Instance.GetPiece("TurboCart").PiecePrefab.transform.Find("Vagon/new/default")).GetComponent<MeshRenderer>()).material.shader = shader; ((Renderer)((Component)PieceManager.Instance.GetPiece("TurboCart").PiecePrefab.transform.Find("Wheel1/default")).GetComponent<MeshRenderer>()).material.shader = shader; ((Renderer)((Component)PieceManager.Instance.GetPiece("TurboCart").PiecePrefab.transform.Find("Wheel2/default")).GetComponent<MeshRenderer>()).material.shader = shader; ((Renderer)((Component)PieceManager.Instance.GetPiece("TurboCart").PiecePrefab.transform.Find("Vagon/worn/default")).GetComponent<MeshRenderer>()).material.shader = shader; ((Renderer)((Component)PieceManager.Instance.GetPiece("TurboCart").PiecePrefab.transform.Find("Vagon/broken/default")).GetComponent<MeshRenderer>()).material.shader = shader; PieceManager.Instance.GetPiece("TurboCart").PiecePrefab.GetComponent<WearNTear>().m_destroyedEffect.m_effectPrefabs[0] = PieceManager.Instance.GetPiece("cartCopy").PiecePrefab.GetComponent<WearNTear>().m_destroyedEffect.m_effectPrefabs[0]; PieceManager.Instance.GetPiece("TurboCart").PiecePrefab.GetComponent<WearNTear>().m_hitEffect.m_effectPrefabs[0] = PieceManager.Instance.GetPiece("cartCopy").PiecePrefab.GetComponent<WearNTear>().m_hitEffect.m_effectPrefabs[0]; PieceManager.Instance.GetPiece("TurboCart").PiecePrefab.GetComponent<WearNTear>().m_switchEffect.m_effectPrefabs[0] = PieceManager.Instance.GetPiece("cartCopy").PiecePrefab.GetComponent<WearNTear>().m_switchEffect.m_effectPrefabs[0]; PieceManager.Instance.GetPiece("TurboCart").PiecePrefab.GetComponent<ImpactEffect>().m_hitEffect.m_effectPrefabs = PieceManager.Instance.GetPiece("cartCopy").PiecePrefab.GetComponent<ImpactEffect>().m_hitEffect.m_effectPrefabs; MeshRenderer[] componentsInChildren = ((Component)PieceManager.Instance.GetPiece("TurboCart").PiecePrefab.transform.Find("cart_Destruction")).GetComponentsInChildren<MeshRenderer>(); MeshRenderer[] array = componentsInChildren; foreach (MeshRenderer val23 in array) { ((Renderer)val23).material.shader = shader; } PieceManager.Instance.GetPiece("TurboCart").PiecePrefab.GetComponent<Piece>().m_placeEffect.m_effectPrefabs = PieceManager.Instance.GetPiece("cartCopy").PiecePrefab.GetComponent<Piece>().m_placeEffect.m_effectPrefabs; componentsInChildren = ((Component)PieceManager.Instance.GetPiece("TurboCart").PiecePrefab.transform.Find("load")).GetComponentsInChildren<MeshRenderer>(); MeshRenderer[] array2 = componentsInChildren; foreach (MeshRenderer val24 in array2) { ((Renderer)val24).material.shader = shader; } ItemConfig val25 = new ItemConfig(); val25.Name = "Bone Crossbow"; val25.Description = "Withered bones waster."; val25.CraftingStation = CraftingStations.Forge; val25.AddRequirement("RoundLog", 15, 5); val25.AddRequirement("Iron", 5, 2); val25.AddRequirement("Root", 1, 1); val25.AddRequirement("BoneFragments", 5, 5); val25.RepairStation = CraftingStations.Forge; CustomItem val26 = new CustomItem("BoneCrossbow", "CrossbowArbalest", val25); val26.ItemDrop.m_itemData.m_shared.m_damages.m_pierce = 150f; val26.ItemDrop.m_itemData.m_shared.m_damagesPerLevel.m_pierce = 5f; val26.ItemDrop.m_itemData.m_shared.m_icons[0] = newHaldorAssetBundle.LoadAsset<Sprite>("BoneCrossbow"); ItemManager.Instance.AddItem(val26); ItemConfig val27 = new ItemConfig(); val27.Name = "Withered Bone Bolt"; val27.Description = "More frail than it's standard bone counterpart, but much less expensive."; val27.CraftingStation = CraftingStations.Forge; val27.AddRequirement("WitheredBone", 4, 0); val27.Amount = 20; CustomItem val28 = new CustomItem("WitheredBoneBolt", "BoltBone", val27); val28.ItemDrop.m_itemData.m_shared.m_damages.m_pierce = 16f; ItemManager.Instance.AddItem(val28); ItemConfig val29 = new ItemConfig(); val29.Name = "Wooden Crossbow"; val29.Description = "What material could possibly be light and solid enough to make bolts at this point? It would have to come from a very powerful being."; val29.CraftingStation = CraftingStations.Workbench; val29.AddRequirement("Wood", 15, 5); val29.AddRequirement("LeatherScraps", 5, 2); val29.AddRequirement("Resin", 6, 3); val29.RepairStation = CraftingStations.Workbench; CustomItem val30 = new CustomItem("WoodenCrossbow", "CrossbowArbalest", val29); val30.ItemDrop.m_itemData.m_shared.m_damages.m_pierce = 55f; val30.ItemDrop.m_itemData.m_shared.m_damagesPerLevel.m_pierce = 5f; val30.ItemDrop.m_itemData.m_shared.m_icons[0] = newHaldorAssetBundle.LoadAsset<Sprite>("WoodenCrossbow"); ItemManager.Instance.AddItem(val30); ItemConfig val31 = new ItemConfig(); val31.Name = "Antler Bolt"; val31.Description = "It is really worth the time to summon and destroy Eikthyr over and over again?"; val31.CraftingStation = CraftingStations.Workbench; val31.AddRequirement("HardAntler", 3, 0); val31.Amount = 20; CustomItem val32 = new CustomItem("AntlerBolt", "BoltBone", val31); val32.ItemDrop.m_itemData.m_shared.m_damages.m_pierce = 42f; ItemManager.Instance.AddItem(val32); ItemConfig val33 = new ItemConfig(); val33.Name = "Majestic Carapace Bolt"; val33.Description = "Sturdiest. Bolt. Ever."; val33.CraftingStation = CraftingStations.BlackForge; val33.AddRequirement("QueenDrop", 1, 0); val33.Amount = 20; CustomItem val34 = new CustomItem("CarapaceBolt", "BoltCarapace", val33); val34.ItemDrop.m_itemData.m_shared.m_damages.m_pierce = 112f; val34.ItemDrop.m_itemData.m_shared.m_icons[0] = newHaldorAssetBundle.LoadAsset<Sprite>("carapacebolt"); ItemManager.Instance.AddItem(val34); ItemConfig val35 = new ItemConfig(); val35.Name = "Apprentice Hood"; val35.Description = "Makes you look like a real mage"; val35.CraftingStation = CraftingStations.Workbench; val35.AddRequirement("DeerHide", 4, 2); val35.AddRequirement("TrollHide", 5, 3); val35.AddRequirement("TrophyGreydwarfBrute", 1, 0); CustomItem val36 = new CustomItem("ApprenticeHood", "HelmetTrollLeather", val35); Material material = ((Renderer)((Component)val36.ItemDrop).GetComponentInChildren<MeshRenderer>()).material; material.color = new Color(0.3550981f, 0f, 0.5450981f, 1f); GameObject gameObject = ((Component)((Component)val36.ItemDrop).gameObject.transform.Find("attach_skin/hood")).gameObject; material = ((Renderer)gameObject.GetComponentInChildren<SkinnedMeshRenderer>()).material; material.color = new Color(0.3550981f, 0f, 0.5450981f, 1f); val36.ItemDrop.m_itemData.m_shared.m_setStatusEffect = null; val36.ItemDrop.m_itemData.m_shared.m_setName = ""; val36.ItemDrop.m_itemData.m_shared.m_setSize = 0; val36.ItemDrop.m_itemData.m_shared.m_eitrRegenModifier = 0.1f; ItemManager.Instance.AddItem(val36); ItemConfig val37 = new ItemConfig(); val37.Name = "Apprentice Robe"; val37.Description = "Fancy."; val37.CraftingStation = CraftingStations.Workbench; val37.AddRequirement("DeerHide", 8, 4); val37.AddRequirement("TrollHide", 10, 5); val37.AddRequirement("TrophyGreydwarfShaman", 2, 1); CustomItem val38 = new CustomItem("ApprenticeRobe", "ArmorTrollLeatherChest", val37); material = ((Renderer)((Component)val38.ItemDrop).GetComponentInChildren<MeshRenderer>()).material; material.color = new Color(0.3550981f, 0f, 0.5450981f, 1f); gameObject = ((Component)((Component)val38.ItemDrop).gameObject.transform.Find("attach_skin/shorts")).gameObject; SkinnedMeshRenderer component = gameObject.GetComponent<SkinnedMeshRenderer>(); List<Material> list = new List<Material>(); list.Add(newHaldorAssetBundle.LoadAsset<Material>("TrollLeatherChest")); list[0].shader = ItemManager.Instance.GetItem("TrollArmorCopy").ItemDrop.m_itemData.m_shared.m_armorMaterial.shader; ((Renderer)component).SetMaterials(list); material = newHaldorAssetBundle.LoadAsset<Material>("TrollLeatherChest"); val38.ItemDrop.m_itemData.m_shared.m_armorMaterial = material; val38.ItemDrop.m_itemData.m_shared.m_setStatusEffect = null; val38.ItemDrop.m_itemData.m_shared.m_setName = ""; val38.ItemDrop.m_itemData.m_shared.m_setSize = 0; val38.ItemDrop.m_itemData.m_shared.m_eitrRegenModifier = 0.2f; ItemManager.Instance.AddItem(val38); ItemConfig val39 = new ItemConfig(); val39.Name = "Apprentice Leggings"; val39.Description = "Not made of spandex."; val39.CraftingStation = CraftingStations.Workbench; val39.AddRequirement("DeerHide", 8, 4); val39.AddRequirement("TrollHide", 10, 5); val39.AddRequirement("TrophyGreydwarf", 2, 1); CustomItem val40 = new CustomItem("ApprenticeLegs", "ArmorTrollLeatherLegs", val39); material = newHaldorAssetBundle.LoadAsset<Material>("TrollLeatherPants"); val40.ItemDrop.m_itemData.m_shared.m_armorMaterial = material; val40.ItemDrop.m_itemData.m_shared.m_setStatusEffect = null; val40.ItemDrop.m_itemData.m_shared.m_setName = ""; val40.ItemDrop.m_itemData.m_shared.m_setSize = 0; val40.ItemDrop.m_itemData.m_shared.m_eitrRegenModifier = 0.2f; ItemManager.Instance.AddItem(val40); ItemConfig val41 = new ItemConfig(); val41.Name = "Chef Hat"; val41.Description = "Bork! Bork! Bork! \n ~Sweedish Chef - The Muppets"; val41.CraftingStation = CraftingStations.Workbench; val41.AddRequirement("DeerHide", 100, 0); val41.AddRequirement("LeatherScraps", 200, 0); val41.AddRequirement("TrophySkeletonHildir", 1, 0); CustomItem val42 = new CustomItem("ChefHat", "HelmetTrollLeather", val41); val42.ItemDrop.m_itemData.m_shared.m_equipStatusEffect = (StatusEffect)(object)newHaldorAssetBundle.LoadAsset<SE_Stats>("SetEffect_ChefHat"); val42.ItemDrop.m_itemData.m_shared.m_subtitle = "Doubles your chance to cook a bonus item!"; material = ((Renderer)((Component)val42.ItemDrop).GetComponentInChildren<MeshRenderer>()).material; material.color = Color.white; gameObject = ((Component)((Component)val42.ItemDrop).gameObject.transform.Find("attach_skin/hood")).gameObject; material = ((Renderer)gameObject.GetComponentInChildren<SkinnedMeshRenderer>()).material; material.color = Color.white; val42.ItemDrop.m_itemData.m_shared.m_setStatusEffect = null; val42.ItemDrop.m_itemData.m_shared.m_setName = ""; val42.ItemDrop.m_itemData.m_shared.m_setSize = 0; val42.ItemDrop.m_itemData.m_shared.m_icons[0] = ((StatusEffect)newHaldorAssetBundle.LoadAsset<SE_Stats>("SetEffect_ChefHat")).m_icon; ItemManager.Instance.AddItem(val42); ItemConfig val43 = new ItemConfig(); val43.Name = "Mining Hat"; CustomItem val44 = new CustomItem("MiningHat", "HelmetDverger", val43); val44.ItemDrop.m_itemData.m_shared.m_equipStatusEffect = (StatusEffect)(object)newHaldorAssetBundle.LoadAsset<SE_Stats>("SetEffect_MiningHat"); ItemManager.Instance.AddItem(val44); ItemConfig val45 = new ItemConfig(); val45.AddRequirement("DeerHide", 8, 0); val45.AddRequirement("LeatherScraps", 10, 0); val45.AddRequirement("TrophyBlob", 1, 0); val45.AddRequirement("Raspberry", 5, 0); val45.AddRequirement("Mushroom", 5, 0); val45.AddRequirement("Dandelion", 5, 0); val45.AddRequirement("Blueberries", 5, 0); val45.AddRequirement("Thistle", 5, 0); val45.AddRequirement("BjornPaw", 1, 0); val45.Name = "Gloves"; CustomItem val46 = new CustomItem("GatheringGloves", "TrinketBlackDamageHealth", val45); val46.ItemDrop.m_itemData.m_shared.m_equipStatusEffect = (StatusEffect)(object)newHaldorAssetBundle.LoadAsset<SE_Stats>("SetEffect_GathererGloves"); val46.ItemDrop.m_itemData.m_shared.m_subtitle = ""; val46.ItemDrop.m_itemData.m_shared.m_icons[0] = val46.ItemDrop.m_itemData.m_shared.m_equipStatusEffect.m_icon; val46.ItemDrop.m_itemData.m_shared.m_description = "Gathering has never been easier!"; val46.ItemDrop.m_itemData.m_shared.m_blockAdrenaline = 0f; val46.ItemDrop.m_itemData.m_shared.m_fullAdrenalineSE = null; val46.ItemDrop.m_itemData.m_shared.m_maxAdrenaline = 0f; val46.ItemDrop.m_itemData.m_shared.m_perfectBlockAdrenaline = 0f; ItemManager.Instance.AddItem(val46); ItemConfig val47 = new ItemConfig(); val47.CraftingStation = CraftingStations.Cauldron; val47.Name = "Meatloaf"; val47.Description = "Meatloaf.... it sustains you. It's like........ oatmeal."; val47.Icon = foodsAssetBundle.LoadAsset<Sprite>("meatloaficonreal"); val47.AddRequirement("BjornMeat", 3, 0); val47.AddRequirement("RawMeat", 1, 0); val47.AddRequirement("DeerMeat", 1, 0); val47.AddRequirement("Carrot", 1, 0); val47.Amount = 3; CustomItem val48 = new CustomItem("Meatloaf", "BloodPudding", val47); val48.ItemDrop.m_itemData.m_shared.m_food = 50f; val48.ItemDrop.m_itemData.m_shared.m_foodStamina = 45f; val48.ItemDrop.m_itemData.m_shared.m_foodRegen = 3f; ItemManager.Instance.AddItem(val48); ItemConfig val49 = new ItemConfig(); val49.CraftingStation = CraftingStations.Cauldron; val49.Name = "Dandelion Salad"; val49.Description = "Dandelion salad. Yummy yummy."; val49.Icon = foodsAssetBundle.LoadAsset<Sprite>("dandelionsalad"); val49.AddRequirement("Dandelion", 3, 0); val49.AddRequirement("BeechSeeds", 2, 0); val49.AddRequirement("Mushroom", 1, 0); val49.Amount = 2; CustomItem val50 = new CustomItem("DandelionSalad", "Salad", val49); val50.ItemDrop.m_itemData.m_shared.m_food = 13f; val50.ItemDrop.m_itemData.m_shared.m_foodStamina = 40f; val50.ItemDrop.m_itemData.m_shared.m_foodRegen = 2f; ItemManager.Instance.AddItem(val50); ItemConfig val51 = new ItemConfig(); val51.CraftingStation = CraftingStations.Cauldron; val51.Name = "EitrJam"; val51.Description = "Surely there are magical energies to be drawn from these ingredients... Because taste sure isn't."; val51.Icon = foodsAssetBundle.LoadAsset<Sprite>("eitrjam"); val51.AddRequirement("Pukeberries", 6, 0); val51.AddRequirement("MushroomYellow", 2, 0); val51.AddRequirement("AncientSeed", 1, 0); val51.Amount = 2; CustomItem val52 = new CustomItem("EitrJam", "QueensJam", val51); val52.ItemDrop.m_itemData.m_shared.m_food = 20f; val52.ItemDrop.m_itemData.m_shared.m_foodStamina = 20f; val52.ItemDrop.m_itemData.m_shared.m_foodRegen = 2f; val52.ItemDrop.m_itemData.m_shared.m_foodEitr = 31f; ItemManager.Instance.AddItem(val52); ItemConfig val53 = new ItemConfig(); val53.Name = "Goulash"; val53.Description = "Actually it's like gibelotte. Nobody knows what it is, but as least it's got turninp in it."; val53.CraftingStation = CraftingStations.Cauldron; val53.AddRequirement("Turnip", 3, 0); val53.AddRequirement("Guck", 2, 0); val53.AddRequirement("Ooze", 2, 0); val53.Amount = 2; CustomItem val54 = new CustomItem("Goulash", "TurnipStew", val53); val54.ItemDrop.m_itemData.m_shared.m_food = 10f; val54.ItemDrop.m_itemData.m_shared.m_foodStamina = 35f; val54.ItemDrop.m_itemData.m_shared.m_foodRegen = 2f; val54.ItemDrop.m_itemData.m_shared.m_foodEitr = 40f; ItemManager.Instance.AddItem(val54); ItemConfig val55 = new ItemConfig(); val55.Name = "Magic Sausage"; val55.Description = "It's long and hard."; val55.CraftingStation = CraftingStations.Cauldron; val55.AddRequirement("Entrails", 4, 0); val55.AddRequirement("WolfMeat", 1, 0); val55.AddRequirement("Crystal", 1, 0); val55.Amount = 2; CustomItem val56 = new CustomItem("MagicSausage", "Sausages", val55); val56.ItemDrop.m_itemData.m_shared.m_food = 45f; val56.ItemDrop.m_itemData.m_shared.m_foodStamina = 15f; val56.ItemDrop.m_itemData.m_shared.m_foodRegen = 3f; val56.ItemDrop.m_itemData.m_shared.m_foodEitr = 50f; ItemManager.Instance.AddItem(val56); ItemConfig val57 = new ItemConfig(); val57.Name = "Broth"; val57.Description = "Can't tell if it's made from beef bones, chicken bones, vegetables..."; val57.CraftingStation = CraftingStations.Cauldron; val57.AddRequirement("Wishbone", 1, 0); val57.AddRequirement("Carrot", 1, 0); val57.AddRequirement("Turnip", 1, 0); val57.Icon = foodsAssetBundle.LoadAsset<Sprite>("brothicon"); CustomItem val58 = new CustomItem("Broth", "MeadBugRepellent", val57); val58.ItemDrop.m_itemData.m_shared.m_itemType = (ItemType)1; val58.ItemDrop.m_itemData.m_shared.m_consumeStatusEffect = null; ItemManager.Instance.AddItem(val58); ItemConfig val59 = new ItemConfig(); val59.Name = "Fish Stew"; val59.Description = "Only missing noodles, and then it's a ramen."; val59.CraftingStation = CraftingStations.Cauldron; val59.AddRequirement("FishCooked", 1, 0); val59.AddRequirement("Broth", 1, 0); val59.Icon = foodsAssetBundle.LoadAsset<Sprite>("fishstew"); CustomItem val60 = new CustomItem("FishStew", "SerpentStew", val59); val60.ItemDrop.m_itemData.m_shared.m_food = 85f; val60.ItemDrop.m_itemData.m_shared.m_foodStamina = 75f; val60.ItemDrop.m_itemData.m_shared.m_foodRegen = 4f; ItemManager.Instance.AddItem(val60); ItemConfig val61 = new ItemConfig(); val61.Name = "Organic Iron"; val61.Description = "The magical energies from the Swamp Key allows its mineral iron to be easily convertible into organic iron."; val61.CraftingStation = CraftingStations.Cauldron; val61.AddRequirement("CryptKey", 1, 0); val61.Amount = 5; val61.Icon = foodsAssetBundle.LoadAsset<Sprite>("organiciron"); CustomItem val62 = new CustomItem("OrganicIron", "PowderedDragonEgg", val61); ItemManager.Instance.AddItem(val62); ItemConfig val63 = new ItemConfig(); val63.Name = "PotionPrefab"; val63.Description = "SHOULD NOT BE SEEN!!!"; CustomItem val64 = new CustomItem("PotionPrefab", "MeadHealthMajor", val63); ItemManager.Instance.AddItem(val64); ItemConfig val65 = new ItemConfig(); val65.Name = "Salty Mead"; val65.Description = "Made from the finest tears that could rivalize with those from League of Legends."; val65.CraftingStation = CraftingStations.MeadKetill; val65.AddRequirement("DragonTear", 1, 0); val65.Icon = foodsAssetBundle.LoadAsset<Sprite>("SaltyMeadBase"); CustomItem val66 = new CustomItem("SaltyMead", "MeadBaseFrostResist", val65); ItemManager.Instance.AddItem(val66); ItemConfig val67 = new ItemConfig(); val67.Name = "Salty Potion"; val67.Description = "Drink the tears of your enemies."; val67.Icon = foodsAssetBundle.LoadAsset<Sprite>("SaltyPotion"); CustomItem val68 = new CustomItem("SaltyPotion", "MeadHealthMajor", val67); val68.ItemDrop.m_itemData.m_shared.m_consumeStatusEffect = (StatusEffect)(object)foodsAssetBundle.LoadAsset<SE_Stats>("SaltyPotionEffect"); EffectList startEffects = ItemManager.Instance.GetItem("PotionPrefab").ItemDrop.m_itemData.m_shared.m_consumeStatusEffect.m_startEffects; val68.ItemDrop.m_itemData.m_shared.m_consumeStatusEffect.m_startEffects = startEffects; ItemManager.Instance.AddItem(val68); CustomItem val69 = new CustomItem("newMossyBait", "FishingBaitForest"); ItemManager.Instance.AddItem(val69); CustomItem val70 = new CustomItem("newStickyBait", "FishingBaitSwamp"); ItemManager.Instance.AddItem(val70); CustomItem val71 = new CustomItem("newStingyBait", "FishingBaitPlains"); ItemManager.Instance.AddItem(val71); CustomItem val72 = new CustomItem("newHeavyBait", "FishingBaitOcean"); ItemManager.Instance.AddItem(val72); CustomItem val73 = new CustomItem("newMistyBait", "FishingBaitMistlands"); ItemManager.Instance.AddItem(val73); CustomItem val74 = new CustomItem("newHotBait", "FishingBaitAshlands"); ItemManager.Instance.AddItem(val74); CustomItem val75 = new CustomItem("newFrostyBait", "FishingBaitDeepNorth"); ItemManager.Instance.AddItem(val75); CustomItem val76 = new CustomItem("newColdBait", "FishingBaitCave"); ItemManager.Instance.AddItem(val76); CustomItem val77 = new CustomItem("newFishingRod", "FishingRod"); ItemManager.Instance.AddItem(val77); CustomItem val78 = new CustomItem("newHoops", "BarrelRings"); ItemManager.Instance.AddItem(val78); ItemConfig val79 = new ItemConfig(); val79.Name = "Worm food"; val79.Description = "Word is a certain peddler is looking for some."; val79.CraftingStation = CraftingStations.FoodPreparationTable; val79.Icon = foodsAssetBundle.LoadAsset<Sprite>("WormFood"); CustomItem val80 = new CustomItem("WormFood", "BarleyFlour", val79); val80.ItemDrop.m_itemData.m_shared.m_value = 100; ItemConfig val81 = new ItemConfig(); val81.Name = "Phantasmal Sword"; val81.Description = "Spooky scary. Goes right through physical things."; val81.CraftingStation = CraftingStations.Forge; val81.AddRequirement("RoundLog", 10, 5); val81.AddRequirement("Ectoplasm", 2, 1); val81.AddRequirement("Tin", 6, 3); val81.RepairStation = CraftingStations.Forge; CustomItem val82 = new CustomItem("PhantasmalSword", "THSwordSlayer", val81); val82.ItemDrop.m_itemData.m_shared.m_damages.m_slash = 0f; val82.ItemDrop.m_itemData.m_shared.m_damages.m_spirit = 100f; val82.ItemDrop.m_itemData.m_shared.m_damagesPerLevel.m_spirit = 20f; val82.ItemDrop.m_itemData.m_shared.m_damagesPerLevel.m_slash = 0f; val82.ItemDrop.m_itemData.m_shared.m_attackForce = 25f; val82.ItemDrop.m_itemData.m_shared.m_blockPower = 32f; val82.ItemDrop.m_itemData.m_shared.m_attack.m_attackStamina = 18f; val82.ItemDrop.m_itemData.m_shared.m_deflectionForce = 25f; val82.ItemDrop.m_itemData.m_shared.m_deflectionForcePerLevel = 5f; val82.ItemDrop.m_itemData.m_shared.m_toolTier = 1; val82.ItemDrop.m_itemData.m_shared.m_icons[0] = newHaldorAssetBundle.LoadAsset<Sprite>("PhantasmalSword"); ItemManager.Instance.AddItem(val82); ItemConfig val83 = new ItemConfig(); val83.Name = "Fire Knife"; val83.Description = "Enough resin to burn for a lifetime."; val83.CraftingStation = CraftingStations.Workbench; val83.AddRequirement("Wood", 2, 0); val83.AddRequirement("Flint", 4, 2); val83.AddRequirement("LeatherScraps", 2, 0); val83.AddRequirement("Resin", 50, 10); val83.RepairStation = CraftingStations.Workbench; CustomItem val84 = new CustomItem("FireKnife", "KnifeFlint", val83); val84.ItemDrop.m_itemData.m_shared.m_damages.m_fire = 10f; val84.ItemDrop.m_itemData.m_shared.m_damagesPerLevel.m_fire = 1f; val84.ItemDrop.m_itemData.m_shared.m_icons[0] = newHaldorAssetBundle.LoadAsset<Sprite>("FireKnife"); ItemManager.Instance.AddItem(val84); ItemConfig val85 = new ItemConfig(); val85.Name = "Fire Wand"; val85.Description = "Pew! Pew! Made from only the finest of finewoods among the selection."; val85.CraftingStation = CraftingStations.Forge; val85.AddRequirement("FineWood", 18, 5); val85.AddRequirement("Copper", 4, 2); val85.AddRequirement("Bronze", 2, 1); val85.AddRequirement("Acorn", 2, 0); val85.AddRequirement("SurtlingCore", 1, 1); val85.RepairStation = CraftingStations.Forge; CustomItem val86 = new CustomItem("FireWand", "StaffFireball", val85); val86.ItemDrop.m_itemData.m_shared.m_toolTier = 1; val86.ItemDrop.m_itemData.m_shared.m_damages.m_blunt = 12f; val86.ItemDrop.m_itemData.m_shared.m_damages.m_fire = 24f; val86.ItemDrop.m_itemData.m_shared.m_damagesPerLevel.m_fire = 4f; val86.ItemDrop.m_itemData.m_shared.m_attack.m_attackEitr = 10f; val86.ItemDrop.m_itemData.m_shared.m_icons[0] = newHaldorAssetBundle.LoadAsset<Sprite>("FireWand"); ItemManager.Instance.AddItem(val86); ItemConfig val87 = new ItemConfig(); val87.Name = "Frost Wand"; val87.Description = "BRRRRRRR! Made from only the finest of corewoods among the selection."; val87.CraftingStation = CraftingStations.Forge; val87.AddRequirement("RoundLog", 28, 10); val87.AddRequirement("Silver", 4, 2); val87.AddRequirement("Bronze", 2, 1); val87.AddRequirement("FreezeGland", 20, 2); val87.RepairStation = CraftingStations.Forge; CustomItem val88 = new CustomItem("FrostWand", "StaffIceShards", val87); val88.ItemDrop.m_itemData.m_shared.m_toolTier = 1; val88.ItemDrop.m_itemData.m_shared.m_damages.m_frost = 25f; val88.ItemDrop.m_itemData.m_shared.m_damagesPerLevel.m_frost = 1f; val88.ItemDrop.m_itemData.m_shared.m_attack.m_attackEitr = 4f; val88.ItemDrop.m_itemData.m_shared.m_icons[0] = newHaldorAssetBundle.LoadAsset<Sprite>("FrostWand"); ItemManager.Instance.AddItem(val88); ItemConfig val89 = new ItemConfig(); val89.Name = "Lightning Wand"; val89.Description = "Zap! Cooper coils and manual action induce an electrical current causing this staff to shoot lightning bolts... but sure let's call it \"magic\"."; val89.CraftingStation = CraftingStations.Forge; val89.AddRequirement("Iron", 3, 3); val89.AddRequirement("Copper", 40, 5); val89.AddRequirement("Ruby", 10, 1); val89.AddRequirement("Feathers", 6, 0); val89.RepairStation = CraftingStations.Forge; CustomItem val90 = new CustomItem("LightningWand", "StaffLightning", val89); val90.ItemDrop.m_itemData.m_shared.m_toolTier = 1; val90.ItemDrop.m_itemData.m_shared.m_damages.m_lightning = 10f; val90.ItemDrop.m_itemData.m_shared.m_damagesPerLevel.m_lightning = 1f; val90.ItemDrop.m_itemData.m_shared.m_attack.m_reloadEitrDrain = 12f; val90.ItemDrop.m_itemData.m_shared.m_icons[0] = newHaldorAssetBundle.LoadAsset<Sprite>("LightningWand"); ItemManager.Instance.AddItem(val90); ItemConfig val91 = new ItemConfig(); val91.Name = "Blood Wand"; val91.CraftingStation = CraftingStations.Forge; val91.AddRequirement("Tin", 1, 1); val91.AddRequirement("Bloodbag", 1, 1); val91.RepairStation = CraftingStations.Forge; CustomItem val92 = new CustomItem(newHaldorAssetBundle, "BloodWand", false, val91); ItemManager.Instance.AddItem(val92); StatusEffect val93 = newHaldorAssetBundle.LoadAsset<StatusEffect>("StatusEffect_SecondWind"); CustomStatusEffect val94 = new CustomStatusEffect(val93, false); ItemManager.Instance.AddStatusEffect(val94); StatusEffect val95 = newHaldorAssetBundle.LoadAsset<StatusEffect>("StatusEffect_AoEHeal"); CustomStatusEffect val96 = new CustomStatusEffect(val95, false); ItemManager.Instance.AddStatusEffect(val96); Projectile component2 = ItemManager.Instance.GetItem("BloodWand").ItemDrop.m_itemData.m_shared.m_attack.m_attackProjectile.GetComponent<Projectile>(); GameObject prefab = component2.m_hitEffects.m_effectPrefabs[0].m_prefab; prefab.GetComponent<Renderer>().material.shader = shader4; ((Component)prefab.transform.Find("vfx_RockHit (1)")).GetComponent<Renderer>().material.shader = shader; ((Component)prefab.transform.Find("vfx_ice_hit")).GetComponent<Renderer>().material.shader = shader2; ((Component)prefab.transform.Find("smoke")).GetComponent<Renderer>().material.shader = shader2; ((Component)((Component)component2).transform.Find("flames (1)")).GetComponent<Renderer>().material.shader = shader; ((Component)((Component)component2).transform.Find("sparcs_world")).GetComponent<Renderer>().material.shader = shader; GameObject prefab2 = ItemManager.Instance.GetItem("BloodWand").ItemDrop.m_itemData.m_shared.m_attack.m_burstEffect.m_effectPrefabs[0].m_prefab; prefab2.GetComponent<Renderer>().material.shader = shader; ((Component)prefab2.transform.Find("smoke")).GetComponent<Renderer>().material.shader = shader2; GameObject itemPrefab = ItemManager.Instance.GetItem("BloodWand").ItemPrefab; ((Component)itemPrefab.transform.Find("attach/default (1)/effects/flare")).GetComponent<Renderer>().material.shader = shader4; ((Component)itemPrefab.transform.Find("attach/default (1)/effects/embers (1)")).GetComponent<Renderer>().material.shader = shader2; ItemConfig val97 = new ItemConfig(); val97.Name = "ResinBomb"; val97.CraftingStation = CraftingStations.Workbench; val97.AddRequirement("Resin", 12, 0); val97.AddRequirement("LeatherScraps", 5, 0); val97.RepairStation = CraftingStations.Workbench; CustomItem val98 = new CustomItem(newHaldorAssetBundle, "BombResin", false, val97); ItemManager.Instance.AddItem(val98); ItemDrop itemDrop = ItemManager.Instance.GetItem("BombResin").ItemDrop; GameObject attackProjectile = itemDrop.m_itemData.m_shared.m_attack.m_attackProjectile; GameObject spawnOnHit = attackProjectile.GetComponent<Projectile>().m_spawnOnHit; ((Component)spawnOnHit.transform.Find("particles/wetsplsh")).GetComponent<Renderer>().material.shader = shader2; ((Component)spawnOnHit.transform.Find("particles/ooz (1)")).GetComponent<Renderer>().material.shader = shader2; ((Component)spawnOnHit.transform.Find("particles/flakes")).GetComponent<Renderer>().material.shader = shader2; ((Component)spawnOnHit.transform.Find("particles/low_flames")).GetComponent<Renderer>().material.shader = shader3; ((Component)spawnOnHit.transform.Find("particles/flame ring")).GetComponent<Renderer>().material.shader = shader2; ((Component)spawnOnHit.transform.Find("particles/flames (2)")).GetComponent<Renderer>().material.shader = shader2; ((Component)spawnOnHit.transform.Find("particles/splash_overtime")).GetComponent<Renderer>().material.shader = shader2; ItemConfig val99 = new ItemConfig(); val99.Name = "FrostBomb"; val99.CraftingStation = CraftingStations.Workbench; val99.AddRequirement("Resin", 12, 0); val99.AddRequirement("LeatherScraps", 5, 0); val99.RepairStation = CraftingStations.Workbench; CustomItem val100 = new CustomItem(newHaldorAssetBundle, "BombFrost", false, val99); ItemManager.Instance.AddItem(val100); itemDrop = ItemManager.Instance.GetItem("BombFrost").ItemDrop; attackProjectile = itemDrop.m_itemData.m_shared.m_attack.m_attackProjectile; spawnOnHit = attackProjectile.GetComponent<Projectile>().m_spawnOnHit; ((Component)spawnOnHit.transform.Find("particles/wetsplsh")).GetComponent<Renderer>().material.shader = shader2; ((Component)spawnOnHit.transform.Find("particles/ooz (1)")).GetComponent<Renderer>().material.shader = shader2; ((Component)spawnOnHit.transform.Find("particles/flakes")).GetComponent<Renderer>().material.shader = shader2; ((Component)spawnOnHit.transform.Find("particles/low_flames")).GetComponent<Renderer>().material.shader = shader3; ((Component)spawnOnHit.transform.Find("particles/flame ring")).GetComponent<Renderer>().material.shader = shader2; ((Component)spawnOnHit.transform.Find("particles/flames (2)")).GetComponent<Renderer>().material.shader = shader2; ((Component)spawnOnHit.transform.Find("particles/splash_overtime")).GetComponent<Renderer>().material.shader = shader2; ItemConfig val101 = new ItemConfig(); val101.Name = "HealingBomb"; val101.CraftingStation = CraftingStations.Workbench; val101.AddRequirement("Resin", 12, 0); val101.AddRequirement("LeatherScraps", 5, 0); val101.RepairStation = CraftingStations.Workbench; CustomItem val102 = new CustomItem(newHaldorAssetBundle, "BombHealing", false, val101); ItemManager.Instance.AddItem(val102); itemDrop = ItemManager.Instance.GetItem("BombHealing").ItemDrop; attackProjectile = itemDrop.m_itemData.m_shared.m_attack.m_attackProjectile; spawnOnHit = attackProjectile.GetComponent<Projectile>().m_spawnOnHit; ((Component)spawnOnHit.transform.Find("particles/wetsplsh")).GetComponent<Renderer>().material.shader = shader2; ((Component)spawnOnHit.transform.Find("particles/ooz (1)")).GetComponent<Renderer>().material.shader = shader2; ((Component)spawnOnHit.transform.Find("particles/interior_dust")).GetComponent<Renderer>().material.shader = shader2; ((Component)spawnOnHit.transform.Find("particles/splash_overtime")).GetComponent<Renderer>().material.shader = shader2; ItemConfig val103 = new ItemConfig(); val103.Name = "MegaWisplight"; val103.AddRequirement("Wisp", 100, 0); val103.AddRequirement("Silver", 1, 0); val103.AddRequirement("TrophyTick", 1, 0); CustomItem val104 = new CustomItem("MegaWisplight", "Demister", val103); SE_Demister val105 = (SE_Demister)val104.ItemDrop.m_itemData.m_shared.m_equipStatusEffect; ((Component)val105.m_ballPrefab.transform.Find("effects/Particle System Force Field")).GetComponent<ParticleSystemForceField>().endRange = 20f; ItemManager.Instance.AddItem(val104); PrefabManager.OnVanillaPrefabsAvailable -= AddClonedItems; } private void FixShaders() { Shader shader = ((Renderer)ItemManager.Instance.GetItem("CapeDeerHideCopy").ItemPrefab.GetComponentInChildren<MeshRenderer>()).sharedMaterial.shader; Material[] materials = ((Renderer)capeDeer.GetComponentInChildren<MeshRenderer>()).materials; materials[0].shader = shader; Transform val = capeDeer.transform.Find("attach_skin/cape2"); Material[] materials2 = ((Renderer)((Component)val).GetComponent<SkinnedMeshRenderer>()).materials; materials2[0].shader = shader; materials = ((Renderer)capeTroll.GetComponentInChildren<MeshRenderer>()).materials; materials[0].shader = shader; val = capeTroll.transform.Find("attach_skin/cape2"); materials2 = ((Renderer)((Component)val).GetComponent<SkinnedMeshRenderer>()).materials; materials2[0].shader = shader; Shader shader2 = ((Renderer)ItemManager.Instance.GetItem("CapeWolfCopy").ItemPrefab.GetComponentInChildren<MeshRenderer>()).sharedMaterial.shader; materials = ((Renderer)capeWolfWaterproof.GetComponentInChildren<MeshRenderer>()).materials; materials[0].shader = shader2; val = capeWolfWaterproof.transform.Find("attach_skin/WolfCape"); materials2 = ((Renderer)((Component)val).GetComponent<SkinnedMeshRenderer>()).materials; materials2[0].shader = shader; materials2[1].shader = shader; Transform val2 = capeWolfWaterproof.transform.Find("attach_skin/WolfCape_Cloth/WolfCape_cloth"); Material[] materials3 = ((Renderer)((Component)val2).GetComponent<SkinnedMeshRenderer>()).materials; materials3[0].shader = shader; materials = ((Renderer)capeLoxWaterproof.GetComponentInChildren<MeshRenderer>()).materials; materials[0].shader = shader; val = capeLoxWaterproof.transform.Find("attach_skin/LoxCape"); materials2 = ((Renderer)((Component)val).GetComponent<SkinnedMeshRenderer>()).materials; materials2[0].shader = shader; materials = ((Renderer)capeLinenWaterproof.GetComponentInChildren<MeshRenderer>()).materials; materials[0].shader = shader; val = capeLinenWaterproof.transform.Find("attach_skin/cape1"); materials2 = ((Renderer)((Component)val).GetComponent<SkinnedMeshRenderer>()).materials; materials2[0].shader = shader; materials = ((Renderer)capeFeatherWaterproof.GetComponentInChildren<MeshRenderer>()).materials; materials[0].shader = shader; val = capeFeatherWaterproof.transform.Find("attach_skin/MageCape"); materials2 = ((Renderer)((Component)val).GetComponent<SkinnedMeshRenderer>()).materials; materials2[0].shader = shader; materials = ((Renderer)capeAsksvinWaterproof.GetComponentInChildren<MeshRenderer>()).materials; materials[0].shader = shader; val = capeAsksvinWaterproof.transform.Find("attach_skin/Asksvincape"); materials2 = ((Renderer)((Component)val).GetComponent<SkinnedMeshRenderer>()).materials; materials2[0].shader = shader; materials = ((Renderer)capeAshWaterproof.GetComponentInChildren<MeshRenderer>()).materials; materials[0].shader = shader; val = capeAshWaterproof.transform.Find("attach_skin/Plane"); materials2 = ((Renderer)((Component)val).GetComponent<SkinnedMeshRenderer>()).materials; materials2[0].shader = shader; PrefabManager.OnVanillaPrefabsAvailable -= FixShaders; } private void CreateNewHaldor() { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Expected O, but got Unknown //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Expected O, but got Unknown //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Expected O, but got Unknown //IL_00e8: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Expected O, but got Unknown //IL_0139: Unknown result type (might be due to invalid IL or missing references) //IL_0140: Expected O, but got Unknown //IL_018a: Unknown result type (might be due to invalid IL or missing references) //IL_0191: Expected O, but got Unknown //IL_01db: Unknown result type (might be due to invalid IL or missing references) //IL_01e2: Expected O, but got Unknown //IL_022c: Unknown result type (might be due to invalid IL or missing references) //IL_0233: Expected O, but got Unknown //IL_027d: Unknown result type (might be due to invalid IL or missing references) //IL_0284: Expected O, but got Unknown //IL_02ba: Unknown result type (might be due to invalid IL or missing references) //IL_02c1: Expected O, but got Unknown //IL_02fc: Unknown result type (might be due to invalid IL or missing references) //IL_0303: Expected O, but got Unknown Trader component = newHaldor.GetComponent<Trader>(); TradeItem val = new TradeItem(); val.m_price = 50; val.m_stack = 20; val.m_prefab = ItemManager.Instance.GetItem("newMossyBait").ItemDrop; val.m_requiredGlobalKey = GlobalKey.KilledEikthyr; component.m_items.Add(val); TradeItem val2 = new TradeItem(); val2.m_price = 100; val2.m_stack = 20; val2.m_prefab = ItemManager.Instance.GetItem("newStickyBait").ItemDrop; val2.m_requiredGlobalKey = GlobalKey.KilledElder; component.m_items.Add(val2); TradeItem val3 = new TradeItem(); val3.m_price = 150; val3.m_stack = 20; val3.m_prefab = ItemManager.Instance.GetItem("newStingyBait").ItemDrop; val3.m_requiredGlobalKey = GlobalKey.KilledModer; component.m_items.Add(val3); TradeItem val4 = new TradeItem(); val4.m_price = 200; val4.m_stack = 20; val4.m_prefab = ItemManager.Instance.GetItem("newHeavyBait").ItemDrop; val4.m_requiredGlobalKey = GlobalKey.KilledTroll; component.m_items.Add(val4); TradeItem val5 = new TradeItem(); val5.m_price = 250; val5.m_stack = 20; val5.m_prefab = ItemManager.Instance.GetItem("newMistyBait").ItemDrop; val5.m_requiredGlobalKey = GlobalKey.KilledModer; component.m_items.Add(val5); TradeItem val6 = new TradeItem(); val6.m_price = 300; val6.m_stack = 20; val6.m_prefab = ItemManager.Instance.GetItem("newHotBait").ItemDrop; val6.m_requiredGlobalKey = GlobalKey.KilledYagluth; component.m_items.Add(val6); TradeItem val7 = new TradeItem(); val7.m_price = 350; val7.m_stack = 20; val7.m_prefab = ItemManager.Instance.GetItem("newFrostyBait").ItemDrop; val7.m_requiredGlobalKey = GlobalKey.KilledYagluth; component.m_items.Add(val7); TradeItem val8 = new TradeItem(); val8.m_price = 400; val8.m_stack = 20; val8.m_prefab = ItemManager.Instance.GetItem("newColdBait").ItemDrop; val8.m_requiredGlobalKey = GlobalKey.KilledYagluth; component.m_items.Add(val8); TradeItem val9 = new TradeItem(); val9.m_prefab = ItemManager.Instance.GetItem("newFishingRod").ItemDrop; val9.m_price = 350; component.m_items[4] = val9; TradeItem val10 = new TradeItem(); val10.m_price = 100; val10.m_stack = 3; val10.m_prefab = ItemManager.Instance.GetItem("newHoops").ItemDrop; component.m_items[8] = val10; TradeItem val11 = new TradeItem(); val11.m_price = 620; val11.m_stack = 1; val11.m_prefab = ItemManager.Instance.GetItem("MiningHat").ItemDrop; component.m_items[1] = val11; PrefabManager.Instance.AddPrefab(newHaldor); CustomPiece piece = PieceManager.Instance.GetPiece("InfiniteWoodTorch"); Fireplace component2 = ((Component)piece.Piece).gameObject.GetComponent<Fireplace>(); component2.m_infiniteFuel = true; CustomPiece piece2 = PieceManager.Instance.GetPiece("InfiniteIronTorch"); component2 = ((Component)piece2.Piece).gameObject.GetComponent<Fireplace>(); component2.m_infiniteFuel = true; CustomPiece piece3 = PieceManager.Instance.GetPiece("InfiniteGuckTorch"); component2 = ((Component)piece3.Piece).gameObject.GetComponent<Fireplace>(); component2.m_infiniteFuel = true; CustomPiece piece4 = PieceManager.Instance.GetPiece("InfiniteEyeTorch"); component2 = ((Component)piece4.Piece).gameObject.GetComponent<Fireplace>(); component2.m_infiniteFuel = true; CustomPiece piece5 = PieceManager.Instance.GetPiece("InfiniteSconce"); component2 = ((Component)piece5.Piece).gameObject.GetComponent<Fireplace>(); component2.m_infiniteFuel = true; PrefabManager.OnVanillaPrefabsAvailable -= CreateNewHaldor; } private void CreateWax() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Expected O, but got Unknown CustomItem val = new CustomItem(waxPrefab, false); ItemManager.Instance.AddItem(val); PrefabManager.OnVanillaPrefabsAvailable -= CreateWax; } private void CreateCapes() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Expected O, but got Unknown //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Expected O, but got Unknown //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Expected O, but got Unknown //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Expected O, but got Unknown //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Expected O, but got Unknown //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Expected O, but got Unknown //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Expected O, but got Unknown //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Expected O, but got Unknown CustomItem val = new CustomItem(capeDeer, false); CustomItem val2 = new CustomItem(capeTroll, false); CustomItem val3 = new CustomItem(capeWolfWaterproof, false); CustomItem val4 = new CustomItem(capeLoxWaterproof, false); CustomItem val5 = new CustomItem(capeLinenWaterproof, false); CustomItem val6 = new CustomItem(capeFeatherWaterproof, false); CustomItem val7 = new CustomItem(capeAsksvinWaterproof, false); CustomItem val8 = new CustomItem(capeAshWaterproof, false); ItemManager.Instance.AddItem(val); ItemManager.Instance.AddItem(val2); ItemManager.Instance.AddItem(val3); ItemManager.Instance.AddItem(val4); ItemManager.Instance.AddItem(val5); ItemManager.Instance.AddItem(val6); ItemManager.Instance.AddItem(val7); ItemManager.Instance.AddItem(val8); PrefabManager.OnVanillaPrefabsAvailable -= CreateCapes; } private void AddRecipes() { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Expected O, but got Unknown //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Expected O, but got Unknown //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Expected O, but got Unknown //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Expected O, but got Unknown //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Expected O, but got Unknown //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Expected O, but got Unknown //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: Expected O, but got Unknown //IL_00eb: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: Expected O, but got Unknown //IL_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_0109: Expected O, but got Unknown //IL_0113: Unknown result type (might be due to invalid IL or missing references) //IL_011d: Expected O, but got Unknown //IL_0124: Unknown result type (might be due to invalid IL or missing references) //IL_012e: Expected O, but got Unknown //IL_012f: Unknown result type (might be due to invalid IL or missing references) //IL_0135: Expected O, but got Unknown //IL_016e: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Expected O, but got Unknown //IL_0182: Unknown result type (might be due to invalid IL or missing references) //IL_018c: Expected O, but got Unknown //IL_0196: Unknown result type (might be due to invalid IL or missing references) //IL_01a0: Expected O, but got Unknown //IL_01aa: Unknown result type (might be due to invalid IL or missing references) //IL_01b4: Expected O, but got Unknown //IL_01bb: Unknown result type (might be due to invalid IL or missing references) //IL_01c5: Expected O, but got Unknown //IL_01c6: Unknown result type (might be due to invalid IL or missing references) //IL_01cc: Expected O, but got Unknown //IL_0205: Unknown result type (might be due to invalid IL or missing references) //IL_020f: Expected O, but got Unknown //IL_0219: Unknown result type (might be due to invalid IL or missing references) //IL_0223: Expected O, but got Unknown //IL_022d: Unknown result type (might be due to invalid IL or missing references) //IL_0237: Expected O, but got Unknown //IL_023e: Unknown result type (might be due to invalid IL or missing references) //IL_0248: Expected O, but got Unknown //IL_0249: Unknown result type (might be due to invalid IL or missing references) //IL_0250: Expected O, but got Unknown //IL_028e: Unknown result type (might be due to invalid IL or missing references) //IL_0298: Expected O, but got Unknown //IL_02a3: Unknown result type (might be due to invalid IL or missing references) //IL_02ad: Expected O, but got Unknown //IL_02b8: Unknown result type (might be due to invalid IL or missing references) //IL_02c2: Expected O, but got Unknown //IL_02ca: Unknown result type (might be due to invalid IL or missing references) //IL_02d4: Expected O, but got Unknown //IL_02d5: Unknown result type (might be due to invalid IL or missing references) //IL_02dc: Expected O, but got Unknown //IL_031a: Unknown result type (might be due to invalid IL or missing references) //IL_0324: Expected O, but got Unknown //IL_032f: Unknown result type (might be due to invalid IL or missing references) //IL_0339: Expected O, but got Unknown //IL_0344: Unknown result type (might be due to invalid IL or missing references) //IL_034e: Expected O, but got Unknown //IL_0359: Unknown result type (might be due to invalid IL or missing references) //IL_0363: Expected O, but got Unknown //IL_036e: Unknown result type (might be due to invalid IL or missing references) //IL_0378: Expected O, but got Unknown //IL_0380: Unknown result type (might be due to invalid IL or missing references) //IL_038a: Expected O, but got Unknown //IL_038b: Unknown result type (might be due to invalid IL or missing references) //IL_0392: Expected O, but got Unknown //IL_03d0: Unknown result type (might be due to invalid IL or missing references) //IL_03da: Expected O, but got Unknown //IL_03e5: Unknown result type (might be due to invalid IL or missing references) //IL_03ef: Expected O, but got Unknown //IL_03fa: Unknown result type (might be due to invalid IL or missing references) //IL_0404: Expected O, but got Unknown //IL_040c: Unknown result type (might be due to invalid IL or missing references) //IL_0416: Expected O, but got Unknown //IL_0417: Unknown result type (might be due to invalid IL or missing references) //IL_041e: Expected O, but got Unknown //IL_045c: Unknown result type (might be due to invalid IL or missing references) //IL_0466: Expected O, but got Unknown //IL_0471: Unknown result type (might be due to invalid IL or missing references) //IL_047b: Expected O, but got Unknown //IL_0486: Unknown result type (might be due to invalid IL or missing references) //IL_0490: Expected O, but got Unknown //IL_0498: Unknown result type (might be due to invalid IL or missing references) //IL_04a2: Expected O, but got Unknown //IL_04a3: Unknown result type (might be due to invalid IL or missing references) //IL_04aa: Expected O, but got Unknown //IL_04f0: Unknown result type (might be due to invalid IL or missing references) //IL_04fa: Expected O, but got Unknown //IL_04fb: Unknown result type (might be due to invalid IL or missing references) //IL_0502: Expected O, but got Unknown //IL_0549: Unknown result type (might be due to invalid