Please disclose if your mod was created primarily using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of Crusader Armour v1.0.1
CrusaderArmour.dll
Decompiled 7 months agousing System; using System.Collections.Generic; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Configuration; using HoremvoreAssembly; using Jotunn; using Jotunn.Configs; using Jotunn.Entities; using Jotunn.Managers; using Jotunn.Utils; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("CrusaderArmour")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("CrusaderArmour")] [assembly: AssemblyCopyright("Copyright © 2025")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("f62a678d-579b-4f00-bef7-ac258811ae6f")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: AssemblyVersion("1.0.0.0")] namespace CrusaderArmour; [BepInPlugin("crusader.armour.horemvore", "Crusader Armor", "1.0.0")] [NetworkCompatibility(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] internal class CrusaderArmourBundle : BaseUnityPlugin { public const string PluginGUID = "crusader.armour.horemvore"; public const string PluginName = "Crusader Armor"; public const string PluginVersion = "1.0.0"; public AssetBundle myBundle; public CustomLocalization LocalMyMod; public ConfigEntry<bool> ModEnable; public ConfigEntry<bool> LoggingEnable; public string[] sfxList = new string[1] { "SFX_SetBuff_CA" }; public string[] seStatsList = new string[11] { "SE_ElementalDamage_20_CA", "SE_ElementalResistance_Resistant_CA", "SE_Endurance_20_CA", "SE_Healing_40_CA", "SE_MoveSpeed_15_CA", "SE_Naturalism_CA", "SE_PhysicalDamage_20_CA", "SE_PhysicalResistance_Resistant_CA", "SE_Rejuvination_40_CA", "SE_Resolute_20_CA", "SE_Stamina_40_CA" }; public string[] seRandomList = new string[3] { "SE_SetEffect_CrusaderArmour_90_CA", "SE_SetEffect_CrusaderArmour_75_CA", "SE_SetEffect_CrusaderArmour_60_CA" }; public void CreateConfigurationValues() { //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 ((BaseUnityPlugin)this).Config.SaveOnConfigSet = true; ModEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("1 Crusader Armour", "Enable", true, new ConfigDescription("Admin only, Enables this mod", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); LoggingEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("2 Logging", "Enable", true, new ConfigDescription("Admin only, Enables logging", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); } private void DoSync() { SynchronizationManager.OnConfigurationSynchronized += delegate(object obj, ConfigurationSynchronizationEventArgs attr) { if (attr.InitialSynchronization) { Logger.LogMessage((object)"Initial Config sync event received for Crusader Armour Mod"); } else { Logger.LogMessage((object)"Config sync event received for Crusader Armour Mod"); } }; SynchronizationManager.OnAdminStatusChanged += delegate { Logger.LogMessage((object)("Admin status sync event received, Crusader Armour Mod: " + (SynchronizationManager.Instance.PlayerIsAdmin ? "You're admin now" : "Downvoted, boy"))); }; PrefabManager.OnPrefabsRegistered -= DoSync; } private void Awake() { try { CreateConfigurationValues(); if (ModEnable.Value) { AddLocalization(); LoadBundle(); AddSEStatsEffects(); AddSERandomEffects(); AddSFX(); AddCrusaderArmourBronze(); AddCrusaderArmourIron(); AddCrusaderArmourSilver(); PrefabManager.OnPrefabsRegistered += FixSFX; PrefabManager.OnPrefabsRegistered += DoSync; } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while initalizing plugin: {arg}"); } } public void AddLocalization() { try { LocalMyMod = LocalizationManager.Instance.GetLocalization(); CustomLocalization localMyMod = LocalMyMod; string text = "English"; localMyMod.AddTranslation(ref text, new Dictionary<string, string> { { "effect_effect_ca", "Effect:\n" }, { "effect_seteffect_crusaderarmour_ca", "Crusader" }, { "effect_seteffect_crusaderarmour_tooltip_ca", "Grants a random boon.\nEffect:" }, { "effect_elementaldamage_20_ca", "Elementalist" }, { "effect_physicaldamage_20_ca", "Mauler" }, { "effect_elementalresistance_resistant_ca", "Druidic" }, { "effect_physicalresistance_resistant_ca", "Defender" }, { "effect_endurance_20_ca", "Endurance" }, { "effect_healing_40_ca", "Healing" }, { "effect_movespeed_15_ca", "Swift" }, { "effect_naturalism_ca", "Naturalism" }, { "effect_rejuvination_40_ca", "Rejuvination" }, { "effect_resolute_20_ca", "Resolute" }, { "effect_stamina_40_ca", "Energaized" }, { "item_armor_platebronze_chest_ah", "Bronze Plate Chest" }, { "item_armor_platebronze_chest_desc_ah", "Durable plate armour" }, { "item_armor_platebronze_legs_ah", "Bronze Plate Legs" }, { "item_armor_platebronze_legs_desc_ah", "Durable plate armour" }, { "item_armor_platebronze_helm_ah", "Bronze Plate Helm" }, { "item_armor_platebronze_helm_desc_ah", "Durable plate armour" }, { "item_armor_plateiron_chest_ah", "Iron Plate Chest" }, { "item_armor_plateiron_chest_desc_ah", "Durable plate armour" }, { "item_armor_plateiron_legs_ah", "Iron Plate Legs" }, { "item_armor_plateiron_legs_desc_ah", "Durable plate armour" }, { "item_armor_plateiron_helm_ah", "Iron Plate Helm" }, { "item_armor_plateiron_helm_desc_ah", "Durable plate armour" }, { "item_armor_platesilver_chest_ah", "Silver Plate Chest" }, { "item_armor_platesilver_chest_desc_ah", "Durable plate armour" }, { "item_armor_platesilver_legs_ah", "Silver Plate Legs" }, { "item_armor_platesilver_legs_desc_ah", "Durable plate armour" }, { "item_armor_platesilver_helm_ah", "Silver Plate Helm" }, { "item_armor_platesilver_helm_desc_ah", "Durable plate armour" } }); } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Localication: {arg}"); } } public void LoadBundle() { try { myBundle = AssetUtils.LoadAssetBundleFromResources("crusaderarmour", Assembly.GetExecutingAssembly()); } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while loading Bundle: {arg}"); } } public void AddSEStatsEffects() { //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Expected O, but got Unknown try { string[] array = seStatsList; foreach (string text in array) { SE_Stats val = myBundle.LoadAsset<SE_Stats>(text); if ((Object)(object)val != (Object)null) { CustomStatusEffect val2 = new CustomStatusEffect((StatusEffect)(object)val, true); ItemManager.Instance.AddStatusEffect(val2); ((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Status Effect database")); } } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding SE_Stats Effects: {arg}"); } } public void AddSERandomEffects() { //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Expected O, but got Unknown try { string[] array = seRandomList; foreach (string text in array) { SE_AddRandomEffect_HS val = myBundle.LoadAsset<SE_AddRandomEffect_HS>(text); if ((Object)(object)val != (Object)null) { CustomStatusEffect val2 = new CustomStatusEffect((StatusEffect)(object)val, true); ItemManager.Instance.AddStatusEffect(val2); ((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Status Effect database")); } } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding SE_Stats Effects: {arg}"); } } private void AddSFX() { //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Expected O, but got Unknown try { string[] array = sfxList; foreach (string text in array) { GameObject val = myBundle.LoadAsset<GameObject>(text); CustomPrefab val2 = new CustomPrefab(val, false); PrefabManager.Instance.AddPrefab(val2); if (LoggingEnable.Value) { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Object database")); } } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding sfx prefabs: {arg}"); } } private void AddCrusaderArmourBronze() { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Expected O, but got Unknown //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Expected O, but got Unknown //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Expected O, but got Unknown //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Expected O, but got Unknown //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Expected O, but got Unknown //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Expected O, but got Unknown //IL_010c: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_011d: Unknown result type (might be due to invalid IL or missing references) //IL_0125: Unknown result type (might be due to invalid IL or missing references) //IL_012e: Expected O, but got Unknown //IL_0130: Unknown result type (might be due to invalid IL or missing references) //IL_0135: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Unknown result type (might be due to invalid IL or missing references) //IL_0149: Unknown result type (might be due to invalid IL or missing references) //IL_0152: Expected O, but got Unknown //IL_0154: Unknown result type (might be due to invalid IL or missing references) //IL_0159: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_016d: Unknown result type (might be due to invalid IL or missing references) //IL_0176: Expected O, but got Unknown //IL_017e: Unknown result type (might be due to invalid IL or missing references) //IL_0184: Expected O, but got Unknown //IL_01a5: Unknown result type (might be due to invalid IL or missing references) //IL_01ac: Expected O, but got Unknown //IL_01d5: Unknown result type (might be due to invalid IL or missing references) //IL_01da: Unknown result type (might be due to invalid IL or missing references) //IL_01e6: Unknown result type (might be due to invalid IL or missing references) //IL_01ee: Unknown result type (might be due to invalid IL or missing references) //IL_01f7: Expected O, but got Unknown //IL_01f9: Unknown result type (might be due to invalid IL or missing references) //IL_01fe: Unknown result type (might be due to invalid IL or missing references) //IL_020a: Unknown result type (might be due to invalid IL or missing references) //IL_0212: Unknown result type (might be due to invalid IL or missing references) //IL_021b: 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_022e: Unknown result type (might be due to invalid IL or missing references) //IL_0236: Unknown result type (might be due to invalid IL or missing references) //IL_023f: Expected O, but got Unknown //IL_0247: Unknown result type (might be due to invalid IL or missing references) //IL_024e: Expected O, but got Unknown try { GameObject val = myBundle.LoadAsset<GameObject>("ArmorBronzePlateChest_AH"); ItemConfig val2 = new ItemConfig(); val2.Amount = 1; val2.CraftingStation = "forge"; val2.MinStationLevel = 1; val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[3] { new RequirementConfig { Item = "Bronze", Amount = 7, AmountPerLevel = 4 }, new RequirementConfig { Item = "DeerHide", Amount = 3, AmountPerLevel = 1 }, new RequirementConfig { Item = "TrophyGreydwarfBrute", Amount = 1, AmountPerLevel = 0 } }; CustomItem val3 = new CustomItem(val, true, val2); ItemManager.Instance.AddItem(val3); GameObject val4 = myBundle.LoadAsset<GameObject>("ArmorBronzePlateLegs_AH"); val2 = new ItemConfig(); val2.Amount = 1; val2.CraftingStation = "forge"; val2.MinStationLevel = 1; val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[3] { new RequirementConfig { Item = "Bronze", Amount = 7, AmountPerLevel = 4 }, new RequirementConfig { Item = "DeerHide", Amount = 3, AmountPerLevel = 1 }, new RequirementConfig { Item = "TrophyGreydwarfBrute", Amount = 1, AmountPerLevel = 0 } }; CustomItem val5 = new CustomItem(val4, true, val2); ItemManager.Instance.AddItem(val5); GameObject val6 = myBundle.LoadAsset<GameObject>("ArmorBronzePlateHelm_AH"); val2 = new ItemConfig(); val2.Amount = 1; val2.CraftingStation = "forge"; val2.MinStationLevel = 1; val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[3] { new RequirementConfig { Item = "Bronze", Amount = 7, AmountPerLevel = 4 }, new RequirementConfig { Item = "DeerHide", Amount = 3, AmountPerLevel = 1 }, new RequirementConfig { Item = "TrophyGreydwarfBrute", Amount = 1, AmountPerLevel = 0 } }; CustomItem val7 = new CustomItem(val6, true, val2); ItemManager.Instance.AddItem(val7); } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding CrusaderArmourBronze: {arg}"); } } private void AddCrusaderArmourIron() { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Expected O, but got Unknown //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Expected O, but got Unknown //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Expected O, but got Unknown //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Expected O, but got Unknown //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Expected O, but got Unknown //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Expected O, but got Unknown //IL_0101: Unknown result type (might be due to invalid IL or missing references) //IL_0108: Expected O, but got Unknown //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_0142: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0154: Expected O, but got Unknown //IL_0156: Unknown result type (might be due to invalid IL or missing references) //IL_015b: Unknown result type (might be due to invalid IL or missing references) //IL_0167: Unknown result type (might be due to invalid IL or missing references) //IL_016f: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Expected O, but got Unknown //IL_017a: Unknown result type (might be due to invalid IL or missing references) //IL_017f: Unknown result type (might be due to invalid IL or missing references) //IL_018b: Unknown result type (might be due to invalid IL or missing references) //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_019c: Expected O, but got Unknown //IL_019e: Unknown result type (might be due to invalid IL or missing references) //IL_01a3: Unknown result type (might be due to invalid IL or missing references) //IL_01af: Unknown result type (might be due to invalid IL or missing references) //IL_01b7: Unknown result type (might be due to invalid IL or missing references) //IL_01c0: Expected O, but got Unknown //IL_01c8: Unknown result type (might be due to invalid IL or missing references) //IL_01ce: Expected O, but got Unknown //IL_01ef: Unknown result type (might be due to invalid IL or missing references) //IL_01f6: Expected O, but got Unknown //IL_021f: Unknown result type (might be due to invalid IL or missing references) //IL_0224: Unknown result type (might be due to invalid IL or missing references) //IL_0230: Unknown result type (might be due to invalid IL or missing references) //IL_0239: Unknown result type (might be due to invalid IL or missing references) //IL_0242: Expected O, but got Unknown //IL_0244: Unknown result type (might be due to invalid IL or missing references) //IL_0249: Unknown result type (might be due to invalid IL or missing references) //IL_0255: Unknown result type (might be due to invalid IL or missing references) //IL_025d: Unknown result type (might be due to invalid IL or missing references) //IL_0266: Expected O, but got Unknown //IL_0268: Unknown result type (might be due to invalid IL or missing references) //IL_026d: Unknown result type (might be due to invalid IL or missing references) //IL_0279: Unknown result type (might be due to invalid IL or missing references) //IL_0281: Unknown result type (might be due to invalid IL or missing references) //IL_028a: Expected O, but got Unknown //IL_028c: Unknown result type (might be due to invalid IL or missing references) //IL_0291: Unknown result type (might be due to invalid IL or missing references) //IL_029d: Unknown result type (might be due to invalid IL or missing references) //IL_02a5: Unknown result type (might be due to invalid IL or missing references) //IL_02ae: Expected O, but got Unknown //IL_02b6: Unknown result type (might be due to invalid IL or missing references) //IL_02bd: Expected O, but got Unknown try { GameObject val = myBundle.LoadAsset<GameObject>("ArmorIronPlateChest_AH"); ItemConfig val2 = new ItemConfig(); val2.Amount = 1; val2.CraftingStation = "forge"; val2.MinStationLevel = 2; val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[4] { new RequirementConfig { Item = "Iron", Amount = 25, AmountPerLevel = 6 }, new RequirementConfig { Item = "DeerHide", Amount = 3, AmountPerLevel = 0 }, new RequirementConfig { Item = "Chain", Amount = 1, AmountPerLevel = 1 }, new RequirementConfig { Item = "TrophyAbomination", Amount = 1, AmountPerLevel = 0 } }; CustomItem val3 = new CustomItem(val, true, val2); ItemManager.Instance.AddItem(val3); GameObject val4 = myBundle.LoadAsset<GameObject>("ArmorIronPlateLegs_AH"); val2 = new ItemConfig(); val2.Amount = 1; val2.CraftingStation = "forge"; val2.MinStationLevel = 2; val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[4] { new RequirementConfig { Item = "Iron", Amount = 25, AmountPerLevel = 6 }, new RequirementConfig { Item = "DeerHide", Amount = 3, AmountPerLevel = 1 }, new RequirementConfig { Item = "Chain", Amount = 1, AmountPerLevel = 1 }, new RequirementConfig { Item = "TrophyAbomination", Amount = 1, AmountPerLevel = 0 } }; CustomItem val5 = new CustomItem(val4, true, val2); ItemManager.Instance.AddItem(val5); GameObject val6 = myBundle.LoadAsset<GameObject>("ArmorIronPlateHelm_AH"); val2 = new ItemConfig(); val2.Amount = 1; val2.CraftingStation = "forge"; val2.MinStationLevel = 2; val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[4] { new RequirementConfig { Item = "Iron", Amount = 25, AmountPerLevel = 6 }, new RequirementConfig { Item = "DeerHide", Amount = 3, AmountPerLevel = 1 }, new RequirementConfig { Item = "Chain", Amount = 1, AmountPerLevel = 1 }, new RequirementConfig { Item = "TrophyAbomination", Amount = 1, AmountPerLevel = 0 } }; CustomItem val7 = new CustomItem(val6, true, val2); ItemManager.Instance.AddItem(val7); } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding CrusaderArmourBronze: {arg}"); } } private void AddCrusaderArmourSilver() { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Expected O, but got Unknown //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Expected O, but got Unknown //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Expected O, but got Unknown //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Expected O, but got Unknown //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Expected O, but got Unknown //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Expected O, but got Unknown //IL_0101: Unknown result type (might be due to invalid IL or missing references) //IL_0108: Expected O, but got Unknown //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_0142: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0154: Expected O, but got Unknown //IL_0156: Unknown result type (might be due to invalid IL or missing references) //IL_015b: Unknown result type (might be due to invalid IL or missing references) //IL_0167: Unknown result type (might be due to invalid IL or missing references) //IL_016f: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Expected O, but got Unknown //IL_017a: Unknown result type (might be due to invalid IL or missing references) //IL_017f: Unknown result type (might be due to invalid IL or missing references) //IL_018b: Unknown result type (might be due to invalid IL or missing references) //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_019c: Expected O, but got Unknown //IL_019e: Unknown result type (might be due to invalid IL or missing references) //IL_01a3: Unknown result type (might be due to invalid IL or missing references) //IL_01af: Unknown result type (might be due to invalid IL or missing references) //IL_01b7: Unknown result type (might be due to invalid IL or missing references) //IL_01c0: Expected O, but got Unknown //IL_01c8: Unknown result type (might be due to invalid IL or missing references) //IL_01ce: Expected O, but got Unknown //IL_01ef: Unknown result type (might be due to invalid IL or missing references) //IL_01f6: Expected O, but got Unknown //IL_021f: Unknown result type (might be due to invalid IL or missing references) //IL_0224: Unknown result type (might be due to invalid IL or missing references) //IL_0230: Unknown result type (might be due to invalid IL or missing references) //IL_0239: Unknown result type (might be due to invalid IL or missing references) //IL_0242: Expected O, but got Unknown //IL_0244: Unknown result type (might be due to invalid IL or missing references) //IL_0249: Unknown result type (might be due to invalid IL or missing references) //IL_0255: Unknown result type (might be due to invalid IL or missing references) //IL_025d: Unknown result type (might be due to invalid IL or missing references) //IL_0266: Expected O, but got Unknown //IL_0268: Unknown result type (might be due to invalid IL or missing references) //IL_026d: Unknown result type (might be due to invalid IL or missing references) //IL_0279: Unknown result type (might be due to invalid IL or missing references) //IL_0281: Unknown result type (might be due to invalid IL or missing references) //IL_028a: Expected O, but got Unknown //IL_028c: Unknown result type (might be due to invalid IL or missing references) //IL_0291: Unknown result type (might be due to invalid IL or missing references) //IL_029d: Unknown result type (might be due to invalid IL or missing references) //IL_02a5: Unknown result type (might be due to invalid IL or missing references) //IL_02ae: Expected O, but got Unknown //IL_02b6: Unknown result type (might be due to invalid IL or missing references) //IL_02bd: Expected O, but got Unknown try { GameObject val = myBundle.LoadAsset<GameObject>("ArmorSilverPlateChest_AH"); ItemConfig val2 = new ItemConfig(); val2.Amount = 1; val2.CraftingStation = "forge"; val2.MinStationLevel = 2; val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[4] { new RequirementConfig { Item = "Silver", Amount = 25, AmountPerLevel = 6 }, new RequirementConfig { Item = "WolfPelt", Amount = 3, AmountPerLevel = 1 }, new RequirementConfig { Item = "Chain", Amount = 2, AmountPerLevel = 0 }, new RequirementConfig { Item = "TrophySGolem", Amount = 1, AmountPerLevel = 0 } }; CustomItem val3 = new CustomItem(val, true, val2); ItemManager.Instance.AddItem(val3); GameObject val4 = myBundle.LoadAsset<GameObject>("ArmorSilverPlateLegs_AH"); val2 = new ItemConfig(); val2.Amount = 1; val2.CraftingStation = "forge"; val2.MinStationLevel = 2; val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[4] { new RequirementConfig { Item = "Silver", Amount = 25, AmountPerLevel = 6 }, new RequirementConfig { Item = "WolfPelt", Amount = 3, AmountPerLevel = 1 }, new RequirementConfig { Item = "Chain", Amount = 1, AmountPerLevel = 0 }, new RequirementConfig { Item = "TrophySGolem", Amount = 1, AmountPerLevel = 0 } }; CustomItem val5 = new CustomItem(val4, true, val2); ItemManager.Instance.AddItem(val5); GameObject val6 = myBundle.LoadAsset<GameObject>("ArmorSilverPlateHelm_AH"); val2 = new ItemConfig(); val2.Amount = 1; val2.CraftingStation = "forge"; val2.MinStationLevel = 2; val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[4] { new RequirementConfig { Item = "Silver", Amount = 25, AmountPerLevel = 6 }, new RequirementConfig { Item = "WolfPelt", Amount = 3, AmountPerLevel = 1 }, new RequirementConfig { Item = "Chain", Amount = 1, AmountPerLevel = 0 }, new RequirementConfig { Item = "TrophySGolem", Amount = 1, AmountPerLevel = 0 } }; CustomItem val7 = new CustomItem(val6, true, val2); ItemManager.Instance.AddItem(val7); } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding CrusaderArmourBronze: {arg}"); } } private void FixSFX() { try { AudioSource prefab = Cache.GetPrefab<AudioSource>("sfx_arrow_hit"); string[] array = sfxList; foreach (string text in array) { GameObject prefab2 = Cache.GetPrefab<GameObject>(text); prefab2.GetComponentInChildren<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup; if (LoggingEnable.Value) { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Audio Mixer, SFX, set on: " + text)); } } } catch { ((BaseUnityPlugin)this).Logger.LogWarning((object)"SFX Fix Failed"); } finally { PrefabManager.OnPrefabsRegistered -= FixSFX; } } public void UnloadBundle() { try { AssetBundle obj = myBundle; if (obj != null) { obj.Unload(false); } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while unloading Bundle: {arg}"); } } }