Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of Crystalide v1.0.5
plugins/Crystalide.dll
Decompiled a year ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using System.Text; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Logging; using Microsoft.CodeAnalysis; using On.RoR2; using R2API; using RoR2; using RoR2.ExpansionManagement; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.Networking; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("Crystalide")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+80da98228d2d251edde3bef448ab483217be6ff7")] [assembly: AssemblyProduct("Crystalide")] [assembly: AssemblyTitle("Crystalide")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace ExamplePlugin { [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInPlugin("Lembont.Crystalide", "Crystalide", "1.0.5")] public class Crystalide : BaseUnityPlugin { public const string PluginGUID = "Lembont.Crystalide"; public const string PluginAuthor = "Lembont"; public const string PluginName = "Crystalide"; public const string PluginVersion = "1.0.5"; public static readonly List<ItemIndex> GloballyClaimedGospelTypes = new List<ItemIndex>(); private static List<ItemDef> AllGospelItemDefs = new List<ItemDef>(); public void Awake() { //IL_0198: Unknown result type (might be due to invalid IL or missing references) //IL_01a2: Expected O, but got Unknown Log.Init(((BaseUnityPlugin)this).Logger); string text = "Crystalide.Language.culpability.language"; try { using Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(text); if (stream == null) { Log.Error("Cannot find embedded language resource: " + text + ". Stream is null."); } else { using StreamReader streamReader = new StreamReader(stream); string text2 = streamReader.ReadToEnd(); if (!string.IsNullOrWhiteSpace(text2)) { LanguageAPI.Add(text2); } } } catch (Exception arg) { Log.Error($"Error loading embedded language resource: {text}\n{arg}"); } CulpabilityPowerItem.Init(); EvangileJalousieItem.Init(); IrresponsabiliteEvangileItem.Init(); EvangileTimiditeItem.Init(); EvangileReveurItem.Init(); EvangileEchecItem.Init(); if ((Object)(object)CulpabilityPowerItem.CulpabilityPowerDef != (Object)null) { AllGospelItemDefs.Add(CulpabilityPowerItem.CulpabilityPowerDef); } if ((Object)(object)EvangileJalousieItem.EvangileJalousieDef != (Object)null) { AllGospelItemDefs.Add(EvangileJalousieItem.EvangileJalousieDef); } if ((Object)(object)IrresponsabiliteEvangileItem.IrresponsabiliteEvangileDef != (Object)null) { AllGospelItemDefs.Add(IrresponsabiliteEvangileItem.IrresponsabiliteEvangileDef); } if ((Object)(object)EvangileTimiditeItem.EvangileTimiditeDef != (Object)null) { AllGospelItemDefs.Add(EvangileTimiditeItem.EvangileTimiditeDef); } if ((Object)(object)EvangileReveurItem.EvangileReveurDef != (Object)null) { AllGospelItemDefs.Add(EvangileReveurItem.EvangileReveurDef); } if ((Object)(object)EvangileEchecItem.EvangileEchecDef != (Object)null) { AllGospelItemDefs.Add(EvangileEchecItem.EvangileEchecDef); } Inventory.GiveItem_ItemIndex_int += new hook_GiveItem_ItemIndex_int(Hook_Inventory_GiveItem_EvangileRules); Run.onRunStartGlobal += Run_onRunStartGlobal_AddCustomItemsToDropPoolsAndResetClaimedGospels; Log.Info("Mod Crystalide Initialized"); } private void Run_onRunStartGlobal_AddCustomItemsToDropPoolsAndResetClaimedGospels(Run run) { //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Invalid comparison between Unknown and I4 //IL_0051: 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_005b: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Invalid comparison between Unknown and I4 //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_017d: Unknown result type (might be due to invalid IL or missing references) //IL_0183: Invalid comparison between Unknown and I4 //IL_0119: Unknown result type (might be due to invalid IL or missing references) //IL_0133: Unknown result type (might be due to invalid IL or missing references) //IL_019a: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Unknown result type (might be due to invalid IL or missing references) //IL_01a4: Unknown result type (might be due to invalid IL or missing references) //IL_01a6: Unknown result type (might be due to invalid IL or missing references) //IL_01a8: Unknown result type (might be due to invalid IL or missing references) //IL_0287: Unknown result type (might be due to invalid IL or missing references) //IL_028d: Invalid comparison between Unknown and I4 //IL_01c2: Unknown result type (might be due to invalid IL or missing references) //IL_0206: Unknown result type (might be due to invalid IL or missing references) //IL_0208: Unknown result type (might be due to invalid IL or missing references) //IL_01dc: Unknown result type (might be due to invalid IL or missing references) //IL_02a1: Unknown result type (might be due to invalid IL or missing references) //IL_02a6: Unknown result type (might be due to invalid IL or missing references) //IL_02ab: Unknown result type (might be due to invalid IL or missing references) //IL_02ad: Unknown result type (might be due to invalid IL or missing references) //IL_02af: Unknown result type (might be due to invalid IL or missing references) //IL_02d0: Unknown result type (might be due to invalid IL or missing references) //IL_0397: Unknown result type (might be due to invalid IL or missing references) //IL_039c: Unknown result type (might be due to invalid IL or missing references) //IL_02e7: Unknown result type (might be due to invalid IL or missing references) //IL_03c9: Unknown result type (might be due to invalid IL or missing references) //IL_03cf: Invalid comparison between Unknown and I4 //IL_031c: Unknown result type (might be due to invalid IL or missing references) //IL_03e3: Unknown result type (might be due to invalid IL or missing references) //IL_03e8: Unknown result type (might be due to invalid IL or missing references) //IL_03ed: Unknown result type (might be due to invalid IL or missing references) //IL_03f4: Unknown result type (might be due to invalid IL or missing references) //IL_0406: Unknown result type (might be due to invalid IL or missing references) //IL_0408: Unknown result type (might be due to invalid IL or missing references) //IL_0333: Unknown result type (might be due to invalid IL or missing references) //IL_0429: Unknown result type (might be due to invalid IL or missing references) //IL_0440: Unknown result type (might be due to invalid IL or missing references) //IL_048e: Unknown result type (might be due to invalid IL or missing references) //IL_04c9: Unknown result type (might be due to invalid IL or missing references) //IL_04e0: Unknown result type (might be due to invalid IL or missing references) //IL_052e: Unknown result type (might be due to invalid IL or missing references) GloballyClaimedGospelTypes.Clear(); Log.Info("Crystalide: Globally claimed Gospel list cleared for new run."); if ((Object)(object)run == (Object)null) { return; } if ((Object)(object)CulpabilityPowerItem.CulpabilityPowerDef != (Object)null && (int)CulpabilityPowerItem.CulpabilityPowerDef.itemIndex != -1) { PickupIndex val = PickupCatalog.FindPickupIndex(CulpabilityPowerItem.CulpabilityPowerDef.itemIndex); if (val != PickupIndex.none && run.availableTier3DropList != null && !run.availableTier3DropList.Contains(val)) { run.availableTier3DropList.Add(val); Log.Info("Crystalide: Added " + CulpabilityPowerItem.CulpabilityPowerDef.nameToken + " to Tier 3 drop pool."); } } else { Log.Warning("Crystalide: CulpabilityPowerDef is null or has invalid itemIndex, cannot add to drop pool."); } if ((Object)(object)EvangileTimiditeItem.EvangileTimiditeDef != (Object)null && (int)EvangileTimiditeItem.EvangileTimiditeDef.itemIndex != -1) { PickupIndex val2 = PickupCatalog.FindPickupIndex(EvangileTimiditeItem.EvangileTimiditeDef.itemIndex); if (val2 != PickupIndex.none && run.availableTier1DropList != null && !run.availableTier1DropList.Contains(val2)) { run.availableTier1DropList.Add(val2); Log.Info("Crystalide: Added " + EvangileTimiditeItem.EvangileTimiditeDef.nameToken + " to Tier 1 drop pool."); } } else { Log.Warning("Crystalide: EvangileTimiditeDef is null or has invalid itemIndex, cannot add to Tier 1 drop pool."); } if ((Object)(object)EvangileEchecItem.EvangileEchecDef != (Object)null && (int)EvangileEchecItem.EvangileEchecDef.itemIndex != -1) { PickupIndex val3 = PickupCatalog.FindPickupIndex(EvangileEchecItem.EvangileEchecDef.itemIndex); if (val3 != PickupIndex.none && run.availableTier1DropList != null && !run.availableTier1DropList.Contains(val3)) { run.availableTier1DropList.Add(val3); Log.Info("Crystalide: Added " + EvangileEchecItem.EvangileEchecDef.nameToken + " to Tier 1 drop pool."); } else if (val3 == PickupIndex.none) { Log.Warning("Crystalide: EvangileEchecDef '" + EvangileEchecItem.EvangileEchecDef.nameToken + "' has valid ItemDef and itemIndex, but PickupCatalog.FindPickupIndex returned none. Item might not be registered with PickupCatalog correctly."); } else if (run.availableTier1DropList == null) { Log.Warning("Crystalide: EvangileEchecDef '" + EvangileEchecItem.EvangileEchecDef.nameToken + "' - run.availableTier1DropList is null."); } } else { Log.Warning("Crystalide: EvangileEchecDef is null or has invalid itemIndex, cannot add to Tier 1 drop pool."); } ItemDef irresponsabiliteEvangileDef = IrresponsabiliteEvangileItem.IrresponsabiliteEvangileDef; if (irresponsabiliteEvangileDef == null || (int)irresponsabiliteEvangileDef.itemIndex != -1) { PickupIndex val4 = PickupCatalog.FindPickupIndex(IrresponsabiliteEvangileItem.IrresponsabiliteEvangileDef.itemIndex); if (val4 != PickupIndex.none) { List<PickupIndex> availableLunarCombinedDropList = run.availableLunarCombinedDropList; if (availableLunarCombinedDropList != null && !availableLunarCombinedDropList.Contains(val4)) { run.availableLunarCombinedDropList.Add(val4); Log.Info("Crystalide: Added " + IrresponsabiliteEvangileItem.IrresponsabiliteEvangileDef.nameToken + " to Lunar Combined (Pods) drop pool."); } List<PickupIndex> availableLunarItemDropList = run.availableLunarItemDropList; if (availableLunarItemDropList != null && !availableLunarItemDropList.Contains(val4)) { run.availableLunarItemDropList.Add(val4); Log.Info("Crystalide: Added " + IrresponsabiliteEvangileItem.IrresponsabiliteEvangileDef.nameToken + " to general Lunar Item drop pool."); } } } string obj = (((Object)(object)EvangileReveurItem.EvangileReveurDef == (Object)null) ? "NULL" : EvangileReveurItem.EvangileReveurDef.nameToken); object obj2; if (!((Object)(object)EvangileReveurItem.EvangileReveurDef == (Object)null)) { ItemIndex itemIndex = EvangileReveurItem.EvangileReveurDef.itemIndex; obj2 = ((object)(ItemIndex)(ref itemIndex)).ToString(); } else { obj2 = "N/A"; } Log.Info("Crystalide: EvangileReveur - Pre-check Def: " + obj + ", ItemIndex: " + (string?)obj2); ItemDef evangileReveurDef = EvangileReveurItem.EvangileReveurDef; if (evangileReveurDef == null || (int)evangileReveurDef.itemIndex != -1) { PickupIndex val5 = PickupCatalog.FindPickupIndex(EvangileReveurItem.EvangileReveurDef.itemIndex); Log.Info($"Crystalide: EvangileReveur - PickupIndex found: {val5}"); if (val5 != PickupIndex.none) { List<PickupIndex> availableLunarCombinedDropList2 = run.availableLunarCombinedDropList; if (availableLunarCombinedDropList2 != null && !availableLunarCombinedDropList2.Contains(val5)) { run.availableLunarCombinedDropList.Add(val5); Log.Info("Crystalide: Added " + EvangileReveurItem.EvangileReveurDef.nameToken + " to Lunar Combined (Pods) drop pool."); } else if (run.availableLunarCombinedDropList == null) { Log.Warning("Crystalide: EvangileReveur - availableLunarCombinedDropList is null."); } else if (run.availableLunarCombinedDropList.Contains(val5)) { Log.Info("Crystalide: EvangileReveur - Already in Lunar Combined (Pods) drop pool: " + EvangileReveurItem.EvangileReveurDef.nameToken + "."); } List<PickupIndex> availableLunarItemDropList2 = run.availableLunarItemDropList; if (availableLunarItemDropList2 != null && !availableLunarItemDropList2.Contains(val5)) { run.availableLunarItemDropList.Add(val5); Log.Info("Crystalide: Added " + EvangileReveurItem.EvangileReveurDef.nameToken + " to general Lunar Item drop pool."); } else if (run.availableLunarItemDropList == null) { Log.Warning("Crystalide: EvangileReveur - availableLunarItemDropList is null."); } else if (run.availableLunarItemDropList.Contains(val5)) { Log.Info("Crystalide: EvangileReveur - Already in general Lunar Item drop pool: " + EvangileReveurItem.EvangileReveurDef.nameToken + "."); } } else { Log.Error("Crystalide: EvangileReveur - PickupIndex.none for '" + EvangileReveurItem.EvangileReveurDef.nameToken + "'. Item may not be registered correctly, or PickupCatalog issue."); } } else { Log.Error("Crystalide: EvangileReveur - Def is null or itemIndex is None at primary check. Cannot add to pools."); } } private void Hook_Inventory_GiveItem_EvangileRules(orig_GiveItem_ItemIndex_int orig, Inventory self, ItemIndex itemIndex, int count) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_02e1: Unknown result type (might be due to invalid IL or missing references) //IL_02f3: Unknown result type (might be due to invalid IL or missing references) //IL_0306: Unknown result type (might be due to invalid IL or missing references) //IL_0323: Unknown result type (might be due to invalid IL or missing references) //IL_033a: Unknown result type (might be due to invalid IL or missing references) //IL_027b: 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_028b: Unknown result type (might be due to invalid IL or missing references) //IL_0164: Unknown result type (might be due to invalid IL or missing references) CharacterMaster component = ((Component)self).GetComponent<CharacterMaster>(); if ((Object)(object)((component != null) ? component.playerCharacterMasterController : null) == (Object)null && !((Object)((Component)self).gameObject).name.Contains("Shrine.Triple")) { orig.Invoke(self, itemIndex, count); return; } ItemDef itemDef = ItemCatalog.GetItemDef(itemIndex); if ((Object)(object)itemDef == (Object)null) { orig.Invoke(self, itemIndex, count); return; } bool flag = AllGospelItemDefs.Exists((ItemDef gospelDef) => gospelDef.itemIndex == itemIndex); if (flag && GloballyClaimedGospelTypes.Contains(itemIndex) && self.GetItemCount(itemIndex) == 0) { CharacterMaster component2 = ((Component)self).GetComponent<CharacterMaster>(); bool flag2 = false; bool flag3 = false; if ((Object)(object)component2 != (Object)null) { foreach (PlayerCharacterMasterController instance in PlayerCharacterMasterController.instances) { if ((Object)(object)instance.master != (Object)null && (Object)(object)instance.master.inventory != (Object)null && (Object)(object)instance.master != (Object)(object)component2 && instance.master.inventory.GetItemCount(itemIndex) > 0) { flag3 = true; break; } } } else { flag3 = true; } if (!flag3) { flag2 = true; } if (!flag2) { SendGospelTypeClaimedMessage(itemDef.nameToken); return; } } List<ItemDef> list = new List<ItemDef> { CulpabilityPowerItem.CulpabilityPowerDef, EvangileJalousieItem.EvangileJalousieDef, IrresponsabiliteEvangileItem.IrresponsabiliteEvangileDef, EvangileReveurItem.EvangileReveurDef, EvangileTimiditeItem.EvangileTimiditeDef, EvangileEchecItem.EvangileEchecDef }; list.RemoveAll((ItemDef item) => (Object)(object)item == (Object)null); if (list.Exists((ItemDef gospelDef) => gospelDef.itemIndex == itemIndex)) { bool flag4 = false; foreach (ItemDef item in list) { if (item.itemIndex != itemIndex && self.GetItemCount(item.itemIndex) > 0) { flag4 = true; break; } } if (flag4) { SendGospelExclusiveConflictMessage(itemDef.nameToken); return; } } orig.Invoke(self, itemIndex, count); if (flag && self.GetItemCount(itemIndex) > 0 && !GloballyClaimedGospelTypes.Contains(itemIndex)) { GloballyClaimedGospelTypes.Add(itemIndex); string nameToken = itemDef.nameToken; object arg = itemIndex; CharacterMaster component3 = ((Component)self).GetComponent<CharacterMaster>(); object arg2; if (component3 == null) { arg2 = null; } else { CharacterBody body = component3.GetBody(); arg2 = ((body != null) ? body.GetUserName() : null); } Log.Info($"Crystalide: Gospel type {nameToken} (ItemIndex: {arg}) has been globally claimed by {arg2}."); } } private void SendGospelTypeClaimedMessage(string attemptedItemNameToken) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Expected O, but got Unknown if (NetworkServer.active) { SimpleChatMessage val = new SimpleChatMessage(); val.baseToken = "<color=#FFD700>Cet type d'Évangile ({0}) a déjà été réclamé par un autre joueur cette partie.</color>"; val.paramTokens = new string[1] { Language.GetString(attemptedItemNameToken) }; Chat.SendBroadcastChat((ChatMessageBase)(object)val); } } private void SendGospelExclusiveConflictMessage(string attemptedItemNameToken) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Expected O, but got Unknown if (NetworkServer.active) { SimpleChatMessage val = new SimpleChatMessage(); val.baseToken = "<color=#FF7F50>Vous possédez déjà un autre Évangile majeur. Impossible de ramasser {0}.</color>"; val.paramTokens = new string[1] { Language.GetString(attemptedItemNameToken) }; Chat.SendBroadcastChat((ChatMessageBase)(object)val); } } private void Update() { if (!Input.GetKeyDown((KeyCode)287)) { } } private void SpawnItemForPlayer(ItemDef itemDefToSpawn, string itemNameForLog) { //IL_0055: Unknown result type (might be due to invalid IL or missing references) //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_0076: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) if (PlayerCharacterMasterController.instances.Count > 0) { CharacterMaster master = PlayerCharacterMasterController.instances[0].master; if (Object.op_Implicit((Object)(object)master) && Object.op_Implicit((Object)(object)master.GetBodyObject())) { Transform transform = master.GetBodyObject().transform; Log.Info($"Player pressed key. Spawning {itemNameForLog} at coordinates {transform.position}"); PickupDropletController.CreatePickupDroplet(PickupCatalog.FindPickupIndex(itemDefToSpawn.itemIndex), transform.position, transform.forward * 20f); } else { Log.Info("Player pressed key, but no player body found to spawn " + itemNameForLog + "."); } } else { Log.Info("Player pressed key, but no PlayerCharacterMasterController instance found to spawn " + itemNameForLog + "."); } } public static bool DoesPlayerHaveAnyGospelItem(CharacterBody playerBody) { //IL_0053: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)playerBody == (Object)null || (Object)(object)playerBody.inventory == (Object)null || AllGospelItemDefs == null) { return false; } foreach (ItemDef allGospelItemDef in AllGospelItemDefs) { if ((Object)(object)allGospelItemDef != (Object)null && playerBody.inventory.GetItemCount(allGospelItemDef.itemIndex) > 0) { return true; } } return false; } } public static class CulpabilityPowerItem { [CompilerGenerated] private static class <>O { public static hook_RecalculateStats <0>__CharacterBody_RecalculateStats; public static Action<DamageReport> <1>__GlobalEventManager_onCharacterDeathGlobal; public static hook_OnDeathStart <2>__CharacterBody_OnDeathStart; public static hook_BeginStage <3>__Run_BeginStage_ResetStacks; } public static ItemDef CulpabilityPowerDef; public static BuffDef CulpabilityStacksBuff; public static AssetBundle CulpabilityAssetBundle; public static GameObject CulpabilityModelPrefab; public static Sprite CulpabilityIconSprite; public const int STACKS_PER_ITEM_LIMIT = 120; private const float STAT_PERCENTAGE_BONUS_PER_STACK = 0.012f; private const float FLAT_ARMOR_BONUS_PER_STACK = 0.5f; private const float FLAT_REGEN_BONUS_PER_STACK = 0.1f; private const float CRIT_CHANCE_BONUS_PER_STACK = 0.05f; public static void Init() { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_013f: Unknown result type (might be due to invalid IL or missing references) //IL_0144: Unknown result type (might be due to invalid IL or missing references) //IL_018d: Unknown result type (might be due to invalid IL or missing references) //IL_0192: Unknown result type (might be due to invalid IL or missing references) //IL_01d6: Unknown result type (might be due to invalid IL or missing references) //IL_01dc: Expected O, but got Unknown //IL_01ec: Unknown result type (might be due to invalid IL or missing references) //IL_01f5: 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_022d: Unknown result type (might be due to invalid IL or missing references) //IL_0243: Unknown result type (might be due to invalid IL or missing references) //IL_0248: Unknown result type (might be due to invalid IL or missing references) //IL_025e: Unknown result type (might be due to invalid IL or missing references) //IL_0263: Unknown result type (might be due to invalid IL or missing references) //IL_0268: Unknown result type (might be due to invalid IL or missing references) //IL_026a: Unknown result type (might be due to invalid IL or missing references) //IL_0285: Unknown result type (might be due to invalid IL or missing references) //IL_028e: Unknown result type (might be due to invalid IL or missing references) //IL_02c1: Unknown result type (might be due to invalid IL or missing references) //IL_02c6: Unknown result type (might be due to invalid IL or missing references) //IL_02dc: Unknown result type (might be due to invalid IL or missing references) //IL_02e1: Unknown result type (might be due to invalid IL or missing references) //IL_02f7: Unknown result type (might be due to invalid IL or missing references) //IL_02fc: Unknown result type (might be due to invalid IL or missing references) //IL_0301: Unknown result type (might be due to invalid IL or missing references) //IL_0303: Unknown result type (might be due to invalid IL or missing references) //IL_031e: Unknown result type (might be due to invalid IL or missing references) //IL_0327: Unknown result type (might be due to invalid IL or missing references) //IL_0349: Unknown result type (might be due to invalid IL or missing references) //IL_034e: Unknown result type (might be due to invalid IL or missing references) //IL_0364: Unknown result type (might be due to invalid IL or missing references) //IL_0369: Unknown result type (might be due to invalid IL or missing references) //IL_037f: Unknown result type (might be due to invalid IL or missing references) //IL_0384: Unknown result type (might be due to invalid IL or missing references) //IL_0389: Unknown result type (might be due to invalid IL or missing references) //IL_038b: Unknown result type (might be due to invalid IL or missing references) //IL_03a6: Unknown result type (might be due to invalid IL or missing references) //IL_03af: Unknown result type (might be due to invalid IL or missing references) //IL_03d1: Unknown result type (might be due to invalid IL or missing references) //IL_03d6: Unknown result type (might be due to invalid IL or missing references) //IL_03ec: Unknown result type (might be due to invalid IL or missing references) //IL_03f1: Unknown result type (might be due to invalid IL or missing references) //IL_0407: Unknown result type (might be due to invalid IL or missing references) //IL_040c: Unknown result type (might be due to invalid IL or missing references) //IL_0411: Unknown result type (might be due to invalid IL or missing references) //IL_0413: Unknown result type (might be due to invalid IL or missing references) //IL_042e: Unknown result type (might be due to invalid IL or missing references) //IL_0437: Unknown result type (might be due to invalid IL or missing references) //IL_0459: Unknown result type (might be due to invalid IL or missing references) //IL_045e: Unknown result type (might be due to invalid IL or missing references) //IL_0474: Unknown result type (might be due to invalid IL or missing references) //IL_0479: Unknown result type (might be due to invalid IL or missing references) //IL_048f: Unknown result type (might be due to invalid IL or missing references) //IL_0494: Unknown result type (might be due to invalid IL or missing references) //IL_0499: Unknown result type (might be due to invalid IL or missing references) //IL_049b: Unknown result type (might be due to invalid IL or missing references) //IL_04b6: Unknown result type (might be due to invalid IL or missing references) //IL_04bf: Unknown result type (might be due to invalid IL or missing references) //IL_04c4: Unknown result type (might be due to invalid IL or missing references) //IL_04c6: Unknown result type (might be due to invalid IL or missing references) //IL_04e1: Unknown result type (might be due to invalid IL or missing references) //IL_04ea: Unknown result type (might be due to invalid IL or missing references) //IL_04ef: Unknown result type (might be due to invalid IL or missing references) //IL_04f1: Unknown result type (might be due to invalid IL or missing references) //IL_050c: Unknown result type (might be due to invalid IL or missing references) //IL_0515: Unknown result type (might be due to invalid IL or missing references) //IL_0537: Unknown result type (might be due to invalid IL or missing references) //IL_053c: Unknown result type (might be due to invalid IL or missing references) //IL_0552: Unknown result type (might be due to invalid IL or missing references) //IL_0557: Unknown result type (might be due to invalid IL or missing references) //IL_056d: Unknown result type (might be due to invalid IL or missing references) //IL_0572: Unknown result type (might be due to invalid IL or missing references) //IL_0577: Unknown result type (might be due to invalid IL or missing references) //IL_0579: Unknown result type (might be due to invalid IL or missing references) //IL_0594: Unknown result type (might be due to invalid IL or missing references) //IL_059d: Unknown result type (might be due to invalid IL or missing references) //IL_05bf: Unknown result type (might be due to invalid IL or missing references) //IL_05c4: Unknown result type (might be due to invalid IL or missing references) //IL_05da: Unknown result type (might be due to invalid IL or missing references) //IL_05df: Unknown result type (might be due to invalid IL or missing references) //IL_05f5: Unknown result type (might be due to invalid IL or missing references) //IL_05fa: Unknown result type (might be due to invalid IL or missing references) //IL_05ff: Unknown result type (might be due to invalid IL or missing references) //IL_0601: Unknown result type (might be due to invalid IL or missing references) //IL_061c: Unknown result type (might be due to invalid IL or missing references) //IL_0625: Unknown result type (might be due to invalid IL or missing references) //IL_0647: Unknown result type (might be due to invalid IL or missing references) //IL_064c: Unknown result type (might be due to invalid IL or missing references) //IL_0662: Unknown result type (might be due to invalid IL or missing references) //IL_0667: Unknown result type (might be due to invalid IL or missing references) //IL_067d: Unknown result type (might be due to invalid IL or missing references) //IL_0682: Unknown result type (might be due to invalid IL or missing references) //IL_0687: Unknown result type (might be due to invalid IL or missing references) //IL_0689: Unknown result type (might be due to invalid IL or missing references) //IL_06a4: Unknown result type (might be due to invalid IL or missing references) //IL_06ad: Unknown result type (might be due to invalid IL or missing references) //IL_06cf: Unknown result type (might be due to invalid IL or missing references) //IL_06d4: Unknown result type (might be due to invalid IL or missing references) //IL_06ea: Unknown result type (might be due to invalid IL or missing references) //IL_06ef: Unknown result type (might be due to invalid IL or missing references) //IL_0705: Unknown result type (might be due to invalid IL or missing references) //IL_070a: Unknown result type (might be due to invalid IL or missing references) //IL_070f: Unknown result type (might be due to invalid IL or missing references) //IL_0711: Unknown result type (might be due to invalid IL or missing references) //IL_072c: Unknown result type (might be due to invalid IL or missing references) //IL_0735: Unknown result type (might be due to invalid IL or missing references) //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_0772: Unknown result type (might be due to invalid IL or missing references) //IL_0777: Unknown result type (might be due to invalid IL or missing references) //IL_078d: Unknown result type (might be due to invalid IL or missing references) //IL_0792: Unknown result type (might be due to invalid IL or missing references) //IL_0797: Unknown result type (might be due to invalid IL or missing references) //IL_0799: Unknown result type (might be due to invalid IL or missing references) //IL_07b4: Unknown result type (might be due to invalid IL or missing references) //IL_07bd: Unknown result type (might be due to invalid IL or missing references) //IL_07df: Unknown result type (might be due to invalid IL or missing references) //IL_07e4: Unknown result type (might be due to invalid IL or missing references) //IL_07fa: Unknown result type (might be due to invalid IL or missing references) //IL_07ff: Unknown result type (might be due to invalid IL or missing references) //IL_0815: Unknown result type (might be due to invalid IL or missing references) //IL_081a: Unknown result type (might be due to invalid IL or missing references) //IL_081f: Unknown result type (might be due to invalid IL or missing references) //IL_0821: Unknown result type (might be due to invalid IL or missing references) //IL_083c: Unknown result type (might be due to invalid IL or missing references) //IL_0845: Unknown result type (might be due to invalid IL or missing references) //IL_084a: Unknown result type (might be due to invalid IL or missing references) //IL_084c: Unknown result type (might be due to invalid IL or missing references) //IL_0867: Unknown result type (might be due to invalid IL or missing references) //IL_0870: Unknown result type (might be due to invalid IL or missing references) //IL_0875: Unknown result type (might be due to invalid IL or missing references) //IL_0877: Unknown result type (might be due to invalid IL or missing references) //IL_0892: Unknown result type (might be due to invalid IL or missing references) //IL_089b: Unknown result type (might be due to invalid IL or missing references) //IL_08bd: Unknown result type (might be due to invalid IL or missing references) //IL_08c2: Unknown result type (might be due to invalid IL or missing references) //IL_08d8: Unknown result type (might be due to invalid IL or missing references) //IL_08dd: Unknown result type (might be due to invalid IL or missing references) //IL_08f3: Unknown result type (might be due to invalid IL or missing references) //IL_08f8: Unknown result type (might be due to invalid IL or missing references) //IL_08fd: Unknown result type (might be due to invalid IL or missing references) //IL_08ff: Unknown result type (might be due to invalid IL or missing references) //IL_091a: Unknown result type (might be due to invalid IL or missing references) //IL_0923: Unknown result type (might be due to invalid IL or missing references) //IL_0945: Unknown result type (might be due to invalid IL or missing references) //IL_094a: Unknown result type (might be due to invalid IL or missing references) //IL_0960: Unknown result type (might be due to invalid IL or missing references) //IL_0965: Unknown result type (might be due to invalid IL or missing references) //IL_097b: Unknown result type (might be due to invalid IL or missing references) //IL_0980: Unknown result type (might be due to invalid IL or missing references) //IL_0985: Unknown result type (might be due to invalid IL or missing references) //IL_0987: Unknown result type (might be due to invalid IL or missing references) //IL_09bb: Unknown result type (might be due to invalid IL or missing references) //IL_09c4: Unknown result type (might be due to invalid IL or missing references) //IL_09f7: Unknown result type (might be due to invalid IL or missing references) //IL_09fc: Unknown result type (might be due to invalid IL or missing references) //IL_0a12: Unknown result type (might be due to invalid IL or missing references) //IL_0a17: Unknown result type (might be due to invalid IL or missing references) //IL_0a2d: Unknown result type (might be due to invalid IL or missing references) //IL_0a32: Unknown result type (might be due to invalid IL or missing references) //IL_0a37: Unknown result type (might be due to invalid IL or missing references) //IL_0a39: Unknown result type (might be due to invalid IL or missing references) //IL_0a6e: Unknown result type (might be due to invalid IL or missing references) //IL_0a77: Unknown result type (might be due to invalid IL or missing references) //IL_0aaa: Unknown result type (might be due to invalid IL or missing references) //IL_0aaf: Unknown result type (might be due to invalid IL or missing references) //IL_0ac5: Unknown result type (might be due to invalid IL or missing references) //IL_0aca: Unknown result type (might be due to invalid IL or missing references) //IL_0ae0: Unknown result type (might be due to invalid IL or missing references) //IL_0ae5: Unknown result type (might be due to invalid IL or missing references) //IL_0aea: Unknown result type (might be due to invalid IL or missing references) //IL_0aec: Unknown result type (might be due to invalid IL or missing references) //IL_0b21: Unknown result type (might be due to invalid IL or missing references) //IL_0b2a: Unknown result type (might be due to invalid IL or missing references) //IL_0b5d: Unknown result type (might be due to invalid IL or missing references) //IL_0b62: Unknown result type (might be due to invalid IL or missing references) //IL_0b78: Unknown result type (might be due to invalid IL or missing references) //IL_0b7d: Unknown result type (might be due to invalid IL or missing references) //IL_0b93: Unknown result type (might be due to invalid IL or missing references) //IL_0b98: Unknown result type (might be due to invalid IL or missing references) //IL_0b9d: Unknown result type (might be due to invalid IL or missing references) //IL_0b9f: Unknown result type (might be due to invalid IL or missing references) //IL_0bd4: Unknown result type (might be due to invalid IL or missing references) //IL_0bdd: 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_0c15: Unknown result type (might be due to invalid IL or missing references) //IL_0c2b: Unknown result type (might be due to invalid IL or missing references) //IL_0c30: Unknown result type (might be due to invalid IL or missing references) //IL_0c46: Unknown result type (might be due to invalid IL or missing references) //IL_0c4b: Unknown result type (might be due to invalid IL or missing references) //IL_0c50: Unknown result type (might be due to invalid IL or missing references) //IL_0c52: Unknown result type (might be due to invalid IL or missing references) //IL_0c87: Unknown result type (might be due to invalid IL or missing references) //IL_0c90: Unknown result type (might be due to invalid IL or missing references) //IL_0cc3: Unknown result type (might be due to invalid IL or missing references) //IL_0cc8: Unknown result type (might be due to invalid IL or missing references) //IL_0cde: Unknown result type (might be due to invalid IL or missing references) //IL_0ce3: Unknown result type (might be due to invalid IL or missing references) //IL_0cf9: Unknown result type (might be due to invalid IL or missing references) //IL_0cfe: Unknown result type (might be due to invalid IL or missing references) //IL_0d03: 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_0d3a: Unknown result type (might be due to invalid IL or missing references) //IL_0d43: Unknown result type (might be due to invalid IL or missing references) //IL_0d76: Unknown result type (might be due to invalid IL or missing references) //IL_0d7b: Unknown result type (might be due to invalid IL or missing references) //IL_0d91: Unknown result type (might be due to invalid IL or missing references) //IL_0d96: Unknown result type (might be due to invalid IL or missing references) //IL_0dac: Unknown result type (might be due to invalid IL or missing references) //IL_0db1: Unknown result type (might be due to invalid IL or missing references) //IL_0db6: Unknown result type (might be due to invalid IL or missing references) //IL_0db8: Unknown result type (might be due to invalid IL or missing references) //IL_0ded: Unknown result type (might be due to invalid IL or missing references) //IL_0df6: Unknown result type (might be due to invalid IL or missing references) //IL_0e29: 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_0e44: 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_0e5f: 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_0e69: Unknown result type (might be due to invalid IL or missing references) //IL_0e6b: Unknown result type (might be due to invalid IL or missing references) //IL_0ea0: Unknown result type (might be due to invalid IL or missing references) //IL_0ea9: Unknown result type (might be due to invalid IL or missing references) //IL_0edc: Unknown result type (might be due to invalid IL or missing references) //IL_0ee1: Unknown result type (might be due to invalid IL or missing references) //IL_0ef7: Unknown result type (might be due to invalid IL or missing references) //IL_0efc: Unknown result type (might be due to invalid IL or missing references) //IL_0f12: Unknown result type (might be due to invalid IL or missing references) //IL_0f17: Unknown result type (might be due to invalid IL or missing references) //IL_0f1c: Unknown result type (might be due to invalid IL or missing references) //IL_0f1e: Unknown result type (might be due to invalid IL or missing references) //IL_0f53: Unknown result type (might be due to invalid IL or missing references) //IL_0f5c: Unknown result type (might be due to invalid IL or missing references) //IL_0f8f: Unknown result type (might be due to invalid IL or missing references) //IL_0f94: Unknown result type (might be due to invalid IL or missing references) //IL_0faa: Unknown result type (might be due to invalid IL or missing references) //IL_0faf: Unknown result type (might be due to invalid IL or missing references) //IL_0fc5: Unknown result type (might be due to invalid IL or missing references) //IL_0fca: Unknown result type (might be due to invalid IL or missing references) //IL_0fcf: Unknown result type (might be due to invalid IL or missing references) //IL_0fd1: 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: Unknown result type (might be due to invalid IL or missing references) //IL_1042: Unknown result type (might be due to invalid IL or missing references) //IL_1047: Unknown result type (might be due to invalid IL or missing references) //IL_105d: Unknown result type (might be due to invalid IL or missing references) //IL_1062: Unknown result type (might be due to invalid IL or missing references) //IL_1078: Unknown result type (might be due to invalid IL or missing references) //IL_107d: Unknown result type (might be due to invalid IL or missing references) //IL_1082: Unknown result type (might be due to invalid IL or missing references) //IL_1084: Unknown result type (might be due to invalid IL or missing references) //IL_10b9: Unknown result type (might be due to invalid IL or missing references) //IL_10c2: Unknown result type (might be due to invalid IL or missing references) //IL_10f5: Unknown result type (might be due to invalid IL or missing references) //IL_10fa: Unknown result type (might be due to invalid IL or missing references) //IL_1110: Unknown result type (might be due to invalid IL or missing references) //IL_1115: Unknown result type (might be due to invalid IL or missing references) //IL_112b: Unknown result type (might be due to invalid IL or missing references) //IL_1130: 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_1137: Unknown result type (might be due to invalid IL or missing references) //IL_116c: Unknown result type (might be due to invalid IL or missing references) //IL_1175: Unknown result type (might be due to invalid IL or missing references) //IL_11a8: Unknown result type (might be due to invalid IL or missing references) //IL_11ad: Unknown result type (might be due to invalid IL or missing references) //IL_11c3: Unknown result type (might be due to invalid IL or missing references) //IL_11c8: Unknown result type (might be due to invalid IL or missing references) //IL_11de: Unknown result type (might be due to invalid IL or missing references) //IL_11e3: Unknown result type (might be due to invalid IL or missing references) //IL_11e8: Unknown result type (might be due to invalid IL or missing references) //IL_11ea: Unknown result type (might be due to invalid IL or missing references) //IL_121f: Unknown result type (might be due to invalid IL or missing references) //IL_1228: Unknown result type (might be due to invalid IL or missing references) //IL_125b: Unknown result type (might be due to invalid IL or missing references) //IL_1260: Unknown result type (might be due to invalid IL or missing references) //IL_1276: Unknown result type (might be due to invalid IL or missing references) //IL_127b: Unknown result type (might be due to invalid IL or missing references) //IL_1291: Unknown result type (might be due to invalid IL or missing references) //IL_1296: Unknown result type (might be due to invalid IL or missing references) //IL_129b: Unknown result type (might be due to invalid IL or missing references) //IL_129d: Unknown result type (might be due to invalid IL or missing references) //IL_12d2: Unknown result type (might be due to invalid IL or missing references) //IL_12db: Unknown result type (might be due to invalid IL or missing references) //IL_130e: Unknown result type (might be due to invalid IL or missing references) //IL_1313: Unknown result type (might be due to invalid IL or missing references) //IL_1329: Unknown result type (might be due to invalid IL or missing references) //IL_132e: Unknown result type (might be due to invalid IL or missing references) //IL_1344: Unknown result type (might be due to invalid IL or missing references) //IL_1349: Unknown result type (might be due to invalid IL or missing references) //IL_134e: Unknown result type (might be due to invalid IL or missing references) //IL_1350: Unknown result type (might be due to invalid IL or missing references) //IL_1385: Unknown result type (might be due to invalid IL or missing references) //IL_138e: Unknown result type (might be due to invalid IL or missing references) //IL_13c1: Unknown result type (might be due to invalid IL or missing references) //IL_13c6: Unknown result type (might be due to invalid IL or missing references) //IL_13dc: Unknown result type (might be due to invalid IL or missing references) //IL_13e1: Unknown result type (might be due to invalid IL or missing references) //IL_13f7: Unknown result type (might be due to invalid IL or missing references) //IL_13fc: Unknown result type (might be due to invalid IL or missing references) //IL_1401: Unknown result type (might be due to invalid IL or missing references) //IL_1403: Unknown result type (might be due to invalid IL or missing references) //IL_1438: Unknown result type (might be due to invalid IL or missing references) //IL_1441: Unknown result type (might be due to invalid IL or missing references) //IL_1474: Unknown result type (might be due to invalid IL or missing references) //IL_1479: Unknown result type (might be due to invalid IL or missing references) //IL_148f: Unknown result type (might be due to invalid IL or missing references) //IL_1494: Unknown result type (might be due to invalid IL or missing references) //IL_14aa: Unknown result type (might be due to invalid IL or missing references) //IL_14af: Unknown result type (might be due to invalid IL or missing references) //IL_14b4: Unknown result type (might be due to invalid IL or missing references) //IL_14b6: Unknown result type (might be due to invalid IL or missing references) //IL_14d1: Unknown result type (might be due to invalid IL or missing references) //IL_14da: Unknown result type (might be due to invalid IL or missing references) //IL_150d: Unknown result type (might be due to invalid IL or missing references) //IL_1512: Unknown result type (might be due to invalid IL or missing references) //IL_1528: Unknown result type (might be due to invalid IL or missing references) //IL_152d: Unknown result type (might be due to invalid IL or missing references) //IL_1543: Unknown result type (might be due to invalid IL or missing references) //IL_1548: Unknown result type (might be due to invalid IL or missing references) //IL_154d: Unknown result type (might be due to invalid IL or missing references) //IL_154f: Unknown result type (might be due to invalid IL or missing references) //IL_156a: Unknown result type (might be due to invalid IL or missing references) //IL_1573: Unknown result type (might be due to invalid IL or missing references) //IL_15a6: Unknown result type (might be due to invalid IL or missing references) //IL_15ab: Unknown result type (might be due to invalid IL or missing references) //IL_15c1: Unknown result type (might be due to invalid IL or missing references) //IL_15c6: Unknown result type (might be due to invalid IL or missing references) //IL_15dc: Unknown result type (might be due to invalid IL or missing references) //IL_15e1: Unknown result type (might be due to invalid IL or missing references) //IL_15e6: Unknown result type (might be due to invalid IL or missing references) //IL_15e8: Unknown result type (might be due to invalid IL or missing references) //IL_161d: Unknown result type (might be due to invalid IL or missing references) //IL_1626: Unknown result type (might be due to invalid IL or missing references) //IL_1659: Unknown result type (might be due to invalid IL or missing references) //IL_165e: Unknown result type (might be due to invalid IL or missing references) //IL_1674: Unknown result type (might be due to invalid IL or missing references) //IL_1679: Unknown result type (might be due to invalid IL or missing references) //IL_168f: Unknown result type (might be due to invalid IL or missing references) //IL_1694: Unknown result type (might be due to invalid IL or missing references) //IL_1699: Unknown result type (might be due to invalid IL or missing references) //IL_169b: Unknown result type (might be due to invalid IL or missing references) //IL_16d0: Unknown result type (might be due to invalid IL or missing references) //IL_16d9: Unknown result type (might be due to invalid IL or missing references) //IL_170c: Unknown result type (might be due to invalid IL or missing references) //IL_1711: Unknown result type (might be due to invalid IL or missing references) //IL_1727: Unknown result type (might be due to invalid IL or missing references) //IL_172c: Unknown result type (might be due to invalid IL or missing references) //IL_1742: Unknown result type (might be due to invalid IL or missing references) //IL_1747: Unknown result type (might be due to invalid IL or missing references) //IL_174c: Unknown result type (might be due to invalid IL or missing references) //IL_174e: Unknown result type (might be due to invalid IL or missing references) //IL_1769: Unknown result type (might be due to invalid IL or missing references) //IL_1772: Unknown result type (might be due to invalid IL or missing references) //IL_17a5: Unknown result type (might be due to invalid IL or missing references) //IL_17aa: Unknown result type (might be due to invalid IL or missing references) //IL_17c0: Unknown result type (might be due to invalid IL or missing references) //IL_17c5: Unknown result type (might be due to invalid IL or missing references) //IL_17db: Unknown result type (might be due to invalid IL or missing references) //IL_17e0: Unknown result type (might be due to invalid IL or missing references) //IL_17e5: Unknown result type (might be due to invalid IL or missing references) //IL_17e7: Unknown result type (might be due to invalid IL or missing references) //IL_181c: Unknown result type (might be due to invalid IL or missing references) //IL_1825: Unknown result type (might be due to invalid IL or missing references) //IL_1858: Unknown result type (might be due to invalid IL or missing references) //IL_185d: Unknown result type (might be due to invalid IL or missing references) //IL_1873: Unknown result type (might be due to invalid IL or missing references) //IL_1878: Unknown result type (might be due to invalid IL or missing references) //IL_188e: Unknown result type (might be due to invalid IL or missing references) //IL_1893: Unknown result type (might be due to invalid IL or missing references) //IL_1898: Unknown result type (might be due to invalid IL or missing references) //IL_189a: Unknown result type (might be due to invalid IL or missing references) //IL_18cf: Unknown result type (might be due to invalid IL or missing references) //IL_18d8: Unknown result type (might be due to invalid IL or missing references) //IL_190b: Unknown result type (might be due to invalid IL or missing references) //IL_1910: Unknown result type (might be due to invalid IL or missing references) //IL_1926: Unknown result type (might be due to invalid IL or missing references) //IL_192b: Unknown result type (might be due to invalid IL or missing references) //IL_1941: Unknown result type (might be due to invalid IL or missing references) //IL_1946: Unknown result type (might be due to invalid IL or missing references) //IL_194b: Unknown result type (might be due to invalid IL or missing references) //IL_194d: Unknown result type (might be due to invalid IL or missing references) //IL_1982: Unknown result type (might be due to invalid IL or missing references) //IL_198b: Unknown result type (might be due to invalid IL or missing references) //IL_19be: Unknown result type (might be due to invalid IL or missing references) //IL_19c3: Unknown result type (might be due to invalid IL or missing references) //IL_19d9: Unknown result type (might be due to invalid IL or missing references) //IL_19de: Unknown result type (might be due to invalid IL or missing references) //IL_19f4: Unknown result type (might be due to invalid IL or missing references) //IL_19f9: Unknown result type (might be due to invalid IL or missing references) //IL_19fe: Unknown result type (might be due to invalid IL or missing references) //IL_1a00: Unknown result type (might be due to invalid IL or missing references) //IL_1ac5: Unknown result type (might be due to invalid IL or missing references) //IL_1acf: Expected O, but got Unknown //IL_1a35: Unknown result type (might be due to invalid IL or missing references) //IL_1a3e: Unknown result type (might be due to invalid IL or missing references) //IL_1a71: Unknown result type (might be due to invalid IL or missing references) //IL_1a76: Unknown result type (might be due to invalid IL or missing references) //IL_1a8c: Unknown result type (might be due to invalid IL or missing references) //IL_1a91: Unknown result type (might be due to invalid IL or missing references) //IL_1aa7: Unknown result type (might be due to invalid IL or missing references) //IL_1aac: Unknown result type (might be due to invalid IL or missing references) //IL_1ab1: Unknown result type (might be due to invalid IL or missing references) //IL_1ab3: Unknown result type (might be due to invalid IL or missing references) LoadAssetBundle(); CulpabilityStacksBuff = ScriptableObject.CreateInstance<BuffDef>(); ((Object)CulpabilityStacksBuff).name = "Lembont_CulpabilityStacksVisualizer_Buff"; CulpabilityStacksBuff.buffColor = Color.yellow; CulpabilityStacksBuff.canStack = true; CulpabilityStacksBuff.isDebuff = false; CulpabilityStacksBuff.iconSprite = LoadSpriteFromEmbeddedResource("Crystalide.Assets.Icons.CulpabilityPowerIcon.png"); if ((Object)(object)CulpabilityStacksBuff.iconSprite == (Object)null) { CulpabilityStacksBuff.iconSprite = Addressables.LoadAssetAsync<Sprite>((object)"RoR2/Base/Common/MiscIcons/texMysteryIcon.png").WaitForCompletion(); } ContentAddition.AddBuffDef(CulpabilityStacksBuff); CulpabilityPowerDef = ScriptableObject.CreateInstance<ItemDef>(); ((Object)CulpabilityPowerDef).name = "CulpabilityPower"; CulpabilityPowerDef.nameToken = "CULPABILITYPOWER_NAME_TOKEN"; CulpabilityPowerDef.pickupToken = "CULPABILITYPOWER_PICKUP_TOKEN"; CulpabilityPowerDef.descriptionToken = "CULPABILITYPOWER_DESC_TOKEN"; CulpabilityPowerDef.loreToken = "CULPABILITYPOWER_LORE_TOKEN"; CulpabilityPowerDef.deprecatedTier = (ItemTier)2; CulpabilityIconSprite = LoadSpriteFromEmbeddedResource("Crystalide.Assets.Icons.culpabilite.png"); if ((Object)(object)CulpabilityModelPrefab != (Object)null) { CulpabilityPowerDef.pickupModelPrefab = CulpabilityModelPrefab; } else { Log.Warning("CulpabilityPower: CulpabilityModelPrefab est null. Utilisation du modèle placeholder."); CulpabilityPowerDef.pickupModelPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Mystery/PickupMystery.prefab").WaitForCompletion(); } if ((Object)(object)CulpabilityIconSprite != (Object)null) { CulpabilityPowerDef.pickupIconSprite = CulpabilityIconSprite; } else { Log.Warning("CulpabilityPower: CulpabilityIconSprite est null lors de l'assignation à ItemDef. Utilisation de l'icône placeholder."); CulpabilityPowerDef.pickupIconSprite = Addressables.LoadAssetAsync<Sprite>((object)"RoR2/Base/Common/MiscIcons/texMysteryIcon.png").WaitForCompletion(); } CulpabilityPowerDef.canRemove = true; CulpabilityPowerDef.hidden = false; ItemDef culpabilityPowerDef = CulpabilityPowerDef; ItemTag[] array = new ItemTag[4]; RuntimeHelpers.InitializeArray(array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); culpabilityPowerDef.tags = (ItemTag[])(object)array; ItemDisplayRuleDict val = new ItemDisplayRuleDict(Array.Empty<ItemDisplayRule>()); val.Add("CommandoBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = CulpabilityPowerDef.pickupModelPrefab, childName = "UpperArmR", localPos = new Vector3(-0.06365f, -0.02321f, -0.01856f), localAngles = new Vector3(54.19046f, 190.3208f, 248.5293f), localScale = new Vector3(0.08f, 0.08f, 0.08f) } }); val.Add("HuntressBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = CulpabilityPowerDef.pickupModelPrefab, childName = "Head", localPos = new Vector3(-0.00114f, 0.26414f, 0.06766f), localAngles = new Vector3(30.72515f, 0.14565f, 359.9583f), localScale = new Vector3(0.08f, 0.08f, 0.08f) } }); val.Add("Bandit2Body", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, childName = "Head", localPos = new Vector3(-0.00551f, 0.225f, -0.04185f), localAngles = new Vector3(339.6204f, 319.7188f, 26.15759f), localScale = new Vector3(0.08f, 0.08f, 0.08f) } }); val.Add("ToolbotBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, childName = "Hip", localPos = new Vector3(0f, 0f, 0f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(1f, 1f, 1f) } }); val.Add("EngiBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, childName = "CannonHeadR", localPos = new Vector3(0.04082f, 0.46394f, -0.00611f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.08f, 0.08f, 0.08f) } }); val.Add("EngiTurretBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0 } }); val.Add("EngiWalkerTurretBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0 } }); val.Add("MageBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, childName = "Head", localPos = new Vector3(0.00773f, 0.15309f, -0.11082f), localAngles = new Vector3(23.54938f, 179.6357f, 179.783f), localScale = new Vector3(0.08f, 0.08f, 0.08f) } }); val.Add("MercBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, childName = "Stomach", localPos = new Vector3(-0.00172f, -0.04511f, 0.20025f), localAngles = new Vector3(71.15586f, 359.8581f, 0.49037f), localScale = new Vector3(0.08f, 0.08f, 0.08f) } }); val.Add("TreebotBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, childName = "HeadCenter", localPos = new Vector3(0.02081f, -0.02018f, -0.01053f), localAngles = new Vector3(2.61227f, 190.2326f, 177.6537f), localScale = new Vector3(0.10061f, 0.13847f, 0.11889f) } }); val.Add("LoaderBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, childName = "Head", localPos = new Vector3(-0.00116f, 0.22048f, -0.00042f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.08f, 0.08f, 0.08f) } }); val.Add("CrocoBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, childName = "Head", localPos = new Vector3(0.01607f, 1.46076f, 1.23326f), localAngles = new Vector3(279.4615f, 177.1085f, 182.3127f), localScale = new Vector3(1f, 1f, 1f) } }); val.Add("CaptainBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, childName = "HandL", localPos = new Vector3(0.048f, 0.4229f, 0.00391f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.04f, 0.04f, 0.04f) } }); val.Add("BrotherBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0 } }); val.Add("ScavBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0 } }); val.Add("RailgunnerBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, childName = "SMG", localPos = new Vector3(-0.20338f, -0.00074f, -2E-05f), localAngles = new Vector3(-4E-05f, -8E-05f, 94.08543f), localScale = new Vector3(0.04f, 0.04f, 0.04f) } }); val.Add("VoidSurvivorBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, childName = "LargeExhaust2R", localPos = new Vector3(-0.0029f, 0.00296f, 0.03074f), localAngles = new Vector3(343.57f, 276.3782f, 204.0262f), localScale = new Vector3(0.04f, 0.04f, 0.04f) } }); if (Chainloader.PluginInfos.ContainsKey("com.Bog.Deputy")) { val.Add("DeputyBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = CulpabilityPowerDef.pickupModelPrefab, childName = "Hat", localPos = new Vector3(0.00154f, 0.04695f, 0.12856f), localAngles = new Vector3(69.37428f, 1.98755f, 2.90977f), localScale = new Vector3(0.02f, 0.02f, 0.02f) } }); } if (Chainloader.PluginInfos.ContainsKey("com.rob.Belmont")) { val.Add("RobBelmontBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = CulpabilityPowerDef.pickupModelPrefab, childName = "ShoulderR", localPos = new Vector3(-0.05175f, 0.15838f, -0.05589f), localAngles = new Vector3(282.753f, 27.60862f, 5.68823f), localScale = new Vector3(0.1f, 0.1f, 0.1f) } }); } if (Chainloader.PluginInfos.ContainsKey("com.rob.Driver")) { val.Add("RobDriverBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = CulpabilityPowerDef.pickupModelPrefab, childName = "Head", localPos = new Vector3(0.01165f, 0.05554f, 0.07947f), localAngles = new Vector3(300.8678f, 358.0778f, 0.85306f), localScale = new Vector3(0.08f, 0.08f, 0.08f) } }); } if (Chainloader.PluginInfos.ContainsKey("com.EnforcerGang.Pilot")) { val.Add("EnforcerBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = CulpabilityPowerDef.pickupModelPrefab, childName = "ShieldModel", localPos = new Vector3(-0.77723f, 0f, 0.97439f), localAngles = new Vector3(-3E-05f, 11.60131f, 72.16445f), localScale = new Vector3(0.08f, 0.06194f, 0.08f) } }); } if (Chainloader.PluginInfos.ContainsKey("com.Moonlol.UnofficialRiskOfRuina")) { val.Add("ArbiterBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = CulpabilityPowerDef.pickupModelPrefab, childName = "Head", localPos = new Vector3(0f, 0.08014f, -0.05398f), localAngles = new Vector3(76.1684f, -0.00013f, -0.00017f), localScale = new Vector3(0.08815f, 0.07864f, 0.07864f) } }); } if (Chainloader.PluginInfos.ContainsKey("com.kenko.Seamstress")) { val.Add("SeamstressBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = CulpabilityPowerDef.pickupModelPrefab, childName = "Chest", localPos = new Vector3(-0.00807f, 0.25432f, 0.10004f), localAngles = new Vector3(65.41474f, 15.3731f, 23.01377f), localScale = new Vector3(0.08f, 0.08f, 0.08f) } }); } if (Chainloader.PluginInfos.ContainsKey("com.kenko.Cadet")) { val.Add("CadetBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = CulpabilityPowerDef.pickupModelPrefab, childName = "Chest", localPos = new Vector3(0f, 0f, 0f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.05f, 0.05f, 0.05f) } }); } if (Chainloader.PluginInfos.ContainsKey("com.rob.Hunk")) { val.Add("HunkBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = CulpabilityPowerDef.pickupModelPrefab, childName = "Chest", localPos = new Vector3(0f, 0f, 0f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.05f, 0.05f, 0.05f) } }); } if (Chainloader.PluginInfos.ContainsKey("com.rob.Ravager")) { val.Add("RavagerBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = CulpabilityPowerDef.pickupModelPrefab, childName = "Chest", localPos = new Vector3(0f, 0f, 0f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.05f, 0.05f, 0.05f) } }); } if (Chainloader.PluginInfos.ContainsKey("com.EnforcerGang.HANDOverclocked")) { val.Add("HANDOverclockedBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = CulpabilityPowerDef.pickupModelPrefab, childName = "Chest", localPos = new Vector3(0f, 0f, 0f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.05f, 0.05f, 0.05f) } }); } if (Chainloader.PluginInfos.ContainsKey("com.EnforcerGang.RocketSurvivor")) { val.Add("RocketSurvivorBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = CulpabilityPowerDef.pickupModelPrefab, childName = "Chest", localPos = new Vector3(0f, 0f, 0f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.05f, 0.05f, 0.05f) } }); } if (Chainloader.PluginInfos.ContainsKey("com.kenko.Banshee")) { val.Add("BansheeBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = CulpabilityPowerDef.pickupModelPrefab, childName = "Chest", localPos = new Vector3(0f, 0f, 0f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.05f, 0.05f, 0.05f) } }); } if (Chainloader.PluginInfos.ContainsKey("com.kenko.Interrogator")) { val.Add("InterrogatorBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = CulpabilityPowerDef.pickupModelPrefab, childName = "Chest", localPos = new Vector3(0f, 0f, 0f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.05f, 0.05f, 0.05f) } }); } if (Chainloader.PluginInfos.ContainsKey("com.blake.RifterMod")) { val.Add("RifterBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = CulpabilityPowerDef.pickupModelPrefab, childName = "Chest", localPos = new Vector3(0f, 0f, 0f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.05f, 0.05f, 0.05f) } }); } if (Chainloader.PluginInfos.ContainsKey("com.frosthex.SorceressMod")) { val.Add("SorceressBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = CulpabilityPowerDef.pickupModelPrefab, childName = "Chest", localPos = new Vector3(0f, 0f, 0f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.05f, 0.05f, 0.05f) } }); } if (Chainloader.PluginInfos.ContainsKey("com.ChirrLover.Starstorm2Unofficial")) { val.Add("CHEFBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = CulpabilityPowerDef.pickupModelPrefab, childName = "Chest", localPos = new Vector3(0f, 0f, 0f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.05f, 0.05f, 0.05f) } }); val.Add("ExecutionerBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = CulpabilityPowerDef.pickupModelPrefab, childName = "Chest", localPos = new Vector3(0f, 0f, 0f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.05f, 0.05f, 0.05f) } }); val.Add("NemesisEnforcerBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = CulpabilityPowerDef.pickupModelPrefab, childName = "Chest", localPos = new Vector3(0f, 0f, 0f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.05f, 0.05f, 0.05f) } }); } if (Chainloader.PluginInfos.ContainsKey("com.TeamSillyGuy.Bastian")) { val.Add("BastianBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = CulpabilityPowerDef.pickupModelPrefab, childName = "Chest", localPos = new Vector3(0f, 0f, 0f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.05f, 0.05f, 0.05f) } }); } if (Chainloader.PluginInfos.ContainsKey("com.TeamSandswept.Sandswept")) { val.Add("GunslingerBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = CulpabilityPowerDef.pickupModelPrefab, childName = "Chest", localPos = new Vector3(0f, 0f, 0f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.05f, 0.05f, 0.05f) } }); val.Add("BanditReloadedBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = CulpabilityPowerDef.pickupModelPrefab, childName = "Chest", localPos = new Vector3(0f, 0f, 0f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.05f, 0.05f, 0.05f) } }); } if (Chainloader.PluginInfos.ContainsKey("com.Dragonyck.Bomber")) { val.Add("BomberBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = CulpabilityPowerDef.pickupModelPrefab, childName = "Chest", localPos = new Vector3(0f, 0f, 0f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.05f, 0.05f, 0.05f) } }); } if (Chainloader.PluginInfos.ContainsKey("com.PopcornFactory.Arsonist")) { val.Add("ArsonistBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = CulpabilityPowerDef.pickupModelPrefab, childName = "Chest", localPos = new Vector3(0f, 0f, 0f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.05f, 0.05f, 0.05f) } }); } if (Chainloader.PluginInfos.ContainsKey("com.Moffein.SniperClassic")) { val.Add("SniperClassicBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = CulpabilityPowerDef.pickupModelPrefab, childName = "Chest", localPos = new Vector3(0f, 0f, 0f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.05f, 0.05f, 0.05f) } }); } if (Chainloader.PluginInfos.ContainsKey("com.rob.Paladin")) { val.Add("PaladinBody", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = CulpabilityPowerDef.pickupModelPrefab, childName = "Chest", localPos = new Vector3(0f, 0f, 0f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.05f, 0.05f, 0.05f) } }); } ItemAPI.Add(new CustomItem(CulpabilityPowerDef, val)); InitHooks(); } private static void LoadAssetBundle() { if (!((Object)(object)CulpabilityAssetBundle == (Object)null)) { return; } try { string directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); string text = Path.Combine(directoryName, "crystalide"); if (File.Exists(text)) { CulpabilityAssetBundle = AssetBundle.LoadFromFile(text); if ((Object)(object)CulpabilityAssetBundle != (Object)null) { CulpabilityModelPrefab = CulpabilityAssetBundle.LoadAsset<GameObject>("Assets/culpabilite.prefab"); if ((Object)(object)CulpabilityModelPrefab == (Object)null) { Log.Error("CulpabilityPower: N'a pas pu charger le prefab 'Assets/culpabilite.prefab' depuis l'AssetBundle."); } } else { Log.Error("CulpabilityPower: Echec du chargement de l'AssetBundle depuis le chemin: " + text + " (AssetBundle.LoadFromFile a retourné null)."); } } else { Log.Error("CulpabilityPower: Fichier AssetBundle non trouvé au chemin: " + text); } } catch (Exception ex) { Log.Error("CulpabilityPower: Exception durant le chargement de l'AssetBundle: " + ex); } } public static Sprite LoadSpriteFromEmbeddedResource(string resourcePath) { //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Expected O, but got Unknown //IL_009e: 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) Assembly executingAssembly = Assembly.GetExecutingAssembly(); Stream manifestResourceStream = executingAssembly.GetManifestResourceStream(resourcePath); if (manifestResourceStream == null) { Log.Error("Cannot find embedded resource: " + resourcePath); return null; } byte[] array = new byte[manifestResourceStream.Length]; manifestResourceStream.Read(array, 0, array.Length); Texture2D val = new Texture2D(128, 128, (TextureFormat)4, false); if (!ImageConversion.LoadImage(val, array)) { Log.Error("Failed to load texture from embedded resource: " + resourcePath); return null; } return Sprite.Create(val, new Rect(0f, 0f, (float)((Texture)val).width, (float)((Texture)val).height), new Vector2(0.5f, 0.5f)); } private static void InitHooks() { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Expected O, but got Unknown //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Expected O, but got Unknown //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Expected O, but got Unknown object obj = <>O.<0>__CharacterBody_RecalculateStats; if (obj == null) { hook_RecalculateStats val = CharacterBody_RecalculateStats; <>O.<0>__CharacterBody_RecalculateStats = val; obj = (object)val; } CharacterBody.RecalculateStats += (hook_RecalculateStats)obj; GlobalEventManager.onCharacterDeathGlobal += GlobalEventManager_onCharacterDeathGlobal; object obj2 = <>O.<2>__CharacterBody_OnDeathStart; if (obj2 == null) { hook_OnDeathStart val2 = CharacterBody_OnDeathStart; <>O.<2>__CharacterBody_OnDeathStart = val2; obj2 = (object)val2; } CharacterBody.OnDeathStart += (hook_OnDeathStart)obj2; object obj3 = <>O.<3>__Run_BeginStage_ResetStacks; if (obj3 == null) { hook_BeginStage val3 = Run_BeginStage_ResetStacks; <>O.<3>__Run_BeginStage_ResetStacks = val3; obj3 = (object)val3; } Run.BeginStage += (hook_BeginStage)obj3; } private static void CharacterBody_RecalculateStats(orig_RecalculateStats orig, CharacterBody self) { //IL_0032: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self); if (!Object.op_Implicit((Object)(object)self) || !Object.op_Implicit((Object)(object)self.inventory)) { return; } int itemCount = self.inventory.GetItemCount(CulpabilityPowerDef.itemIndex); if (itemCount > 0) { CulpabilityController culpabilityController = ((Component)self).gameObject.GetComponent<CulpabilityController>(); if (!Object.op_Implicit((Object)(object)culpabilityController)) { culpabilityController = ((Component)self).gameObject.AddComponent<CulpabilityController>(); culpabilityController.body = self; } if (culpabilityController.GetCulpabilityStacks() > 0) { int culpabilityStacks = culpabilityController.GetCulpabilityStacks(); float num = (float)culpabilityStacks * 0.012f; self.damage += self.baseDamage * num; self.attackSpeed += self.baseAttackSpeed * num; self.moveSpeed += self.baseMoveSpeed * num; self.armor += (float)culpabilityStacks * 0.5f; self.regen += (float)culpabilityStacks * 0.1f; self.crit += (float)culpabilityStacks * 0.05f; } } else { CulpabilityController component = ((Component)self).gameObject.GetComponent<CulpabilityController>(); if (Object.op_Implicit((Object)(object)component)) { Object.Destroy((Object)(object)component); } } } private static void GlobalEventManager_onCharacterDeathGlobal(DamageReport report) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)report.attackerBody) || !Object.op_Implicit((Object)(object)report.attackerBody.inventory)) { return; } CharacterBody attackerBody = report.attackerBody; int itemCount = attackerBody.inventory.GetItemCount(CulpabilityPowerDef.itemIndex); if (itemCount <= 0) { return; } CulpabilityController culpabilityController = ((Component)attackerBody).gameObject.GetComponent<CulpabilityController>(); if (!Object.op_Implicit((Object)(object)culpabilityController)) { culpabilityController = ((Component)attackerBody).gameObject.AddComponent<CulpabilityController>(); culpabilityController.body = attackerBody; } if (Object.op_Implicit((Object)(object)report.victimBody) && Object.op_Implicit((Object)(object)report.victimBody.teamComponent)) { TeamComponent teamComponent = report.victimBody.teamComponent; TeamComponent teamComponent2 = attackerBody.teamComponent; if (teamComponent.teamIndex != teamComponent2.teamIndex) { culpabilityController.AddStacks(1); } if ((Object)(object)report.victimBody != (Object)(object)attackerBody && teamComponent.teamIndex == teamComponent2.teamIndex && (Object)(object)report.attacker != (Object)(object)((Component)attackerBody).gameObject) { culpabilityController.AllyDied(); } } } private static void CharacterBody_OnDeathStart(orig_OnDeathStart orig, CharacterBody self) { //IL_0029: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self); if (Object.op_Implicit((Object)(object)self) && Object.op_Implicit((Object)(object)self.inventory) && self.inventory.GetItemCount(CulpabilityPowerDef.itemIndex) > 0) { CulpabilityController component = ((Component)self).gameObject.GetComponent<CulpabilityController>(); if (Object.op_Implicit((Object)(object)component)) { component.ResetStacks(); } } } private static void Run_BeginStage_ResetStacks(orig_BeginStage orig, Run self) { //IL_0076: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self); if (!NetworkServer.active) { return; } foreach (NetworkUser readOnlyInstances in NetworkUser.readOnlyInstancesList) { if (!Object.op_Implicit((Object)(object)readOnlyInstances) || !Object.op_Implicit((Object)(object)readOnlyInstances.master)) { continue; } CharacterBody body = readOnlyInstances.master.GetBody(); if (body != null && Object.op_Implicit((Object)(object)body.inventory) && body.inventory.GetItemCount(CulpabilityPowerDef.itemIndex) > 0) { CulpabilityController component = ((Component)body).gameObject.GetComponent<CulpabilityController>(); if (Object.op_Implicit((Object)(object)component)) { component.ResetStacks(); } } } } } public class CulpabilityController : MonoBehaviour { public CharacterBody body; private int culpabilityStacks = 0; private bool isGainDoubled = false; private void FixedUpdate() { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Invalid comparison between Unknown and I4 //IL_0047: 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_00b9: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)body) || !((Object)(object)CulpabilityPowerItem.CulpabilityStacksBuff != (Object)null) || (int)CulpabilityPowerItem.CulpabilityStacksBuff.buffIndex == -1) { return; } int buffCount = body.GetBuffCount(CulpabilityPowerItem.CulpabilityStacksBuff.buffIndex); if (buffCount > culpabilityStacks) { for (int i = 0; i < buffCount - culpabilityStacks; i++) { body.RemoveBuff(CulpabilityPowerItem.CulpabilityStacksBuff.buffIndex); } } else if (buffCount < culpabilityStacks) { for (int j = 0; j < culpabilityStacks - buffCount; j++) { body.AddBuff(CulpabilityPowerItem.CulpabilityStacksBuff.buffIndex); } } } public int GetCulpabilityStacks() { return culpabilityStacks; } public int GetMaxStacks() { //IL_0036: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)body) && Object.op_Implicit((Object)(object)body.inventory)) { return body.inventory.GetItemCount(CulpabilityPowerItem.CulpabilityPowerDef.itemIndex) * 120; } return 0; } public void AddStacks(int amount) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)body) || !Object.op_Implicit((Object)(object)body.inventory)) { return; } int itemCount = body.inventory.GetItemCount(CulpabilityPowerItem.CulpabilityPowerDef.itemIndex); if (itemCount <= 0) { culpabilityStacks = 0; isGainDoubled = false; UpdateVisualBuff(); return; } int num = (isGainDoubled ? (amount * 2) : amount); int maxStacks = GetMaxStacks(); int num2 = culpabilityStacks; culpabilityStacks = Mathf.Min(culpabilityStacks + num, maxStacks); if (culpabilityStacks != num2) { UpdateVisualBuff(); } } public void AllyDied() { //IL_0030: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)body) && Object.op_Implicit((Object)(object)body.inventory) && body.inventory.GetItemCount(CulpabilityPowerItem.CulpabilityPowerDef.itemIndex) > 0) { int num = culpabilityStacks; culpabilityStacks /= 2; isGainDoubled = true; if (culpabilityStacks != num) { UpdateVisualBuff(); } } } public void ResetStacks() { bool flag = culpabilityStacks != 0 || isGainDoubled; culpabilityStacks = 0; isGainDoubled = false; if (flag) { UpdateVisualBuff(); } } private void UpdateVisualBuff() { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Invalid comparison between Unknown and I4 //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)body) || (Object)(object)CulpabilityPowerItem.CulpabilityStacksBuff == (Object)null || (int)CulpabilityPowerItem.CulpabilityStacksBuff.buffIndex == -1 || !NetworkServer.active) { return; } int buffCount = body.GetBuffCount(CulpabilityPowerItem.CulpabilityStacksBuff.buffIndex); if (buffCount < culpabilityStacks) { for (int i = 0; i < culpabilityStacks - buffCount; i++) { body.AddBuff(CulpabilityPowerItem.CulpabilityStacksBuff.buffIndex); } } else if (buffCount > culpabilityStacks) { for (int j = 0; j < buffCount - culpabilityStacks; j++) { body.RemoveBuff(CulpabilityPowerItem.CulpabilityStacksBuff.buffIndex); } } } private void OnDestroy() { //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Invalid comparison between Unknown and I4 //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) if (NetworkServer.active && Object.op_Implicit((Object)(object)body) && (Object)(object)CulpabilityPowerItem.CulpabilityStacksBuff != (Object)null && (int)CulpabilityPowerItem.CulpabilityStacksBuff.buffIndex != -1) { while (body.GetBuffCount(CulpabilityPowerItem.CulpabilityStacksBuff.buffIndex) > 0) { body.RemoveBuff(CulpabilityPowerItem.CulpabilityStacksBuff.buffIndex); } } } } public static class EliteRampGenerator { public static Texture2D CreateGradientTexture(Color32[] colors, int width, int height) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Expected O, but got Unknown //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) Texture2D val = new Texture2D(width, height); ((Texture)val).wrapMode = (TextureWrapMode)1; for (int i = 0; i < height; i++) { for (int j = 0; j < width; j++) { float num = (float)j / (float)(width - 1); float num2 = num * (float)(colors.Length - 1); int num3 = Mathf.FloorToInt(num2); float t = num2 - (float)num3; if (num3 >= colors.Length - 1) { num3 = colors.Length - 2; t = 1f; } Color32 val2 = LerpColor32(colors[num3], colors[num3 + 1], t); val.SetPixel(j, i, Color32.op_Implicit(val2)); } } val.Apply(); string fileName = "SavedTexture.png"; SaveTextureToFile(val, fileName); return val; } internal static void SaveTextureToFile(Texture2D texture, string fileName) { byte[] bytes = ImageConversion.EncodeToPNG(texture); string text = Path.Combine(Paths.BepInExRootPath, "plugins", fileName); try { File.WriteAllBytes(text, bytes); Log.Info("EliteRampGenerator: Texture de rampe sauvegardée dans: " + text); } catch (Exception ex) { Log.Error("EliteRampGenerator: Erreur lors de la sauvegarde de la texture de rampe: " + ex); } } public static Color32 LerpColor32(Color32 colorA, Color32 colorB, float t) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0043: 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_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) byte b = (byte)Mathf.Lerp((float)(int)colorA.r, (float)(int)colorB.r, t); byte b2 = (byte)Mathf.Lerp((float)(int)colorA.g, (float)(int)colorB.g, t); byte b3 = (byte)Mathf.Lerp((float)(int)colorA.b, (float)(int)colorB.b, t); byte b4 = (byte)Mathf.Lerp((float)(int)colorA.a, (float)(int)colorB.a, t); return new Color32(b, b2, b3, b4); } } public class EvangileEchecController : MonoBehaviour { private class ActiveBuffInfo { public BuffDef BuffDef; public float Timer; } public CharacterBody body; public bool IsCurrentlyRepairing = false; private const float RANDOM_BUFF_BASE_DURATION = 10f; private const float RANDOM_BUFF_STACK_DURATION_BONUS = 5f; private List<ActiveBuffInfo> _activeRandomBuffs = new List<ActiveBuffInfo>(); private bool _synergyBuffActiveThisStage = false; private const string BREAK_SOUND_EVENT_NAME = "Play_evangile_break"; private void Awake() { body = ((Component)this).GetComponent<CharacterBody>(); Log.Info("EvangileEchecController Awake for body: " + (Object.op_Implicit((Object)(object)body) ? body.GetUserName() : "NO BODY")); } private void OnEnable() { Log.Info("EvangileEchecController OnEnable for body: " + (Object.op_Implicit((Object)(object)body) ? body.GetUserName() : "NO BODY")); if (!HasAnyEchecItem()) { Log.Info("EvangileEchecController: No Echec items on OnEnable for " + (Object.op_Implicit((Object)(object)body) ? body.GetUserName() : "NO BODY") + ", destroying self if it wasn't already."); if (((Behaviour)this).enabled) { Object.Destroy((Object)(object)this); } return; } if ((Object)(object)body == (Object)null) { body = ((Component)this).GetComponent<CharacterBody>(); if ((Object)(object)body == (Object)null) { Log.Error("EvangileEchecController OnEnable: Body is null and GetComponent failed. Cannot subscribe to events."); return; } Log.Info("EvangileEchecController OnEnable: Body re-fetched for " + body.GetUserName() + "."); } Log.Info("EvangileEchecController: Subscribing to damage/death events for " + body.GetUserName() + " in OnEnable."); GlobalEventManager.onClientDamageNotified += GlobalEventManager_OnClientDamageNotified_EchecProc; GlobalEventManager.onCharacterDeathGlobal += GlobalEventManager_OnCharacterDeathGlobal_EchecSynergy; } private void OnDisable() { Log.Info("EvangileEchecController OnDisable for body: " + (Object.op_Implicit((Object)(object)body) ? body.GetUserName() : "NO BODY")); Log.Info("EvangileEchecController: Unsubscribing from damage/death events for " + (Object.op_Implicit((Object)(object)body) ? body.GetUserName() : "NO BODY (or already destroyed?)") + " in OnDisable."); GlobalEventManager.onClientDamageNotified -= GlobalEventManager_OnClientDamageNotified_EchecProc; GlobalEventManager.onCharacterDeathGlobal -= GlobalEventManager_OnCharacterDeathGlobal_EchecSynergy; } private void Start() { Log.Info("EvangileEchecController Start for body: " + (Object.op_Implicit((Object)(object)body) ? body.GetUserName() : "NO BODY")); if (!HasAnyEchecItem() && ((Behaviour)this).enabled) { Log.Info("EvangileEchecController: No Echec items on Start for " + (Object.op_Implicit((Object)(object)body) ? body.GetUserName() : "NO BODY") + ", ensuring destruction."); Object.Destroy((Object)(object)this); } } private void OnDestroy() { Log.Info("EvangileEchecController OnDestroy for body: " + (Object.op_Implicit((Object)(object)body) ? body.GetUserName() : "NO BODY (or already destroyed?)")); } private bool HasAnyEchecItem() { //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)body) && Object.op_Implicit((Object)(object)body.inventory)) { return body.inventory.GetItemCount(EvangileEchecItem.EvangileEchecDef.itemIndex) > 0 || body.inventory.GetItemCount(EvangileEchecItem.BrokenEvangileEchecDef.itemIndex) > 0; } return false; } private void FixedUpdate() { if (!NetworkServer.active && !body.hasEffectiveAuthority) { return; } for (int num = _activeRandomBuffs.Count - 1; num >= 0; num--) { ActiveBuffInfo activeBuffInfo = _activeRandomBuffs[num]; activeBuffInfo.Timer -= Time.fixedDeltaTime; if (activeBuffInfo.Timer <= 0f) { if (body.HasBuff(activeBuffInfo.BuffDef)) { body.RemoveBuff(activeBuffInfo.BuffDef); } _activeRandomBuffs.RemoveAt(num); } } } private void GlobalEventManager_OnClientDamageNotified_EchecProc(DamageDealtMessage damageDealtMessage) { //IL_00c3: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: Unknown result type (might be due to invalid IL or missing references) //IL_0101: Unknown result type (might be due to invalid IL or missing references) //IL_012e: Unknown result type (might be due to invalid IL or missing references) //IL_014a: Unknown result type (might be due to invalid IL or missing references) //IL_0160: Unknown result type (might be due to invalid IL or missing references) //IL_025b: Unknown result type (might be due to invalid IL or missing references) //IL_02bf: Unknown result type (might be due to invalid IL or missing references) //IL_02d9: 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_020f: Unknown result type (might be due to invalid IL or missing references) if (!NetworkServer.active || (Object)(object)damageDealtMessage.victim != (Object)(object)((Component)body).gameObject || (Object)(object)damageDealtMessage.attacker == (Object)(object)((Component)b