Decompiled source of DragoonCapes v1.3.1
plugins/DragoonCapes.dll
Decompiled a month ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Diagnostics; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Security.Permissions; using BepInEx; using BepInEx.Configuration; using DragoonCapes; using HarmonyLib; using Jotunn; using Jotunn.Configs; using Jotunn.Entities; using Jotunn.Managers; using Jotunn.Utils; using UnityEngine; using UnityEngine.SceneManagement; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("e3243d22-4307-4008-ba36-9f326008cde5")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("0.0.0.0")] [HarmonyPatch(typeof(ObjectDB))] internal static class PatchObjectDB { private static SE_Stats TrollCapeStatus = ScriptableObject.CreateInstance<SE_Stats>(); private static SE_Stats LoxCapeStatus = ScriptableObject.CreateInstance<SE_Stats>(); private static SE_Stats WolfCapeStatus = ScriptableObject.CreateInstance<SE_Stats>(); private static SE_Stats DeerCapeStatus = ScriptableObject.CreateInstance<SE_Stats>(); private static SE_Stats LinenCapeStatus = ScriptableObject.CreateInstance<SE_Stats>(); private static readonly string[] trollSet = new string[3] { "HelmetTrollLeather", "ArmorTrollLeatherChest", "ArmorTrollLeatherLegs" }; [HarmonyPatch("Awake")] [HarmonyPrefix] public static void Show_Postfix(ObjectDB __instance) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_010c: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Unknown result type (might be due to invalid IL or missing references) Scene activeScene = SceneManager.GetActiveScene(); if (((Scene)(ref activeScene)).name != "main" || !global::DragoonCapes.DragoonCapes.Instance.vanillaCapeEffectsEnabled.Value) { return; } ((Object)WolfCapeStatus).name = "$status_wolfcape"; ((StatusEffect)WolfCapeStatus).m_name = "$status_wolfcape"; ((StatusEffect)WolfCapeStatus).m_tooltip = "$status_wolfcape_desc"; ((StatusEffect)WolfCapeStatus).m_startMessage = "$status_wolfcape_msg"; WolfCapeStatus.m_skillLevel = (SkillType)5; WolfCapeStatus.m_skillLevel2 = (SkillType)4; WolfCapeStatus.m_skillLevelModifier = (WolfCapeStatus.m_skillLevelModifier2 = global::DragoonCapes.DragoonCapes.Instance.WolfSkill.Value); __instance.m_StatusEffects.Add((StatusEffect)(object)WolfCapeStatus); ((Object)DeerCapeStatus).name = "$status_deercape"; ((StatusEffect)DeerCapeStatus).m_name = "$status_deercape"; ((StatusEffect)DeerCapeStatus).m_tooltip = "$status_deercape_desc"; ((StatusEffect)DeerCapeStatus).m_startMessage = "$status_deercape_msg"; DeerCapeStatus.m_skillLevel = (SkillType)8; DeerCapeStatus.m_skillLevel2 = (SkillType)14; DeerCapeStatus.m_skillLevelModifier = (DeerCapeStatus.m_skillLevelModifier2 = global::DragoonCapes.DragoonCapes.Instance.DeerSkill.Value); DeerCapeStatus.m_speedModifier = global::DragoonCapes.DragoonCapes.Instance.DeerMoveSpeed.Value; __instance.m_StatusEffects.Add((StatusEffect)(object)DeerCapeStatus); ((Object)LoxCapeStatus).name = "$status_loxcape"; ((StatusEffect)LoxCapeStatus).m_name = "$status_loxcape"; ((StatusEffect)LoxCapeStatus).m_tooltip = "$status_loxcape_desc1\n$status_loxcape_desc2<color=orange>+" + (global::DragoonCapes.DragoonCapes.Instance.LoxHealth.Value - 1f) * 100f + "%</color>\n$status_loxcape_desc3<color=orange>" + global::DragoonCapes.DragoonCapes.Instance.LoxHealing.Value + " $status_loxcape_desc4</color>"; ((StatusEffect)LoxCapeStatus).m_startMessage = "$status_loxcape_msg"; LoxCapeStatus.m_tickInterval = global::DragoonCapes.DragoonCapes.Instance.LoxHealInterval.Value; LoxCapeStatus.m_healthPerTick = global::DragoonCapes.DragoonCapes.Instance.LoxHealing.Value; ((StatusEffect)LoxCapeStatus).m_category = "LoxCape"; __instance.m_StatusEffects.Add((StatusEffect)(object)LoxCapeStatus); ((Object)LinenCapeStatus).name = "$status_linencape"; ((StatusEffect)LinenCapeStatus).m_name = "$status_linencape"; ((StatusEffect)LinenCapeStatus).m_tooltip = "$status_linencape_desc1\n$status_linencape_desc2<color=orange>+" + global::DragoonCapes.DragoonCapes.Instance.LinenStagger.Value * 100f + "%</color>\n$status_linencape_desc3<color=orange>" + global::DragoonCapes.DragoonCapes.Instance.LinenProjs.Value + "</color>\n$status_linencape_desc4<color=orange>" + global::DragoonCapes.DragoonCapes.Instance.LinenDamageMult.Value * 100f + "%</color>"; ((StatusEffect)LinenCapeStatus).m_startMessage = "$status_linencape_msg"; ((StatusEffect)LinenCapeStatus).m_category = "LinenCape"; __instance.m_StatusEffects.Add((StatusEffect)(object)LinenCapeStatus); ((Object)TrollCapeStatus).name = "$status_trollcape"; ((StatusEffect)TrollCapeStatus).m_name = "$status_trollcape"; ((StatusEffect)TrollCapeStatus).m_tooltip = "$status_trollcape_desc1\n$status_trollcape_desc2<color=orange>" + global::DragoonCapes.DragoonCapes.Instance.TrollDamageMult.Value * 100f + "%</color>"; ((StatusEffect)TrollCapeStatus).m_startMessage = "$status_trollcape_msg"; ((StatusEffect)TrollCapeStatus).m_category = "TrollCape"; __instance.m_StatusEffects.Add((StatusEffect)(object)TrollCapeStatus); foreach (GameObject item in __instance.m_items) { if (((Object)item).name == "CapeDeerHide") { item.GetComponent<ItemDrop>().m_itemData.m_shared.m_equipStatusEffect = (StatusEffect)(object)DeerCapeStatus; } else if (((Object)item).name == "CapeWolf") { item.GetComponent<ItemDrop>().m_itemData.m_shared.m_armor = global::DragoonCapes.DragoonCapes.Instance.WolfArmor.Value; item.GetComponent<ItemDrop>().m_itemData.m_shared.m_armorPerLevel = global::DragoonCapes.DragoonCapes.Instance.WolfArmorPerLevel.Value; item.GetComponent<ItemDrop>().m_itemData.m_shared.m_equipStatusEffect = (StatusEffect)(object)WolfCapeStatus; } else if (((Object)item).name == "CapeLox") { item.GetComponent<ItemDrop>().m_itemData.m_shared.m_equipStatusEffect = (StatusEffect)(object)LoxCapeStatus; } else if (((Object)item).name == "CapeLinen") { item.GetComponent<ItemDrop>().m_itemData.m_shared.m_equipStatusEffect = (StatusEffect)(object)LinenCapeStatus; } else if (((Object)item).name == "CapeTrollHide") { item.GetComponent<ItemDrop>().m_itemData.m_shared.m_equipStatusEffect = (StatusEffect)(object)TrollCapeStatus; item.GetComponent<ItemDrop>().m_itemData.m_shared.m_setName = string.Empty; item.GetComponent<ItemDrop>().m_itemData.m_shared.m_setSize = 0; item.GetComponent<ItemDrop>().m_itemData.m_shared.m_setStatusEffect = null; } else if (trollSet.Contains(((Object)item).name)) { item.GetComponent<ItemDrop>().m_itemData.m_shared.m_setSize = 3; } } } } namespace DragoonCapes; [HarmonyPatch] internal class AdventurerCape { [HarmonyPostfix] [HarmonyPatch(typeof(SE_Rested), "CalculateComfortLevel", new Type[] { typeof(Player) })] private static void MoreComfort_Postfix(ref int __result, ref Player player) { if (!((Object)(object)player == (Object)null) && !((Character)player).IsDead() && ((Character)player).GetSEMan().HaveStatusEffectCategory("adventurerCape")) { __result += DragoonCapes.Instance.AdventurerComfortBonus.Value; } } [HarmonyPostfix] [HarmonyPatch(typeof(Humanoid), "UnequipItem", null)] private static void Unrest_Postfix(ref ItemData item) { Player localPlayer = Player.m_localPlayer; if (item != null && !((Object)(object)localPlayer == (Object)null) && !((Character)localPlayer).IsDead() && !((Object)(object)item.m_shared.m_equipStatusEffect == (Object)null) && item.m_shared.m_equipStatusEffect.m_category == "adventurerCape" && DragoonCapes.Instance.AdventurerComfortBonus.Value > 0 && ((Character)localPlayer).GetSEMan().HaveStatusEffect("Rested")) { ((Character)localPlayer).GetSEMan().RemoveStatusEffect("Resting".GetHashCode(), false); StatusEffect statusEffect = ((Character)localPlayer).GetSEMan().GetStatusEffect("Rested".GetHashCode()); statusEffect.m_time += (float)DragoonCapes.Instance.AdventurerComfortBonus.Value * 60f; } } [HarmonyPostfix] [HarmonyPatch(typeof(Bed), "CheckExposure")] private static void SleepRoof_Postfix(ref bool __result) { Player localPlayer = Player.m_localPlayer; if (!((Object)(object)localPlayer == (Object)null) && !((Character)localPlayer).IsDead() && ((Character)localPlayer).GetSEMan().HaveStatusEffectCategory("adventurerCape") && DragoonCapes.Instance.AdventurerEffect.Value) { __result = true; } } [HarmonyPostfix] [HarmonyPatch(typeof(Bed), "CheckFire")] private static void SleepFire_Prefix(ref bool __result) { Player localPlayer = Player.m_localPlayer; if (!((Object)(object)localPlayer == (Object)null) && !((Character)localPlayer).IsDead() && ((Character)localPlayer).GetSEMan().HaveStatusEffectCategory("adventurerCape") && DragoonCapes.Instance.AdventurerEffect.Value) { __result = true; } } } [HarmonyPatch] internal class BerserkCape { [HarmonyPrefix] [HarmonyPatch(typeof(Character), "Damage")] private static void Damage_Prefix(HitData hit) { Player localPlayer = Player.m_localPlayer; if (!((Object)(object)localPlayer == (Object)null) && !((Character)localPlayer).IsDead() && ((Character)localPlayer).GetSEMan().HaveStatusEffectCategory("berserkCape") && (Object)(object)hit.GetAttacker() == (Object)(object)localPlayer && !hit.m_ranged) { float num = 1f - ((Character)localPlayer).GetHealthPercentage(); float num2 = 1f + num * DragoonCapes.Instance.BerserkMoveSpeed.Value; ((DamageTypes)(ref hit.m_damage)).Modify(num2); } } } [HarmonyPatch] internal class BoarCape { private static float baseStaminaUse = 10f; [HarmonyPatch(typeof(Player), "Dodge")] private static void Prefix(ref float ___m_dodgeStaminaUsage, ref SEMan ___m_seman) { if (___m_seman != null) { if (___m_seman.HaveStatusEffectCategory("boarCape")) { ___m_dodgeStaminaUsage = baseStaminaUse * Math.Max(0.01f, 1f - DragoonCapes.Instance.BoarDodgeMult.Value); } else if (___m_dodgeStaminaUsage != baseStaminaUse) { ___m_dodgeStaminaUsage = baseStaminaUse; } } } } [HarmonyPatch] internal class BrawlerCape { [HarmonyPrefix] [HarmonyPatch(typeof(Character), "Damage")] private static void JotunnPunch_Prefix(HitData hit) { //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: Invalid comparison between Unknown and I4 Player localPlayer = Player.m_localPlayer; if (!((Object)(object)localPlayer == (Object)null) && !((Character)localPlayer).IsDead() && hit != null && ((Character)localPlayer).GetSEMan().HaveStatusEffectCategory("brawlerCape")) { SEMan sEMan = ((Character)localPlayer).GetSEMan(); if ((sEMan.HaveStatusEffectCategory("healthpotion") || sEMan.HaveStatusEffectCategory("staminapotion") || sEMan.HaveStatusEffectCategory("eitrpotion") || sEMan.HaveStatusEffect("Potion_frostresist") || sEMan.HaveStatusEffect("Potion_poisonresist") || sEMan.HaveStatusEffect("Potion_tasty")) && (Object)(object)hit.GetAttacker() == (Object)(object)localPlayer && (int)((Humanoid)localPlayer).GetCurrentWeapon().m_shared.m_skillType == 11) { ((DamageTypes)(ref hit.m_damage)).Modify(1f + DragoonCapes.Instance.HrugnirDamageMult.Value); } } } } [HarmonyPatch] internal class BushCape { [HarmonyPrefix] [HarmonyPatch(typeof(Attack), "FireProjectileBurst")] public static void Attack_FireProjectileBurst_Prefix(Attack __instance) { //IL_0063: 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_0075: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) Player localPlayer = Player.m_localPlayer; if (!((Object)(object)localPlayer == (Object)null) && !((Character)localPlayer).IsDead() && __instance != null && ((__instance != null) ? __instance.GetWeapon() : null) != null && ((Character)localPlayer).GetSEMan().HaveStatusEffectCategory("bushCape")) { SkillType? val = __instance.GetWeapon()?.m_shared.m_skillType; if (val == (SkillType?)8 || val == (SkillType?)14) { __instance.m_projectileVel *= 1f + DragoonCapes.Instance.BushVelocity.Value; __instance.m_attackStartNoise *= DragoonCapes.Instance.BushNoiseReduction.Value; __instance.m_attackHitNoise *= DragoonCapes.Instance.BushNoiseReduction.Value; } } } } [HarmonyPatch] internal class CrusaderCape { [HarmonyPrefix] [HarmonyPatch(typeof(Character), "Damage")] private static void Spirit_Prefix(HitData hit) { Player localPlayer = Player.m_localPlayer; if (!((Object)(object)localPlayer == (Object)null) && !((Character)localPlayer).IsDead() && hit != null && ((Character)localPlayer).GetSEMan().HaveStatusEffectCategory("crusaderCape") && (Object)(object)hit.GetAttacker() == (Object)(object)localPlayer) { float totalDamage = hit.GetTotalDamage(); hit.m_damage.m_spirit += totalDamage * DragoonCapes.Instance.CrusaderDamageSpirit.Value; hit.m_damage.m_blunt += totalDamage * DragoonCapes.Instance.CrusaderDamageBlunt.Value; } } } internal class DragonStaff { } [BepInPlugin("com.HappyDragoon.DragoonCapes", "DragoonCapes", "1.3.1")] [BepInDependency(/*Could not decode attribute arguments.*/)] internal class DragoonCapes : BaseUnityPlugin { public const string PluginGUID = "com.HappyDragoon.DragoonCapes"; public const string PluginName = "DragoonCapes"; public const string PluginVersion = "1.3.1"; public static CustomLocalization Localization = LocalizationManager.Instance.GetLocalization(); public static DragoonCapes Instance; public ConfigEntry<bool> vanillaCapeEffectsEnabled; public ConfigEntry<bool> dragoonCapeEffectsEnabled; public ConfigEntry<bool> featherBeltEnabled; public ConfigEntry<int> WolfArmor; public ConfigEntry<int> WolfArmorPerLevel; public ConfigEntry<int> WolfSkill; public ConfigEntry<float> DeerMoveSpeed; public ConfigEntry<int> DeerSkill; public ConfigEntry<float> LoxHealing; public ConfigEntry<float> LoxHealth; public ConfigEntry<float> LoxHealInterval; public ConfigEntry<float> LinenStagger; public ConfigEntry<float> LinenDamageMult; public ConfigEntry<int> LinenProjs; public ConfigEntry<float> TrollDamageMult; public ConfigEntry<int> NeckSkill; public ConfigEntry<bool> NeckWaterproof; public ConfigEntry<int> CultistSkill; public ConfigEntry<float> CultistRegen; public ConfigEntry<int> DvergrSkill; public ConfigEntry<float> DvergrRegen; public ConfigEntry<float> SerpentDamageMult; public ConfigEntry<int> KnightSkill; public ConfigEntry<float> KnightRegen; public ConfigEntry<float> KnightStaggerRes; public ConfigEntry<int> CrusaderSkill; public ConfigEntry<float> CrusaderDamageSpirit; public ConfigEntry<float> CrusaderDamageBlunt; public ConfigEntry<float> BerserkDamageMult; public ConfigEntry<float> BerserkMoveSpeed; public ConfigEntry<int> BushSkill; public ConfigEntry<float> BushVelocity; public ConfigEntry<float> BushNoiseReduction; public ConfigEntry<int> BoarSkill; public ConfigEntry<float> BoarRegen; public ConfigEntry<float> BoarDodgeMult; public ConfigEntry<int> GreySkill; public ConfigEntry<float> GreyEitr; public ConfigEntry<float> WraithPenalty; public ConfigEntry<int> WraithFlightTime; public ConfigEntry<float> WraithVel; public ConfigEntry<float> WraithFall; public ConfigEntry<float> EinherjarVelocity; public ConfigEntry<float> EinherjarDamageMult; public ConfigEntry<bool> EinherjarEffect; public ConfigEntry<float> EinherjarCostMult; public ConfigEntry<float> SurtlingDamageMult; public ConfigEntry<int> HrugnirCarryWeight; public ConfigEntry<float> HrugnirDamageMult; public ConfigEntry<float> LeechLifesteal; public ConfigEntry<float> nightstalkerRegen; public ConfigEntry<int> nightstalkerSkill; public ConfigEntry<int> AdventurerComfortBonus; public ConfigEntry<bool> AdventurerEffect; private static SE_Stats neckCapeStatus = ScriptableObject.CreateInstance<SE_Stats>(); private static SE_Stats cultistCapeStatus = ScriptableObject.CreateInstance<SE_Stats>(); private static SE_Stats knightCapeStatus = ScriptableObject.CreateInstance<SE_Stats>(); private static SE_Stats crusaderCapeStatus = ScriptableObject.CreateInstance<SE_Stats>(); private static SE_Stats dvergrCapeStatus = ScriptableObject.CreateInstance<SE_Stats>(); private static SE_Stats shamanCapeStatus = ScriptableObject.CreateInstance<SE_Stats>(); private static SE_Stats serpentCapeStatus = ScriptableObject.CreateInstance<SE_Stats>(); private static SE_Stats berserkCapeStatus = ScriptableObject.CreateInstance<SE_Stats>(); private static SE_Stats bushCapeStatus = ScriptableObject.CreateInstance<SE_Stats>(); private static SE_Stats boarCapeStatus = ScriptableObject.CreateInstance<SE_Stats>(); private static SE_Stats dwarfCapeStatus = ScriptableObject.CreateInstance<SE_Stats>(); private static SE_Stats wraithCapeStatus = ScriptableObject.CreateInstance<SE_Stats>(); private static SE_Stats surtlingCapeStatus = ScriptableObject.CreateInstance<SE_Stats>(); private static SE_Stats einherjarCapeStatus = ScriptableObject.CreateInstance<SE_Stats>(); private static SE_Stats brawlerCapeStatus = ScriptableObject.CreateInstance<SE_Stats>(); private static SE_Stats leechCapeStatus = ScriptableObject.CreateInstance<SE_Stats>(); private static SE_Stats stalkerCapeStatus = ScriptableObject.CreateInstance<SE_Stats>(); private static SE_Stats adventurerCapeStatus = ScriptableObject.CreateInstance<SE_Stats>(); private static SE_Stats featherBeltStatus = ScriptableObject.CreateInstance<SE_Stats>(); private static SE_Stats meadBeltStatus = ScriptableObject.CreateInstance<SE_Stats>(); public DragoonCapes() { Instance = this; } private void Awake() { CreateConfigValues(); PrefabManager.OnVanillaPrefabsAvailable += AddClonedItems; Harmony.CreateAndPatchAll(Assembly.GetExecutingAssembly(), (string)null); } private void CreateConfigValues() { //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Expected O, but got Unknown //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Expected O, but got Unknown //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Expected O, but got Unknown //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Expected O, but got Unknown //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: Expected O, but got Unknown //IL_00b6: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Expected O, but got Unknown //IL_00f0: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Expected O, but got Unknown //IL_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_0108: Expected O, but got Unknown //IL_0138: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) //IL_0146: Expected O, but got Unknown //IL_0146: Unknown result type (might be due to invalid IL or missing references) //IL_0150: Expected O, but got Unknown //IL_0181: Unknown result type (might be due to invalid IL or missing references) //IL_0186: Unknown result type (might be due to invalid IL or missing references) //IL_018f: Expected O, but got Unknown //IL_018f: Unknown result type (might be due to invalid IL or missing references) //IL_0199: Expected O, but got Unknown //IL_01cd: Unknown result type (might be due to invalid IL or missing references) //IL_01d2: Unknown result type (might be due to invalid IL or missing references) //IL_01db: Expected O, but got Unknown //IL_01db: Unknown result type (might be due to invalid IL or missing references) //IL_01e5: Expected O, but got Unknown //IL_021d: Unknown result type (might be due to invalid IL or missing references) //IL_0222: Unknown result type (might be due to invalid IL or missing references) //IL_022b: Expected O, but got Unknown //IL_022b: Unknown result type (might be due to invalid IL or missing references) //IL_0235: Expected O, but got Unknown //IL_0270: Unknown result type (might be due to invalid IL or missing references) //IL_0275: Unknown result type (might be due to invalid IL or missing references) //IL_027e: Expected O, but got Unknown //IL_027e: Unknown result type (might be due to invalid IL or missing references) //IL_0288: Expected O, but got Unknown //IL_02c3: Unknown result type (might be due to invalid IL or missing references) //IL_02c8: Unknown result type (might be due to invalid IL or missing references) //IL_02d1: Expected O, but got Unknown //IL_02d1: Unknown result type (might be due to invalid IL or missing references) //IL_02db: Expected O, but got Unknown //IL_0316: Unknown result type (might be due to invalid IL or missing references) //IL_031b: Unknown result type (might be due to invalid IL or missing references) //IL_0324: Expected O, but got Unknown //IL_0324: Unknown result type (might be due to invalid IL or missing references) //IL_032e: Expected O, but got Unknown //IL_0369: Unknown result type (might be due to invalid IL or missing references) //IL_036e: Unknown result type (might be due to invalid IL or missing references) //IL_0377: Expected O, but got Unknown //IL_0377: Unknown result type (might be due to invalid IL or missing references) //IL_0381: Expected O, but got Unknown //IL_03bc: Unknown result type (might be due to invalid IL or missing references) //IL_03c1: Unknown result type (might be due to invalid IL or missing references) //IL_03ca: Expected O, but got Unknown //IL_03ca: Unknown result type (might be due to invalid IL or missing references) //IL_03d4: Expected O, but got Unknown //IL_0404: Unknown result type (might be due to invalid IL or missing references) //IL_0409: Unknown result type (might be due to invalid IL or missing references) //IL_0412: Expected O, but got Unknown //IL_0412: Unknown result type (might be due to invalid IL or missing references) //IL_041c: Expected O, but got Unknown //IL_0457: Unknown result type (might be due to invalid IL or missing references) //IL_045c: Unknown result type (might be due to invalid IL or missing references) //IL_0465: Expected O, but got Unknown //IL_0465: Unknown result type (might be due to invalid IL or missing references) //IL_046f: Expected O, but got Unknown //IL_04a0: Unknown result type (might be due to invalid IL or missing references) //IL_04a5: Unknown result type (might be due to invalid IL or missing references) //IL_04ae: Expected O, but got Unknown //IL_04ae: Unknown result type (might be due to invalid IL or missing references) //IL_04b8: Expected O, but got Unknown //IL_04dd: Unknown result type (might be due to invalid IL or missing references) //IL_04e2: Unknown result type (might be due to invalid IL or missing references) //IL_04eb: Expected O, but got Unknown //IL_04eb: Unknown result type (might be due to invalid IL or missing references) //IL_04f5: Expected O, but got Unknown //IL_0526: Unknown result type (might be due to invalid IL or missing references) //IL_052b: Unknown result type (might be due to invalid IL or missing references) //IL_0534: Expected O, but got Unknown //IL_0534: Unknown result type (might be due to invalid IL or missing references) //IL_053e: Expected O, but got Unknown //IL_0579: Unknown result type (might be due to invalid IL or missing references) //IL_057e: Unknown result type (might be due to invalid IL or missing references) //IL_0587: Expected O, but got Unknown //IL_0587: Unknown result type (might be due to invalid IL or missing references) //IL_0591: Expected O, but got Unknown //IL_05c2: Unknown result type (might be due to invalid IL or missing references) //IL_05c7: Unknown result type (might be due to invalid IL or missing references) //IL_05d0: Expected O, but got Unknown //IL_05d0: Unknown result type (might be due to invalid IL or missing references) //IL_05da: Expected O, but got Unknown //IL_0615: Unknown result type (might be due to invalid IL or missing references) //IL_061a: Unknown result type (might be due to invalid IL or missing references) //IL_0623: Expected O, but got Unknown //IL_0623: Unknown result type (might be due to invalid IL or missing references) //IL_062d: Expected O, but got Unknown //IL_0668: Unknown result type (might be due to invalid IL or missing references) //IL_066d: Unknown result type (might be due to invalid IL or missing references) //IL_0676: Expected O, but got Unknown //IL_0676: Unknown result type (might be due to invalid IL or missing references) //IL_0680: Expected O, but got Unknown //IL_06b1: Unknown result type (might be due to invalid IL or missing references) //IL_06b6: Unknown result type (might be due to invalid IL or missing references) //IL_06bf: Expected O, but got Unknown //IL_06bf: Unknown result type (might be due to invalid IL or missing references) //IL_06c9: Expected O, but got Unknown //IL_0704: Unknown result type (might be due to invalid IL or missing references) //IL_0709: Unknown result type (might be due to invalid IL or missing references) //IL_0712: Expected O, but got Unknown //IL_0712: Unknown result type (might be due to invalid IL or missing references) //IL_071c: Expected O, but got Unknown //IL_0757: Unknown result type (might be due to invalid IL or missing references) //IL_075c: Unknown result type (might be due to invalid IL or missing references) //IL_0765: Expected O, but got Unknown //IL_0765: Unknown result type (might be due to invalid IL or missing references) //IL_076f: Expected O, but got Unknown //IL_07a0: Unknown result type (might be due to invalid IL or missing references) //IL_07a5: Unknown result type (might be due to invalid IL or missing references) //IL_07ae: Expected O, but got Unknown //IL_07ae: Unknown result type (might be due to invalid IL or missing references) //IL_07b8: Expected O, but got Unknown //IL_07f3: Unknown result type (might be due to invalid IL or missing references) //IL_07f8: Unknown result type (might be due to invalid IL or missing references) //IL_0801: Expected O, but got Unknown //IL_0801: Unknown result type (might be due to invalid IL or missing references) //IL_080b: Expected O, but got Unknown //IL_0846: Unknown result type (might be due to invalid IL or missing references) //IL_084b: Unknown result type (might be due to invalid IL or missing references) //IL_0854: Expected O, but got Unknown //IL_0854: Unknown result type (might be due to invalid IL or missing references) //IL_085e: Expected O, but got Unknown //IL_0899: Unknown result type (might be due to invalid IL or missing references) //IL_089e: Unknown result type (might be due to invalid IL or missing references) //IL_08a7: Expected O, but got Unknown //IL_08a7: Unknown result type (might be due to invalid IL or missing references) //IL_08b1: Expected O, but got Unknown //IL_08ec: Unknown result type (might be due to invalid IL or missing references) //IL_08f1: Unknown result type (might be due to invalid IL or missing references) //IL_08fa: Expected O, but got Unknown //IL_08fa: Unknown result type (might be due to invalid IL or missing references) //IL_0904: Expected O, but got Unknown //IL_0935: Unknown result type (might be due to invalid IL or missing references) //IL_093a: Unknown result type (might be due to invalid IL or missing references) //IL_0943: Expected O, but got Unknown //IL_0943: Unknown result type (might be due to invalid IL or missing references) //IL_094d: Expected O, but got Unknown //IL_0988: Unknown result type (might be due to invalid IL or missing references) //IL_098d: Unknown result type (might be due to invalid IL or missing references) //IL_0996: Expected O, but got Unknown //IL_0996: Unknown result type (might be due to invalid IL or missing references) //IL_09a0: Expected O, but got Unknown //IL_09db: Unknown result type (might be due to invalid IL or missing references) //IL_09e0: Unknown result type (might be due to invalid IL or missing references) //IL_09e9: Expected O, but got Unknown //IL_09e9: Unknown result type (might be due to invalid IL or missing references) //IL_09f3: Expected O, but got Unknown //IL_0a24: Unknown result type (might be due to invalid IL or missing references) //IL_0a29: Unknown result type (might be due to invalid IL or missing references) //IL_0a32: Expected O, but got Unknown //IL_0a32: Unknown result type (might be due to invalid IL or missing references) //IL_0a3c: Expected O, but got Unknown //IL_0a77: Unknown result type (might be due to invalid IL or missing references) //IL_0a7c: Unknown result type (might be due to invalid IL or missing references) //IL_0a85: Expected O, but got Unknown //IL_0a85: Unknown result type (might be due to invalid IL or missing references) //IL_0a8f: Expected O, but got Unknown //IL_0aca: Unknown result type (might be due to invalid IL or missing references) //IL_0acf: Unknown result type (might be due to invalid IL or missing references) //IL_0ad8: Expected O, but got Unknown //IL_0ad8: Unknown result type (might be due to invalid IL or missing references) //IL_0ae2: Expected O, but got Unknown //IL_0b12: Unknown result type (might be due to invalid IL or missing references) //IL_0b17: Unknown result type (might be due to invalid IL or missing references) //IL_0b20: Expected O, but got Unknown //IL_0b20: Unknown result type (might be due to invalid IL or missing references) //IL_0b2a: Expected O, but got Unknown //IL_0b65: Unknown result type (might be due to invalid IL or missing references) //IL_0b6a: Unknown result type (might be due to invalid IL or missing references) //IL_0b73: Expected O, but got Unknown //IL_0b73: Unknown result type (might be due to invalid IL or missing references) //IL_0b7d: Expected O, but got Unknown //IL_0bb8: Unknown result type (might be due to invalid IL or missing references) //IL_0bbd: Unknown result type (might be due to invalid IL or missing references) //IL_0bc6: Expected O, but got Unknown //IL_0bc6: Unknown result type (might be due to invalid IL or missing references) //IL_0bd0: Expected O, but got Unknown //IL_0c0b: Unknown result type (might be due to invalid IL or missing references) //IL_0c10: Unknown result type (might be due to invalid IL or missing references) //IL_0c19: Expected O, but got Unknown //IL_0c19: Unknown result type (might be due to invalid IL or missing references) //IL_0c23: Expected O, but got Unknown //IL_0c5a: Unknown result type (might be due to invalid IL or missing references) //IL_0c5f: Unknown result type (might be due to invalid IL or missing references) //IL_0c68: Expected O, but got Unknown //IL_0c68: Unknown result type (might be due to invalid IL or missing references) //IL_0c72: Expected O, but got Unknown //IL_0cad: Unknown result type (might be due to invalid IL or missing references) //IL_0cb2: Unknown result type (might be due to invalid IL or missing references) //IL_0cbb: Expected O, but got Unknown //IL_0cbb: Unknown result type (might be due to invalid IL or missing references) //IL_0cc5: Expected O, but got Unknown //IL_0d00: Unknown result type (might be due to invalid IL or missing references) //IL_0d05: Unknown result type (might be due to invalid IL or missing references) //IL_0d0e: Expected O, but got Unknown //IL_0d0e: Unknown result type (might be due to invalid IL or missing references) //IL_0d18: Expected O, but got Unknown //IL_0d53: Unknown result type (might be due to invalid IL or missing references) //IL_0d58: Unknown result type (might be due to invalid IL or missing references) //IL_0d61: Expected O, but got Unknown //IL_0d61: Unknown result type (might be due to invalid IL or missing references) //IL_0d6b: Expected O, but got Unknown //IL_0da6: Unknown result type (might be due to invalid IL or missing references) //IL_0dab: Unknown result type (might be due to invalid IL or missing references) //IL_0db4: Expected O, but got Unknown //IL_0db4: Unknown result type (might be due to invalid IL or missing references) //IL_0dbe: Expected O, but got Unknown //IL_0de3: Unknown result type (might be due to invalid IL or missing references) //IL_0de8: Unknown result type (might be due to invalid IL or missing references) //IL_0df1: Expected O, but got Unknown //IL_0df1: Unknown result type (might be due to invalid IL or missing references) //IL_0dfb: Expected O, but got Unknown //IL_0e36: Unknown result type (might be due to invalid IL or missing references) //IL_0e3b: Unknown result type (might be due to invalid IL or missing references) //IL_0e44: Expected O, but got Unknown //IL_0e44: Unknown result type (might be due to invalid IL or missing references) //IL_0e4e: Expected O, but got Unknown //IL_0e82: Unknown result type (might be due to invalid IL or missing references) //IL_0e87: Unknown result type (might be due to invalid IL or missing references) //IL_0e90: Expected O, but got Unknown //IL_0e90: Unknown result type (might be due to invalid IL or missing references) //IL_0e9a: Expected O, but got Unknown //IL_0ed5: Unknown result type (might be due to invalid IL or missing references) //IL_0eda: Unknown result type (might be due to invalid IL or missing references) //IL_0ee3: Expected O, but got Unknown //IL_0ee3: Unknown result type (might be due to invalid IL or missing references) //IL_0eed: Expected O, but got Unknown //IL_0f28: Unknown result type (might be due to invalid IL or missing references) //IL_0f2d: Unknown result type (might be due to invalid IL or missing references) //IL_0f36: Expected O, but got Unknown //IL_0f36: Unknown result type (might be due to invalid IL or missing references) //IL_0f40: Expected O, but got Unknown //IL_0f7b: Unknown result type (might be due to invalid IL or missing references) //IL_0f80: Unknown result type (might be due to invalid IL or missing references) //IL_0f89: Expected O, but got Unknown //IL_0f89: Unknown result type (might be due to invalid IL or missing references) //IL_0f93: Expected O, but got Unknown //IL_0fc4: Unknown result type (might be due to invalid IL or missing references) //IL_0fc9: Unknown result type (might be due to invalid IL or missing references) //IL_0fd2: Expected O, but got Unknown //IL_0fd2: Unknown result type (might be due to invalid IL or missing references) //IL_0fdc: Expected O, but got Unknown //IL_1001: Unknown result type (might be due to invalid IL or missing references) //IL_1006: Unknown result type (might be due to invalid IL or missing references) //IL_100f: Expected O, but got Unknown //IL_100f: Unknown result type (might be due to invalid IL or missing references) //IL_1019: Expected O, but got Unknown //IL_104d: Unknown result type (might be due to invalid IL or missing references) //IL_1052: Unknown result type (might be due to invalid IL or missing references) //IL_105b: Expected O, but got Unknown //IL_105b: Unknown result type (might be due to invalid IL or missing references) //IL_1065: Expected O, but got Unknown ((BaseUnityPlugin)this).Config.SaveOnConfigSet = true; vanillaCapeEffectsEnabled = ((BaseUnityPlugin)this).Config.Bind<bool>("Server config", "vanillaCapeEffectsEnabled", true, new ConfigDescription("Enable Effects on vanilla capes", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); dragoonCapeEffectsEnabled = ((BaseUnityPlugin)this).Config.Bind<bool>("Server config", "dragoonCapeEffectsEnabled", true, new ConfigDescription("Enable Effects on modded capes", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); featherBeltEnabled = ((BaseUnityPlugin)this).Config.Bind<bool>("Server config", "featherBeltEnabled", true, new ConfigDescription("$featherBeltEnabled", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); WolfArmor = ((BaseUnityPlugin)this).Config.Bind<int>("Server config", "WolfArmor", 4, new ConfigDescription("Wolf cape base armor.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<int>(0, 100), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); WolfArmorPerLevel = ((BaseUnityPlugin)this).Config.Bind<int>("Server config", "WolfArmorPerLevel", 2, new ConfigDescription("Wolf cape armor increase per Level", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<int>(0, 100), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); WolfSkill = ((BaseUnityPlugin)this).Config.Bind<int>("Server config", "WolfSkill", 10, new ConfigDescription("Wolf cape skill bonuses", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<int>(0, 100), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); DeerMoveSpeed = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "DeerMoveSpeed", 0.05f, new ConfigDescription("Deer cape nove speed multipler bonus.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<int>(0, 100), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); DeerSkill = ((BaseUnityPlugin)this).Config.Bind<int>("Server config", "DeerSkill", 10, new ConfigDescription("Deer cape skill bonuses.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<float>(0f, 100f), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); LoxHealing = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "LoxHealing", 5f, new ConfigDescription("Lox cape heal per tick.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<float>(0f, 100f), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); LoxHealInterval = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "LoxHealInterval", 10f, new ConfigDescription("Lox cape interval between healing.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<float>(0.1f, 100f), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); LoxHealth = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "LoxHealth", 1.15f, new ConfigDescription("Lox cape health multiplier.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<float>(0.1f, 100f), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); LinenStagger = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "LinenStagger", 0.25f, new ConfigDescription("Linen cape added melee stagger damage, 1 would mean double stagger", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<float>(0.1f, 100f), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); LinenDamageMult = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "LinenDamageMult", 0.42f, new ConfigDescription("Linen cape projectile damage multiplier, should be lower if proj is higher to balance the damage output.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<float>(0.1f, 100f), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); LinenProjs = ((BaseUnityPlugin)this).Config.Bind<int>("Server config", "LinenProjs", 3, new ConfigDescription("Linen cape number of projectiles.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<int>(1, 10), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); TrollDamageMult = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "TrollDamageMult", 1.4f, new ConfigDescription("Troll cape damage multipler at 100 sneak", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<float>(1f, 100f), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); NeckSkill = ((BaseUnityPlugin)this).Config.Bind<int>("Server config", "NeckSkill", 30, new ConfigDescription("Neck cape skill bonus.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<int>(0, 100), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); NeckWaterproof = ((BaseUnityPlugin)this).Config.Bind<bool>("Server config", "NeckWaterproof", true, new ConfigDescription("Neck cape waterproofness. true=waterproof", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); CultistSkill = ((BaseUnityPlugin)this).Config.Bind<int>("Server config", "CultistSkill", 10, new ConfigDescription("Cultist cape skill bonuses.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<int>(0, 100), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); CultistRegen = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "CultistRegen", 1.15f, new ConfigDescription("Cultist cape health regen multiplier.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<float>(1f, 100f), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); DvergrSkill = ((BaseUnityPlugin)this).Config.Bind<int>("Server config", "DvergrSkill", 10, new ConfigDescription("Dvergr cape skill bonuses.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<int>(0, 100), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); DvergrRegen = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "DvergrRegen", 1.15f, new ConfigDescription("Dvergr cape eitr regen multiplier.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<float>(1f, 100f), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); SerpentDamageMult = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "SerpentDamageMult", 0.25f, new ConfigDescription("Serpent cape added poison damage.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<float>(1f, 100f), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); KnightSkill = ((BaseUnityPlugin)this).Config.Bind<int>("Server config", "KnightSkill", 10, new ConfigDescription("Knight cape skill bonuses.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<int>(0, 100), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); KnightRegen = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "KnightRegen", 1.15f, new ConfigDescription("Knight cape stamina regen multiplier.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<float>(1f, 100f), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); KnightStaggerRes = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "KnightStaggerRes", 0.25f, new ConfigDescription("Knight cape stagger resistance percentage.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<float>(0.01f, 0.99f), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); CrusaderSkill = ((BaseUnityPlugin)this).Config.Bind<int>("Server config", "CrusaderSkill", 10, new ConfigDescription("Crusader cape skill bonuses.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<int>(0, 100), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); CrusaderDamageSpirit = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "CrusaderDamageSpirit", 0.25f, new ConfigDescription("Crusader cape added spirit damage.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<float>(0.01f, 100f), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); CrusaderDamageBlunt = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "CrusaderDamageBlunt", 0.1f, new ConfigDescription("Crusader cape added blunt damage.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<float>(0.01f, 100f), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); BerserkDamageMult = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "BerserkDamageMult", 0.4f, new ConfigDescription("Berserk cape damage multiplier when at lowest health.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<float>(0.01f, 100f), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); BerserkMoveSpeed = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "BerserkMoveSpeed", 0.13f, new ConfigDescription("Berserk cape movement speed modifier.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<float>(0.01f, 100f), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); BushSkill = ((BaseUnityPlugin)this).Config.Bind<int>("Server config", "BushSkill", 20, new ConfigDescription("Bush cape skill bonuses.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<int>(0, 100), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); BushNoiseReduction = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "BushNoiseReduction", 0.67f, new ConfigDescription("Bush cape bow firing noise reduction, 0 is silent.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<float>(0.01f, 1f), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); BushVelocity = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "BushVelocity", 0.2f, new ConfigDescription("Bush cape bow firing velocity multiplier.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<float>(0.01f, 100f), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); BoarSkill = ((BaseUnityPlugin)this).Config.Bind<int>("Server config", "BoarSkill", 10, new ConfigDescription("Boar cape skill bonuses.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<int>(0, 100), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); BoarRegen = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "BoarRegen", 1.1f, new ConfigDescription("Boar cape stamina regen multiplier.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<float>(0.01f, 100f), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); BoarDodgeMult = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "BoarDodgeMult", 0.3f, new ConfigDescription("Boar cape dodge stamina discount.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<float>(0.01f, 1f), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); GreySkill = ((BaseUnityPlugin)this).Config.Bind<int>("Server config", "GreySkill", 5, new ConfigDescription("Greydwarf cape skill bonuses.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<int>(0, 100), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); GreyEitr = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "GreyEitr", 20f, new ConfigDescription("Greydwarf cape flat eitr bonus.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<float>(1f, 1000f), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); WraithPenalty = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "WraithRegenPenalty", 0.3f, new ConfigDescription("Wraith cape health and stamina regen penalty.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<float>(0.01f, 0.9f), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); WraithVel = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "WraithVel", 3f, new ConfigDescription("Wraith cape flying speed. Low values will be less glitchy.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<float>(1f, 100f), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); WraithFlightTime = ((BaseUnityPlugin)this).Config.Bind<int>("Server config", "WraithFlightTime", 500, new ConfigDescription("How many update ticks you can remain flying with the wraith cape. -1 is disabled", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<int>(-1, 10000), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); WraithFall = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "WraithFall", 3f, new ConfigDescription("Wraith cape fall speed limiter.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<float>(1f, 100f), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); EinherjarDamageMult = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "EinherjarDamageMult", 0.08f, new ConfigDescription("Einherjar cape added lighting damage.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<float>(0.01f, 100f), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); EinherjarVelocity = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "EinherjarVelocity", 1.3f, new ConfigDescription("Einherjar cape added spear velocity.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<float>(1f, 100f), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); EinherjarCostMult = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "EinherjarCostMult", 2f, new ConfigDescription("Einherjar cape throwing attack stamina cost multipler. Disabled if effect is false.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<float>(0.01f, 100f), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); EinherjarEffect = ((BaseUnityPlugin)this).Config.Bind<bool>("Server config", "EinherjarEffect", true, new ConfigDescription("If infinite throwing spears is enabled.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); SurtlingDamageMult = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "SurtlingDamageMult", 0.4f, new ConfigDescription("Surtling cape added fire damage when burning.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<float>(0.01f, 100f), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); HrugnirCarryWeight = ((BaseUnityPlugin)this).Config.Bind<int>("Server config", "HrugnirCarryWeight", 35, new ConfigDescription("Hrugnir cape added carry weight.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<int>(0, 1000), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); HrugnirDamageMult = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "HrugnirDamageMult", 0.25f, new ConfigDescription("Hrugnir cape added unarmed damage while mead is on cooldown.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<float>(0.01f, 100f), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); LeechLifesteal = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "LeechLifesteal", 0.05f, new ConfigDescription("Leech cape lifesteal rate.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<float>(0.01f, 100f), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); nightstalkerRegen = ((BaseUnityPlugin)this).Config.Bind<float>("Server config", "nightstalkerRegen", 1.3f, new ConfigDescription("Nightstalker cape stamina regen multiplier when cold.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<float>(0.01f, 100f), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); nightstalkerSkill = ((BaseUnityPlugin)this).Config.Bind<int>("Server config", "nightstalkerSkill", 30, new ConfigDescription("Nightstalker cape bow skill bonus during night-time", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<int>(0, 100), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); AdventurerEffect = ((BaseUnityPlugin)this).Config.Bind<bool>("Server config", "AdventurerEffect", true, new ConfigDescription("Adventurer Cape lets you rest anywhere.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); AdventurerComfortBonus = ((BaseUnityPlugin)this).Config.Bind<int>("Server config", "AdventurerComfortBonus", 10, new ConfigDescription("Adventurer Cape rested duration bonus in minutes.", (AcceptableValueBase)null, new object[2] { new AcceptableValueRange<int>(0, 1000), (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); SynchronizationManager.OnConfigurationSynchronized += delegate(object obj, ConfigurationSynchronizationEventArgs attr) { if (attr.InitialSynchronization) { Logger.LogMessage((object)"Initial Config sync event received"); } else { Logger.LogMessage((object)"Config sync event received"); } }; } private void AddClonedItems() { //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Expected O, but got Unknown //IL_00df: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Expected O, but got Unknown //IL_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Expected O, but got Unknown //IL_0107: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Expected O, but got Unknown //IL_014d: Unknown result type (might be due to invalid IL or missing references) //IL_0154: Expected O, but got Unknown //IL_0194: Unknown result type (might be due to invalid IL or missing references) //IL_019d: Unknown result type (might be due to invalid IL or missing references) //IL_01a9: Unknown result type (might be due to invalid IL or missing references) //IL_01c4: Unknown result type (might be due to invalid IL or missing references) //IL_021d: Unknown result type (might be due to invalid IL or missing references) //IL_0228: Unknown result type (might be due to invalid IL or missing references) //IL_0267: Unknown result type (might be due to invalid IL or missing references) //IL_026e: Expected O, but got Unknown //IL_02a0: Unknown result type (might be due to invalid IL or missing references) //IL_02aa: Expected O, but got Unknown //IL_02b5: Unknown result type (might be due to invalid IL or missing references) //IL_02bf: 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_0317: Unknown result type (might be due to invalid IL or missing references) //IL_031e: Expected O, but got Unknown //IL_039d: Unknown result type (might be due to invalid IL or missing references) //IL_03b8: Unknown result type (might be due to invalid IL or missing references) //IL_03ea: Unknown result type (might be due to invalid IL or missing references) //IL_03f1: Expected O, but got Unknown //IL_0423: Unknown result type (might be due to invalid IL or missing references) //IL_042d: Expected O, but got Unknown //IL_0438: Unknown result type (might be due to invalid IL or missing references) //IL_0442: Expected O, but got Unknown //IL_044d: Unknown result type (might be due to invalid IL or missing references) //IL_0457: Expected O, but got Unknown //IL_049a: Unknown result type (might be due to invalid IL or missing references) //IL_04a1: Expected O, but got Unknown //IL_04ed: Unknown result type (might be due to invalid IL or missing references) //IL_04f6: Unknown result type (might be due to invalid IL or missing references) //IL_04ff: Unknown result type (might be due to invalid IL or missing references) //IL_051a: Unknown result type (might be due to invalid IL or missing references) //IL_057b: Unknown result type (might be due to invalid IL or missing references) //IL_0582: Expected O, but got Unknown //IL_05be: Unknown result type (might be due to invalid IL or missing references) //IL_05c8: Expected O, but got Unknown //IL_05d3: Unknown result type (might be due to invalid IL or missing references) //IL_05dd: Expected O, but got Unknown //IL_05e8: Unknown result type (might be due to invalid IL or missing references) //IL_05f2: Expected O, but got Unknown //IL_0635: Unknown result type (might be due to invalid IL or missing references) //IL_063c: Expected O, but got Unknown //IL_06fe: Unknown result type (might be due to invalid IL or missing references) //IL_0705: Expected O, but got Unknown //IL_0737: Unknown result type (might be due to invalid IL or missing references) //IL_0741: Expected O, but got Unknown //IL_074c: Unknown result type (might be due to invalid IL or missing references) //IL_0756: Expected O, but got Unknown //IL_0761: Unknown result type (might be due to invalid IL or missing references) //IL_076b: Expected O, but got Unknown //IL_07ae: Unknown result type (might be due to invalid IL or missing references) //IL_07b5: Expected O, but got Unknown //IL_0801: Unknown result type (might be due to invalid IL or missing references) //IL_080a: Unknown result type (might be due to invalid IL or missing references) //IL_0816: Unknown result type (might be due to invalid IL or missing references) //IL_0831: Unknown result type (might be due to invalid IL or missing references) //IL_08ad: Unknown result type (might be due to invalid IL or missing references) //IL_08b8: Unknown result type (might be due to invalid IL or missing references) //IL_0906: Unknown result type (might be due to invalid IL or missing references) //IL_090d: Expected O, but got Unknown //IL_0948: Unknown result type (might be due to invalid IL or missing references) //IL_0952: Expected O, but got Unknown //IL_095d: Unknown result type (might be due to invalid IL or missing references) //IL_0967: Expected O, but got Unknown //IL_0972: Unknown result type (might be due to invalid IL or missing references) //IL_097c: Expected O, but got Unknown //IL_0987: Unknown result type (might be due to invalid IL or missing references) //IL_0991: Expected O, but got Unknown //IL_099c: Unknown result type (might be due to invalid IL or missing references) //IL_09a6: Expected O, but got Unknown //IL_0a3e: Unknown result type (might be due to invalid IL or missing references) //IL_0a45: Expected O, but got Unknown //IL_0b1b: Unknown result type (might be due to invalid IL or missing references) //IL_0b27: Unknown result type (might be due to invalid IL or missing references) //IL_0b60: Unknown result type (might be due to invalid IL or missing references) //IL_0b67: Expected O, but got Unknown //IL_0ba2: Unknown result type (might be due to invalid IL or missing references) //IL_0bac: Expected O, but got Unknown //IL_0bb7: Unknown result type (might be due to invalid IL or missing references) //IL_0bc1: Expected O, but got Unknown //IL_0bcd: Unknown result type (might be due to invalid IL or missing references) //IL_0bd7: Expected O, but got Unknown //IL_0be3: Unknown result type (might be due to invalid IL or missing references) //IL_0bed: Expected O, but got Unknown //IL_0c52: Unknown result type (might be due to invalid IL or missing references) //IL_0c59: Expected O, but got Unknown //IL_0d19: Unknown result type (might be due to invalid IL or missing references) //IL_0d20: Expected O, but got Unknown //IL_0d52: Unknown result type (might be due to invalid IL or missing references) //IL_0d5c: Expected O, but got Unknown //IL_0d68: Unknown result type (might be due to invalid IL or missing references) //IL_0d72: Expected O, but got Unknown //IL_0d7e: Unknown result type (might be due to invalid IL or missing references) //IL_0d88: Expected O, but got Unknown //IL_0dcb: Unknown result type (might be due to invalid IL or missing references) //IL_0dd2: Expected O, but got Unknown //IL_0e02: Unknown result type (might be due to invalid IL or missing references) //IL_0e0b: Unknown result type (might be due to invalid IL or missing references) //IL_0e13: Unknown result type (might be due to invalid IL or missing references) //IL_0e2e: Unknown result type (might be due to invalid IL or missing references) //IL_0e38: Unknown result type (might be due to invalid IL or missing references) //IL_0e41: Unknown result type (might be due to invalid IL or missing references) //IL_0e49: Unknown result type (might be due to invalid IL or missing references) //IL_0e64: Unknown result type (might be due to invalid IL or missing references) //IL_0e6e: Unknown result type (might be due to invalid IL or missing references) //IL_0e77: Unknown result type (might be due to invalid IL or missing references) //IL_0e7f: Unknown result type (might be due to invalid IL or missing references) //IL_0e9a: Unknown result type (might be due to invalid IL or missing references) //IL_0f60: Unknown result type (might be due to invalid IL or missing references) //IL_0f74: Unknown result type (might be due to invalid IL or missing references) //IL_0f7b: Expected O, but got Unknown //IL_0fad: Unknown result type (might be due to invalid IL or missing references) //IL_0fb7: Expected O, but got Unknown //IL_0fc2: Unknown result type (might be due to invalid IL or missing references) //IL_0fcc: Expected O, but got Unknown //IL_0fd7: Unknown result type (might be due to invalid IL or missing references) //IL_0fe1: Expected O, but got Unknown //IL_1024: Unknown result type (might be due to invalid IL or missing references) //IL_102b: Expected O, but got Unknown //IL_1077: Unknown result type (might be due to invalid IL or missing references) //IL_1080: Unknown result type (might be due to invalid IL or missing references) //IL_1089: Unknown result type (might be due to invalid IL or missing references) //IL_10a4: Unknown result type (might be due to invalid IL or missing references) //IL_1135: Unknown result type (might be due to invalid IL or missing references) //IL_115f: Unknown result type (might be due to invalid IL or missing references) //IL_1166: Expected O, but got Unknown //IL_1198: Unknown result type (might be due to invalid IL or missing references) //IL_11a2: Expected O, but got Unknown //IL_11ad: Unknown result type (might be due to invalid IL or missing references) //IL_11b7: Expected O, but got Unknown //IL_11c2: Unknown result type (might be due to invalid IL or missing references) //IL_11cc: Expected O, but got Unknown //IL_120f: Unknown result type (might be due to invalid IL or missing references) //IL_1216: Expected O, but got Unknown //IL_12c2: Unknown result type (might be due to invalid IL or missing references) //IL_12ce: Unknown result type (might be due to invalid IL or missing references) //IL_12f8: Unknown result type (might be due to invalid IL or missing references) //IL_12ff: Expected O, but got Unknown //IL_1331: Unknown result type (might be due to invalid IL or missing references) //IL_133b: Expected O, but got Unknown //IL_1346: Unknown result type (might be due to invalid IL or missing references) //IL_1350: Expected O, but got Unknown //IL_135b: Unknown result type (might be due to invalid IL or missing references) //IL_1365: Expected O, but got Unknown //IL_13a8: Unknown result type (might be due to invalid IL or missing references) //IL_13af: Expected O, but got Unknown //IL_1499: Unknown result type (might be due to invalid IL or missing references) //IL_14a0: Expected O, but got Unknown //IL_14d2: Unknown result type (might be due to invalid IL or missing references) //IL_14dc: Expected O, but got Unknown //IL_14e7: Unknown result type (might be due to invalid IL or missing references) //IL_14f1: Expected O, but got Unknown //IL_14fc: Unknown result type (might be due to invalid IL or missing references) //IL_1506: Expected O, but got Unknown //IL_1549: Unknown result type (might be due to invalid IL or missing references) //IL_1550: Expected O, but got Unknown //IL_16fc: Unknown result type (might be due to invalid IL or missing references) //IL_1703: Expected O, but got Unknown //IL_1735: Unknown result type (might be due to invalid IL or missing references) //IL_173f: Expected O, but got Unknown //IL_174b: Unknown result type (might be due to invalid IL or missing references) //IL_1755: Expected O, but got Unknown //IL_1760: Unknown result type (might be due to invalid IL or missing references) //IL_176a: Expected O, but got Unknown //IL_1776: Unknown result type (might be due to invalid IL or missing references) //IL_1780: Expected O, but got Unknown //IL_17c3: Unknown result type (might be due to invalid IL or missing references) //IL_17ca: Expected O, but got Unknown //IL_1890: Unknown result type (might be due to invalid IL or missing references) //IL_1897: Expected O, but got Unknown //IL_18c9: Unknown result type (might be due to invalid IL or missing references) //IL_18d3: Expected O, but got Unknown //IL_18de: Unknown result type (might be due to invalid IL or missing references) //IL_18e8: Expected O, but got Unknown //IL_18f8: Unknown result type (might be due to invalid IL or missing references) //IL_1902: Expected O, but got Unknown //IL_1945: Unknown result type (might be due to invalid IL or missing references) //IL_194c: Expected O, but got Unknown //IL_1997: Unknown result type (might be due to invalid IL or missing references) //IL_19a0: Unknown result type (might be due to invalid IL or missing references) //IL_19a9: Unknown result type (might be due to invalid IL or missing references) //IL_19c4: Unknown result type (might be due to invalid IL or missing references) //IL_1a5f: Unknown result type (might be due to invalid IL or missing references) //IL_1a66: Expected O, but got Unknown //IL_1a98: Unknown result type (might be due to invalid IL or missing references) //IL_1aa2: Expected O, but got Unknown //IL_1aad: Unknown result type (might be due to invalid IL or missing references) //IL_1ab7: Expected O, but got Unknown //IL_1ac3: Unknown result type (might be due to invalid IL or missing references) //IL_1acd: Expected O, but got Unknown //IL_1b10: Unknown result type (might be due to invalid IL or missing references) //IL_1b17: Expected O, but got Unknown //IL_1bc2: Unknown result type (might be due to invalid IL or missing references) //IL_1bc9: Expected O, but got Unknown //IL_1bfb: Unknown result type (might be due to invalid IL or missing references) //IL_1c05: Expected O, but got Unknown //IL_1c10: Unknown result type (might be due to invalid IL or missing references) //IL_1c1a: Expected O, but got Unknown //IL_1c25: Unknown result type (might be due to invalid IL or missing references) //IL_1c2f: Expected O, but got Unknown //IL_1c72: Unknown result type (might be due to invalid IL or missing references) //IL_1c79: Expected O, but got Unknown //IL_1d37: Unknown result type (might be due to invalid IL or missing references) //IL_1d52: Unknown result type (might be due to invalid IL or missing references) //IL_1d59: Expected O, but got Unknown //IL_1d8b: Unknown result type (might be due to invalid IL or missing references) //IL_1d95: Expected O, but got Unknown //IL_1da0: Unknown result type (might be due to invalid IL or missing references) //IL_1daa: Expected O, but got Unknown //IL_1db5: Unknown result type (might be due to invalid IL or missing references) //IL_1dbf: Expected O, but got Unknown //IL_1e02: Unknown result type (might be due to invalid IL or missing references) //IL_1e09: Expected O, but got Unknown //IL_1f1a: Unknown result type (might be due to invalid IL or missing references) //IL_1f21: Expected O, but got Unknown //IL_1f53: Unknown result type (might be due to invalid IL or missing references) //IL_1f5d: Expected O, but got Unknown //IL_1f68: Unknown result type (might be due to invalid IL or missing references) //IL_1f72: Expected O, but got Unknown //IL_1f7d: Unknown result type (might be due to invalid IL or missing references) //IL_1f87: Expected O, but got Unknown //IL_1fca: Unknown result type (might be due to invalid IL or missing references) //IL_1fd1: Expected O, but got Unknown //IL_2058: Unknown result type (might be due to invalid IL or missing references) //IL_205f: Expected O, but got Unknown //IL_2091: Unknown result type (might be due to invalid IL or missing references) //IL_209b: Expected O, but got Unknown //IL_20a6: Unknown result type (might be due to invalid IL or missing references) //IL_20b0: Expected O, but got Unknown //IL_20f3: Unknown result type (might be due to invalid IL or missing references) //IL_20fa: Expected O, but got Unknown bool flag = (bool)((BaseUnityPlugin)this).Config["Server config", "dragoonCapeEffectsEnabled"].BoxedValue; ((BaseUnityPlugin)this).Logger.LogWarning((object)("Mod Statuses Enabled: " + flag)); ((Object)neckCapeStatus).name = "$status_neckcape"; ((StatusEffect)neckCapeStatus).m_name = "$status_neckcape"; ((StatusEffect)neckCapeStatus).m_tooltip = "$status_neckcape_tooltip"; ((StatusEffect)neckCapeStatus).m_startMessage = "$status_neckcape_startmessage"; neckCapeStatus.m_skillLevel = (SkillType)103; neckCapeStatus.m_skillLevelModifier = NeckSkill.Value; ((StatusEffect)neckCapeStatus).m_category = "NeckCape"; ItemConfig val = new ItemConfig(); val.Name = "$item_neckcape"; val.Description = "$item_neckcape_description"; val.CraftingStation = "forge"; val.AddRequirement(new RequirementConfig("TrophyNeck", 5, 2, false)); val.AddRequirement(new RequirementConfig("Guck", 8, 3, false)); val.AddRequirement(new RequirementConfig("Iron", 1, 1, false)); Sprite val2 = AssetUtils.LoadSpriteFromFile("HappyDragoon-DragoonCapes/Assets/neckIcon.png"); Texture2D styleTex = AssetUtils.LoadTexture("HappyDragoon-DragoonCapes/Assets/neckTexture.png", true); val.Icons = (Sprite[])(object)new Sprite[1] { val2 }; val.StyleTex = styleTex; CustomItem val3 = new CustomItem("CapeNeck", "CapeDeerHide", val); if (dragoonCapeEffectsEnabled.Value && NeckWaterproof.Value) { val3.ItemDrop.m_itemData.m_shared.m_equipStatusEffect = (StatusEffect)(object)neckCapeStatus; } DamageModPair item = default(DamageModPair); item.m_modifier = (DamageModifier)1; item.m_type = (DamageType)256; val3.ItemDrop.m_itemData.m_shared.m_damageModifiers.Add(item); ItemManager.Instance.AddItem(val3); ((Object)cultistCapeStatus).name = "$status_cultistcape"; ((StatusEffect)cultistCapeStatus).m_name = "$status_cultistcape"; ((StatusEffect)cultistCapeStatus).m_tooltip = "$status_cultistcape_tooltip"; ((StatusEffect)cultistCapeStatus).m_startMessage = "$status_cultistcape_startmessage"; cultistCapeStatus.m_skillLevel = (SkillType)10; cultistCapeStatus.m_skillLevel2 = (SkillType)7; cultistCapeStatus.m_skillLevelModifier = (cultistCapeStatus.m_skillLevelModifier2 = CultistSkill.Value); cultistCapeStatus.m_healthRegenMultiplier = CultistRegen.Value; ItemConfig val4 = new ItemConfig(); val4.Name = "$item_cultistcape"; val4.Description = "$item_cultistcape_description"; val4.CraftingStation = "forge"; val4.AddRequirement(new RequirementConfig("JuteRed", 10, 4, false)); val4.AddRequirement(new RequirementConfig("TrophyFenring", 3, 0, false)); val4.AddRequirement(new RequirementConfig("Iron", 1, 1, false)); Sprite val5 = AssetUtils.LoadSpriteFromFile("HappyDragoon-DragoonCapes/Assets/cultistIcon.png"); Texture2D styleTex2 = AssetUtils.LoadTexture("HappyDragoon-DragoonCapes/Assets/cultistTexture.png", true); val4.Icons = (Sprite[])(object)new Sprite[1] { val5 }; val4.StyleTex = styleTex2; CustomItem val6 = new CustomItem("CapeCultist", "CapeLox", val4); if (dragoonCapeEffectsEnabled.Value) { val6.ItemDrop.m_itemData.m_shared.m_equipStatusEffect = (StatusEffect)(object)cultistCapeStatus; } ItemManager.Instance.AddItem(val6); ((Object)dvergrCapeStatus).name = "$status_dvergrcape"; ((StatusEffect)dvergrCapeStatus).m_name = "$status_dvergrcape"; ((StatusEffect)dvergrCapeStatus).m_tooltip = "$status_dvergrcape_tooltip"; ((StatusEffect)dvergrCapeStatus).m_startMessage = "$status_dvergrcape_startmessage"; dvergrCapeStatus.m_skillLevel = (SkillType)9; dvergrCapeStatus.m_skillLevelModifier = 10f; dvergrCapeStatus.m_skillLevel2 = (SkillType)12; dvergrCapeStatus.m_skillLevelModifier2 = 10f; dvergrCapeStatus.m_eitrRegenMultiplier = 1.1f; ((StatusEffect)dvergrCapeStatus).m_category = "dvergrCape"; ItemConfig val7 = new ItemConfig(); val7.Name = "$item_dvergrcape"; val7.Description = "$item_dvergrcape_description"; val7.CraftingStation = "piece_magetable"; val7.AddRequirement(new RequirementConfig("JuteBlue", 10, 4, false)); val7.AddRequirement(new RequirementConfig("TrophyDvergr", 3, 0, false)); val7.AddRequirement(new RequirementConfig("BlackMetal", 1, 1, false)); Sprite val8 = AssetUtils.LoadSpriteFromFile("HappyDragoon-DragoonCapes/Assets/dvergrIcon.png"); Texture2D styleTex3 = AssetUtils.LoadTexture("HappyDragoon-DragoonCapes/Assets/dvergrTexture.png", true); val7.Icons = (Sprite[])(object)new Sprite[1] { val8 }; val7.StyleTex = styleTex3; CustomItem val9 = new CustomItem("CapeDvergr", "CapeLox", val7); if (dragoonCapeEffectsEnabled.Value) { val9.ItemDrop.m_itemData.m_shared.m_equipStatusEffect = (StatusEffect)(object)dvergrCapeStatus; } val9.ItemDrop.m_itemData.m_shared.m_damageModifiers.Clear(); DamageModPair item2 = default(DamageModPair); item2.m_modifier = (DamageModifier)1; item2.m_type = (DamageType)32; val9.ItemDrop.m_itemData.m_shared.m_damageModifiers.Add(item2); ItemManager.Instance.AddItem(val9); ((Object)shamanCapeStatus).name = "$status_shamancape"; ((StatusEffect)shamanCapeStatus).m_name = "$status_shamancape"; ((StatusEffect)shamanCapeStatus).m_tooltip = "$status_shamancape_tooltip\n<color=orange>$status_shamancape_tooltip1</color>"; ((StatusEffect)shamanCapeStatus).m_startMessage = "$status_shamancape_startmessage"; ((StatusEffect)shamanCapeStatus).m_category = "ShamanCape"; ItemConfig val10 = new ItemConfig(); val10.Name = "$item_shamancape"; val10.Description = "$item_shamancape_description"; val10.CraftingStation = "piece_artisanstation"; val10.MinStationLevel = -3; val10.AddRequirement(new RequirementConfig("Feathers", 10, 4, false)); val10.AddRequirement(new RequirementConfig("TrophyGoblinShaman", 3, 0, false)); val10.AddRequirement(new RequirementConfig("BlackMetal", 1, 1, false)); Sprite val11 = AssetUtils.LoadSpriteFromFile("HappyDragoon-DragoonCapes/Assets/shamanIcon.png"); Texture2D styleTex4 = AssetUtils.LoadTexture("HappyDragoon-DragoonCapes/Assets/shamanTexture.png", true); val10.Icons = (Sprite[])(object)new Sprite[1] { val11 }; val10.StyleTex = styleTex4; CustomItem val12 = new CustomItem("CapeShaman", "CapeFeather", val10); if (dragoonCapeEffectsEnabled.Value) { val12.ItemDrop.m_itemData.m_shared.m_equipStatusEffect = (StatusEffect)(object)shamanCapeStatus; } val12.ItemDrop.m_itemData.m_shared.m_trailStartEffect = null; ItemManager.Instance.AddItem(val12); ((Object)serpentCapeStatus).name = "$status_serpentcape"; ((StatusEffect)serpentCapeStatus).m_name = "$status_serpentcape"; ((StatusEffect)serpentCapeStatus).m_tooltip = "$status_serpentcape_tooltip\n$status_serpentcape_tooltip1<color=orange>+" + SerpentDamageMult.Value * 100f + "%</color>"; ((StatusEffect)serpentCapeStatus).m_startMessage = "$status_serpentcape_startmessage"; ((StatusEffect)serpentCapeStatus).m_category = "SerpentCape"; ItemConfig val13 = new ItemConfig(); val13.Name = "$item_serpentcape"; val13.Description = "$item_serpentcape_description"; val13.CraftingStation = "piece_workbench"; val13.AddRequirement(new RequirementConfig("SerpentScale", 10, 4, false)); val13.AddRequirement(new RequirementConfig("TrophySerpent", 1, 0, false)); val13.AddRequirement(new RequirementConfig("Chitin", 3, 2, false)); Sprite val14 = AssetUtils.LoadSpriteFromFile("HappyDragoon-DragoonCapes/Assets/serpentIcon.png"); Texture2D styleTex5 = AssetUtils.LoadTexture("HappyDragoon-DragoonCapes/Assets/serpentTexture.png", true); val13.Icons = (Sprite[])(object)new Sprite[1] { val14 }; val13.StyleTex = styleTex5; CustomItem val15 = new CustomItem("CapeSerpent", "CapeWolf", val13); if (dragoonCapeEffectsEnabled.Value) { val15.ItemDrop.m_itemData.m_shared.m_equipStatusEffect = (StatusEffect)(object)serpentCapeStatus; } val15.ItemDrop.m_itemData.m_shared.m_damageModifiers.Clear(); DamageModPair item3 = default(DamageModPair); item3.m_modifier = (DamageModifier)1; item3.m_type = (DamageType)256; val15.ItemDrop.m_itemData.m_shared.m_damageModifiers.Add(item3); ItemManager.Instance.AddItem(val15); ((Object)knightCapeStatus).name = "$status_knightcape"; ((StatusEffect)knightCapeStatus).m_name = "$status_knightcape"; ((StatusEffect)knightCapeStatus).m_tooltip = "$status_knightcape_tooltip\n$status_knightcape_tooltip1<color=orange>+" + KnightStaggerRes.Value * 100f + "%</color>"; ((StatusEffect)knightCapeStatus).m_startMessage = "$status_knightcape_startmessage"; knightCapeStatus.m_skillLevel = (SkillType)6; knightCapeStatus.m_skillLevel2 = (SkillType)1; knightCapeStatus.m_skillLevelModifier = (knightCapeStatus.m_skillLevelModifier2 = KnightSkill.Value); knightCapeStatus.m_staminaRegenMultiplier = KnightRegen.Value; ((StatusEffect)knightCapeStatus).m_category = "knightCape"; ItemConfig val16 = new ItemConfig(); val16.Name = "$item_knightcape"; val16.Description = "$item_knightcape_description"; val16.CraftingStation = "piece_artisanstation"; val16.MinStationLevel = -3; val16.AddRequirement(new RequirementConfig("CapeLinen", 1, 0, false)); val16.AddRequirement(new RequirementConfig("LinenThread", 0, 4, false)); val16.AddRequirement(new RequirementConfig("Raspberry", 1, 1, false)); val16.AddRequirement(new RequirementConfig("Blueberries", 1, 1, false)); val16.AddRequirement(new RequirementConfig("Cloudberry", 1, 1, false)); Sprite val17 = AssetUtils.LoadSpriteFromFile("HappyDragoon-DragoonCapes/Assets/knightIcon1.png"); Sprite val18 = AssetUtils.LoadSpriteFromFile("HappyDragoon-DragoonCapes/Assets/knightIcon2.png"); Sprite val19 = AssetUtils.LoadSpriteFromFile("HappyDragoon-DragoonCapes/Assets/knightIcon3.png"); Sprite val20 = AssetUtils.LoadSpriteFromFile("HappyDragoon-DragoonCapes/Assets/knightIcon4.png"); Sprite val21 = AssetUtils.LoadSpriteFromFile("HappyDragoon-DragoonCapes/Assets/knightIcon5.png"); Sprite val22 = AssetUtils.LoadSpriteFromFile("HappyDragoon-DragoonCapes/Assets/knightIcon6.png"); Texture2D styleTex6 = AssetUtils.LoadTexture("HappyDragoon-DragoonCapes/Assets/knightTexture.png", true); val16.Icons = (Sprite[])(object)new Sprite[6] { val17, val18, val19, val20, val21, val22 }; val16.StyleTex = styleTex6; CustomItem val23 = new CustomItem("CapeKnight", "CapeLinen", val16); if (dragoonCapeEffectsEnabled.Value) { val23.ItemDrop.m_itemData.m_shared.m_equipStatusEffect = (StatusEffect)(object)knightCapeStatus; } ItemManager.Instance.AddItem(val23); ((Object)crusaderCapeStatus).name = "$status_crusadercape"; ((StatusEffect)crusaderCapeStatus).m_name = "$status_crusadercape"; ((StatusEffect)crusaderCapeStatus).m_tooltip = "$status_crusadercape_tooltip\n$status_crusadercape_tooltip1<color=orange>+" + CrusaderDamageSpirit.Value * 100f + "%</color>\n$status_crusadercape_tooltip2<color=orange>+" + CrusaderDamageBlunt.Value * 100f + "%</color>"; ((StatusEffect)crusaderCapeStatus).m_startMessage = "$status_crusadercape_startmessage"; crusaderCapeStatus.m_skillLevel = (SkillType)3; crusaderCapeStatus.m_skillLevel2 = (SkillType)102; crusaderCapeStatus.m_skillLevelModifier = (crusaderCapeStatus.m_skillLevelModifier2 = CrusaderSkill.Value); ((StatusEffect)crusaderCapeStatus).m_category = "crusaderCape"; ItemConfig val24 = new ItemConfig(); val24.Name = "$item_crusadercape"; val24.Description = "$item_crusadercape_description"; val24.CraftingStation = "piece_artisanstation"; val24.MinStationLevel = -3; val24.AddRequirement(new RequirementConfig("CapeLinen", 1, 0, false)); val24.AddRequirement(new RequirementConfig("LinenThread", 0, 4, false)); val24.AddRequirement(new RequirementConfig("Raspberry", 10, 5, false)); val24.AddRequirement(new RequirementConfig("Silver", 10, 5, false)); Sprite val25 = AssetUtils.LoadSpriteFromFile("HappyDragoon-DragoonCapes/Assets/crusaderIcon1.png"); Sprite val26 = AssetUtils.LoadSpriteFromFile("HappyDragoon-DragoonCapes/Assets/crusaderIcon2.png"); Sprite val27 = AssetUtils.LoadSpriteFromFile("HappyDragoon-DragoonCapes/Assets/crusaderIcon3.png"); Texture2D styleTex7 = AssetUtils.LoadTexture("HappyDragoon-DragoonCapes/Assets/crusaderTexture.png", true); val24.Icons = (Sprite[])(object)new Sprite[3] { val25, val26, val27 }; val24.StyleTex = styleTex7; CustomItem val28 = new CustomItem("CapeCrusader", "CapeLinen", val24); if (dragoonCapeEffectsEnabled.Value) { val28.ItemDrop.m_itemData.m_shared.m_equipStatusEffect = (StatusEffect)(object)crusaderCapeStatus; } ItemManager.Instance.AddItem(val28); ((Object)berserkCapeStatus).name = "$status_berserkcape"; ((StatusEffect)berserkCapeStatus).m_name = "$status_berserkcape"; ((StatusEffect)berserkCapeStatus).m_tooltip = "$status_berserkcape_tooltip\n$status_berserkcape_tooltip1<color=orange>+" + BerserkDamageMult.Value * 100f + "%</color>"; ((StatusEffect)berserkCapeStatus).m_startMessage = "$status_berserkcape_startmessage"; ((StatusEffect)berserkCapeStatus).m_category = "berserkCape"; berserkCapeStatus.m_speedModifier = BerserkMoveSpeed.Value; ItemConfig val29 = new ItemConfig(); val29.Name = "$item_berserkcape"; val29.Description = "$item_berserkcape_description"; val29.CraftingStation = "piece_workbench"; val29.AddRequirement(new RequirementConfig("WolfHairBundle", 10, 3, false)); val29.AddRequirement(new RequirementConfig("Mushroom", 20, 4, false)); val29.AddRequirement(new RequirementConfig("Obsidian", 10, 3, false)); Sprite val30 = AssetUtils.LoadSpriteFromFile("HappyDragoon-DragoonCapes/Assets/berserkIcon.png"); Texture2D styleTex8 = AssetUtils.LoadTexture("HappyDragoon-DragoonCapes/Assets/berserkTexture.png", true); val29.Icons = (Sprite[])(object)new Sprite[1] { val30 }; val29.StyleTex = styleTex8; CustomItem val31 = new CustomItem("CapeBerserker", "CapeWolf", val29); if (dragoonCapeEffectsEnabled.Value) { val31.ItemDrop.m_itemData.m_shared.m_equipStatusEffect = (StatusEffect)(object)berserkCapeStatus; } DamageModPair item4 = default(DamageModPair); item4.m_modifier = (DamageModifier)2; item4.m_type = (DamageType)4; val31.ItemDrop.m_itemData.m_shared.m_damageModifiers.Add(item4); DamageModPair item5 = default(DamageModPair); item5.m_modifier = (DamageModifier)2; item5.m_type = (DamageType)2; val31.ItemDrop.m_itemData.m_shared.m_damageModifiers.Add(item5); DamageModPair item6 = default(DamageModPair); item6.m_modifier = (DamageModifier)2; item6.m_type = (DamageType)1; val31.ItemDrop.m_itemData.m_shared.m_damageModifiers.Add(item6); ItemManager.Instance.AddItem(val31); ((Object)bushCapeStatus).name = "$status_bushcape"; ((StatusEffect)bushCapeStatus).m_name = "$status_bushcape"; ((StatusEffect)bushCapeStatus).m_tooltip = "$status_bushcape_tooltip\n$status_bushcape_tooltip1<color=orange>+" + (1f - BushNoiseReduction.Value) * 100f + "%</color>\n$status_bushcape_tooltip2<color=orange>+" + BushVelocity.Value * 100f + "%</color>"; ((StatusEffect)bushCapeStatus).m_startMessage = "$status_bushcape_startmessage"; ((StatusEffect)bushCapeStatus).m_category = "bushCape"; bushCapeStatus.m_skillLevel = (SkillType)101; bushCapeStatus.m_skillLevelModifier = 20f; ItemConfig val32 = new ItemConfig(); val32.Name = "$item_bushcape"; val32.Description = "$item_bushcape_description"; val32.CraftingStation = "piece_workbench"; val32.AddRequirement(new RequirementConfig("Wood", 30, 5, false)); val32.AddRequirement(new RequirementConfig("LeatherScraps", 5, 2, false)); val32.AddRequirement(new RequirementConfig("Flint", 3, 1, false)); Sprite val33 = AssetUtils.LoadSpriteFromFile("HappyDragoon-DragoonCapes/Assets/bushIcon.png"); Texture2D styleTex9 = AssetUtils.LoadTexture("HappyDragoon-DragoonCapes/Assets/bushTexture.png", true); val32.Icons = (Sprite[])(object)new Sprite[1] { val33 }; val32.StyleTex = styleTex9; CustomItem val34 = new CustomItem("CapeBush", "CapeFeather", val32); if (dragoonCapeEffectsEnabled.Value) { val34.ItemDrop.m_itemData.m_shared.m_equipStatusEffect = (StatusEffect)(object)bushCapeStatus; } val34.ItemDrop.m_itemData.m_shared.m_damageModifiers.Clear(); DamageModPair item7 = default(DamageModPair); item7.m_modifier = (DamageModifier)2; item7.m_type = (DamageType)32; val34.ItemDrop.m_itemData.m_shared.m_damageModifiers.Add(item7); ItemManager.Instance.AddItem(val34); ((Object)boarCapeStatus).name = "$status_boarcape"; ((StatusEffect)boarCapeStatus).m_name = "$status_boarcape"; ((StatusEffect)boarCapeStatus).m_tooltip = "$status_boarcape_tooltip\n$status_boarcape_tooltip1<color=orange>" + BoarDodgeMult.Value * 100f + "%</color>"; ((StatusEffect)boarCapeStatus).m_startMessage = "$status_boarcape_startmessage"; boarCapeStatus.m_staminaRegenMultiplier = BoarRegen.Value; boarCapeStatus.m_skillLevel = (SkillType)3; boarCapeStatus.m_skillLevelModifier = BoarSkill.Value; ((StatusEffect)boarCapeStatus).m_category = "boarCape"; ItemConfig val35 = new ItemConfig(); val35.Name = "$item_boarcape"; val35.Description = "$item_boarcape_description"; val35.CraftingStation = "piece_workbench"; val35.AddRequirement(new RequirementConfig("LeatherScraps", 10, 4, false)); val35.AddRequirement(new RequirementConfig("TrophyBoar", 3, 0, false)); val35.AddRequirement(new RequirementConfig("Flint", 1, 1, false)); Sprite val36 = AssetUtils.LoadSpriteFromFile("HappyDragoon-DragoonCapes/Assets/boarIcon.png"); Texture2D styleTex10 = AssetUtils.LoadTexture("HappyDragoon-DragoonCapes/Assets/boarTexture.png", true); val35.Icons = (Sprite[])(object)new Sprite[1] { val36 }; val35.StyleTex = styleTex10; CustomItem val37 = new CustomItem("CapeBoar", "CapeDeerHide", val35); if (dragoonCapeEffectsEnabled.Value) { val37.ItemDrop.m_itemData.m_shared.m_equipStatusEffect = (StatusEffect)(object)boarCapeStatus; } ItemManager.Instance.AddItem(val37); ((Object)dwarfCapeStatus).name = "$status_dwarfcape"; ((StatusEffect)dwarfCapeStatus).m_name = "$status_dwarfcape"; ((StatusEffect)dwarfCapeStatus).m_tooltip = "$status_dwarfcape_tooltip\n$status_dwarfcape_tooltip1<color=orange>+" + GreyEitr.Value + "</color>"; ((StatusEffect)dwarfCapeStatus).m_startMessage = "$status_dwarfcape_startmessage"; ((StatusEffect)dwarfCapeStatus).m_category = "dwarfCape"; dwarfCapeStatus.m_skillLevel = (SkillType)9; dwarfCapeStatus.m_skillLevel2 = (SkillType)10; dwarfCapeStatus.m_skillLevelModifier = (dwarfCapeStatus.m_skillLevelModifier2 = GreySkill.Value); ItemConfig val38 = new ItemConfig(); val38.Name = "$item_dwarfcape"; val38.Description = "$item_dwarfcape_description"; val38.CraftingStation = "piece_workbench"; val38.AddRequirement(new RequirementConfig("GreydwarfEye", 15, 5, false)); val38.AddRequirement(new RequirementConfig("TrophyGreydwarfShaman", 1, 0, false)); val38.AddRequirement(new RequirementConfig("AncientSeed", 2, 1, false)); Sprite val39 = AssetUtils.LoadSpriteFromFile("HappyDragoon-DragoonCapes/Assets/dwarfIcon.png"); Texture2D styleTex11 = AssetUtils.LoadTexture("HappyDragoon-DragoonCapes/Assets/dwarfTexture.png", true); val38.Icons = (Sprite[])(object)new Sprite[1] { val39 }; val38.StyleTex = styleTex11; CustomItem val40 = new CustomItem("CapeGreydwarf", "CapeOdin", val38); if (dragoonCapeEffectsEnabled.Value) { val40.ItemDrop.m_itemData.m_shared.m_equipStatusEffect = (StatusEffect)(object)dwarfCapeStatus; } val40.ItemDrop.m_itemData.m_shared.m_dlc = ""; ItemManager.Instance.AddItem(val40); ((Object)wraithCapeStatus).name = "$status_wraithcape"; ((StatusEffect)wraithCapeStatus).m_name = "$status_wraithcape"; ((StatusEffect)wraithCapeStatus).m_tooltip = "$status_wraithcape_tooltip\n$status_wraithcape_tooltip1<color=orange>-" + WraithPenalty.Value * 100f + "%</color>\n<color=orange>$status_wraithcape_tooltip2</color>"; ((StatusEffect)wraithCapeStatus).m_startMessage = "$status_wraithcape_startmessage"; ((StatusEffect)wraithCapeStatus).m_category = "wraithCape"; wraithCapeStatus.m_fallDamageModifier = -2f; wraithCapeStatus.m_maxMaxFallSpeed = WraithFall.Value; ItemConfig val41 = new ItemConfig(); val41.Name = "$item_wraithcape"; val41.Description = "$item_wraithcape_desc"; val41.CraftingStation = "forge"; val41.AddRequirement(new RequirementConfig("Entrails", 15, 5, false)); val41.AddRequirement(new RequirementConfig("TrophyWraith", 1, 0, false)); val41.AddRequirement(new RequirementConfig("Chain", 4, 2, false)); Sprite val42 = AssetUtils.LoadSpriteFromFile("HappyDragoon-DragoonCapes/Assets/wraithIcon.png"); Texture2D styleTex12 = AssetUtils.LoadTexture("HappyDragoon-DragoonCapes/Assets/wraithTexture.png", true); val41.Icons = (Sprite[])(object)new Sprite[1] { val42 }; val41.StyleTex = styleTex12; CustomItem val43 = new CustomItem("CapeWraith", "CapeOdin", val41); if (dragoonCapeEffectsEnabled.Value) { val43.ItemDrop.m_itemData.m_shared.m_equipStatusEffect = (StatusEffect)(object)wraithCapeStatus; } val43.ItemDrop.m_itemData.m_shared.m_dlc = ""; ItemManager.Instance.AddItem(val43); ((Object)einherjarCapeStatus).name = "$status_einherjarcape"; ((StatusEffect)einherjarCapeStatus).m_name = "$status_einherjarcape"; ((StatusEffect)einherjarCapeStatus).m_startMessage = "$status_einherjarcape_startmessage"; ((StatusEffect)einherjarCapeStatus).m_category = "einherjarCape"; if (EinherjarEffect.Value) { ((StatusEffect)einherjarCapeStatus).m_tooltip = "$status_einherjarcape_tooltip\n$status_einherjarcape_tooltip1<color=orange>+" + EinherjarDamageMult.Value * 100f + "%</color>\n$status_einherjarcape_tooltip2<color=orange>+" + (EinherjarVelocity.Value - 1f) * 100f + "%</color>\n$status_einherjarcape_tooltip3<color=orange>" + EinherjarCostMult.Value * 100f + "%</color>\n<color=orange>$status_einherjarcape_tooltip4</color>"; } else { ((StatusEffect)einherjarCapeStatus).m_tooltip = "$status_einherjarcape_tooltip\n$status_einherjarcape_tooltip1<color=orange>+" + EinherjarDamageMult.Value * 100f + "%</color>\n$status_einherjarcape_tooltip2<color=orange>+" + (EinherjarVelocity.Value - 1f) * 100f + "%</color>"; } ItemConfig val44 = new ItemConfig(); val44.Name = "$item_einherjarcape"; val44.Description = "$item_einherjarcape_desc"; val44.CraftingStation = "piece_workbench"; val44.AddRequirement(new RequirementConfig("MushroomYellow", 10, 5, false)); val44.AddRequirement(new RequirementConfig("Blueberries", 10, 5, false)); val44.AddRequirement(new RequirementConfig("Coal", 6, 3, false)); val44.AddRequirement(new RequirementConfig("LeatherScraps", 10, 2, false)); Sprite val45 = AssetUtils.LoadSpriteFromFile("HappyDragoon-DragoonCapes/Assets/einherjarIcon.png"); Texture2D styleTex13 = AssetUtils.LoadTexture("HappyDragoon-DragoonCapes/Assets/einherjarTexture.png", true); val44.Icons = (Sprite[])(object)new Sprite[1] { val45 }; val44.StyleTex = styleTex13; CustomItem val46 = new CustomItem("CapeEinherjar", "CapeOdin", val44); if (dragoonCapeEffectsEnabled.Value) { val46.ItemDrop.m_itemData.m_shared.m_equipStatusEffect = (StatusEffect)(object)einherjarCapeStatus; } val46.ItemDrop.m_itemData.m_shared.m_dlc = ""; ItemManager.Instance.AddItem(val46); ((Object)surtlingCapeStatus).name = "$status_surtlingcape"; ((StatusEffect)surtlingCapeStatus).m_name = "$status_surtlingcape"; ((StatusEffect)surtlingCapeStatus).m_category = "surtlingCape"; ((StatusEffect)surtlingCapeStatus).m_tooltip = "$status_surtlingcape_tooltip\n<color=orange>$status_surtlingcape_tooltip1</color>\n$status_surtlingcape_tooltip2<color=orange>+" + SurtlingDamageMult.Value * 100f + "%</color>"; ((StatusEffect)surtlingCapeStatus).m_startMessage = "$status_surtlingcape_startmessage"; ItemConfig val47 = new ItemConfig(); val47.Name = "$item_surtlingcape"; val47.Description = "$item_surtlingcape_desc"; val47.CraftingStation = "forge"; val47.AddRequirement(new RequirementConfig("Coal", 30, 5, false)); val47.AddRequirement(new RequirementConfig("SurtlingCore", 5, 1, false)); val47.AddRequirement(new RequirementConfig("Coins", 666, 66, false)); Sprite val48 = AssetUtils.LoadSpriteFromFile("HappyDragoon-DragoonCapes/Assets/surtlingIcon.png"); Texture2D styleTex14 = AssetUtils.LoadTexture("HappyDragoon-DragoonCapes/Assets/surtlingTexture.png", true); val47.Icons = (Sprite[])(object)new Sprite[1] { val48 }; val47.StyleTex = styleTex14; CustomItem val49 = new CustomItem("CapeSurtling", "CapeOdin", val47); if (dragoonCapeEffectsEnabled.Value) { val49.ItemDrop.m_itemData.m_shared.m_equipStatusEffect = (StatusEffect)(object)surtlingCapeStatus; } val49.ItemDrop.m_itemData.m_shared.m_dlc = ""; DamageModPair item8 = default(DamageModPair); item8.m_modifier = (DamageModifier)5; item8.m_type = (DamageType)32; val49.ItemDrop.m_itemData.m_shared.m_damageModifiers.Add(item8); ItemManager.Instance.AddItem(val49); ((Object)brawlerCapeStatus).name = "$status_brawlercape"; ((StatusEffect)brawlerCapeStatus).m_name = "$status_brawlercape"; ((StatusEffect)brawlerCapeStatus).m_category = "brawlerCape"; ((StatusEffect)brawlerCapeStatus).m_tooltip = "$status_brawlercape_tooltip\n$status_brawlercape_tooltip1<color=orange>+" + HrugnirDamageMult.Value * 100f + "%</color>"; ((StatusEffect)brawlerCapeStatus).m_startMessage = "$status_brawlercape_startmessage"; brawlerCapeStatus.m_addMaxCarryWeight = HrugnirCarryWeight.Value; ItemConfig val50 = new ItemConfig(); val50.Name = "$item_brawlercape"; val50.Description = "$item_brawlercape_desc"; val50.CraftingStation = "piece_cauldron"; val50.AddRequirement(new RequirementConfig("Root", 20, 5, false)); val50.AddRequirement(new RequirementConfig("MeadFrostResist", 5, 0, false)); val50.AddRequirement(new RequirementConfig("Ooze", 12, 4, false)); Sprite val51 = AssetUtils.LoadSpriteFromFile("HappyDragoon-DragoonCapes/Assets/brawlerIcon.png"); Texture2D styleTex15 = AssetUtils.LoadTexture("HappyDragoon-DragoonCapes/Assets/brawlerTexture.png", true); val50.Icons = (Sprite[])(object)new Sprite[1] { val51 }; val50.StyleTex = styleTex15; CustomItem val52 = new CustomItem("CapeBrawler", "CapeDeerHide", val50); if (dragoonCapeEffectsEnabled.Value) { val52.ItemDrop.m_itemData.m_shared.m_equipStatusEffect = (StatusEffect)(object)brawlerCapeStatus; } ItemManager.Instance.AddItem(val52); ((Object)leechCapeStatus).name = "$status_leechcape"; ((StatusEffect)leechCapeStatus).m_name = "$status_leechcape"; ((StatusEffect)leechCapeStatus).m_category = "leechCape"; ((StatusEffect)leechCapeStatus).m_tooltip = "$status_leechcape_tooltip\n$status_leechcape_tooltip1<color=orange>+" + LeechLifesteal.Value * 100f + "%</color>"; ((StatusEffect)leechCapeStatus).m_startMessage = "$status_leechcape_startmessage"; ItemConfig val53 = new ItemConfig(); val53.Name = "$item_leechcape"; val53.Description = "$item_leechcape_desc"; val53.CraftingStation = "piece_workbench"; val53.AddRequirement(new RequirementConfig("Bloodbag", 25, 7, false)); val53.AddRequirement(new RequirementConfig("Iron", 5, 0, false)); val53.AddRequirement(new RequirementConfig("Root", 8, 4, false)); Sprite val54 = AssetUtils.LoadSpriteFromFile("HappyDragoon-DragoonCapes/Assets/leechIcon.png"); Texture2D styleTex16 = AssetUtils.LoadTexture("HappyDragoon-DragoonCapes/Assets/leechTexture.png", true); val53.Icons = (Sprite[])(object)new Sprite[1] { val54 }; val53.StyleTex = styleTex16; CustomItem val55 = new CustomItem("CapeLeech", "CapeFeather", val53); val55.ItemDrop.m_itemData.m_shared.m_damageModifiers.Clear(); if (dragoonCapeEffectsEnabled.Value) { val55.ItemDrop.m_itemData.m_shared.m_equipStatusEffect = (StatusEffect)(object)leechCapeStatus; } ItemManager.Instance.AddItem(val55); ((Object)stalkerCapeStatus).name = "$status_stalkerscape"; ((StatusEffect)stalkerCapeStatus).m_name = "$status_stalkerscape"; ((StatusEffect)stalkerCapeStatus).m_category = "stalkerCape"; ((StatusEffect)stalkerCapeStatus).m_tooltip = "$status_stalkerscape_tooltip"; ((StatusEffect)stalkerCapeStatus).m_startMessage = "$status_stalkerscape_startmessage"; stalkerCapeStatus.m_staminaRegenMultiplier = nightstalkerRegen.Value; stalkerCapeStatus.m_skillLevel = (SkillType)8; stalkerCapeStatus.m_skillLevelModifier = nightstalkerSkill.Value; ItemConfig val56 = new ItemConfig(); val56.Name = "$item_stalkerscape"; val56.Description = "$item_stalkerscape_desc"; val56.CraftingStation = "forge"; val56.AddRequirement(new RequirementConfig("WolfHairBundle", 15, 5, false)); val56.AddRequirement(new RequirementConfig("Silver", 5, 0, false)); val56.AddRequirement(new RequirementConfig("Obsidian", 8, 4, false)); Sprite val57 = AssetUtils.LoadSpriteFromFile("HappyDragoon-DragoonCapes/Assets/stalkerIcon.png"); Texture2D styleTex17 = AssetUtils.LoadTexture("HappyDragoon-DragoonCapes/Assets/stalkerTexture.png", true); val56.Icons = (Sprite[])(object)new Sprite[1] { val57 }; val56.StyleTex = styleTex17; CustomItem val58 = new CustomItem("CapeStalker", "CapeOdin", val56); if (dragoonCapeEffectsEnabled.Value) { val58.ItemDrop.m_itemData.m_shared.m_equipStatusEffect = (StatusEffect)(object)stalkerCapeStatus; } val58.ItemDrop.m_itemData.m_shared.m_dlc = ""; ItemManager.Instance.AddItem(val58); ((Object)adventurerCapeStatus).name = "$status_adventurercape"; ((StatusEffect)adventurerCapeStatus).m_name = "$status_adventurercape"; ((StatusEffect)adventurerCapeStatus).m_category = "adventurerCape"; ((StatusEffect)adventurerCapeStatus).m_startMessage = "$status_adventurercape_startmessage"; string text = "$status_adventurercape_tooltip"; string text2 = "\n$status_adventurercape_tooltip1<color=orange>" + AdventurerComfortBonus.Value + "</color>"; string text3 = "\n<color=orange>$status_adventurercape_tooltip2</color>"; if (AdventurerComfortBonus.Value > 0) { text += text2; } if (AdventurerEffect.Value) { text += text3; } ((StatusEffect)adventurerCapeStatus).m_tooltip = text; ItemConfig val59 = new ItemConfig(); val59.Name = "$item_adventurercape"; val59.Description = "$item_adventurercape_desc"; val59.CraftingStation = "piece_workbench"; val59.AddRequirement(new RequirementConfig("LoxPelt", 15, 5, false)); val59.AddRequirement(new RequirementConfig("Silver", 5, 0, false)); val59.AddRequirement(new RequirementConfig("Guck", 5, 3, f