Decompiled source of Crystalide v1.0.5
plugins/Crystalide.dll
Decompiled a month ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.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