Decompiled source of ExtradimensionalItems v0.5.9
plugins/viliger-ExtradimensionalItems/ExtradimensionalItems.dll
Decompiled 2 months 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.InteropServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using System.Text.RegularExpressions; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using BepInEx.Logging; using EntityStates; using ExtradimensionalItems.Modules.Content; using ExtradimensionalItems.Modules.Effects; using ExtradimensionalItems.Modules.Equipment; using ExtradimensionalItems.Modules.Interactables; using ExtradimensionalItems.Modules.Items; using ExtradimensionalItems.Modules.Items.ItemBehaviors; using ExtradimensionalItems.Modules.SkillStates; using ExtradimensionalItems.Modules.UI; using HG; using HG.Reflection; using HarmonyLib; using IL.RoR2.UI; using KinematicCharacterController; using Mono.Cecil.Cil; using MonoMod.Cil; using On.RoR2; using On.RoR2.Items; using On.RoR2.UI; using R2API; using R2API.Networking; using R2API.Networking.Interfaces; using R2API.Utils; using RiskOfOptions; using RiskOfOptions.Components.Panel; using RiskOfOptions.OptionConfigs; using RiskOfOptions.Options; using RoR2; using RoR2.Artifacts; using RoR2.Audio; using RoR2.ExpansionManagement; using RoR2.Skills; using RoR2.UI; using ShrineOfRepair.Modules; using SimpleJSON; using TMPro; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.Bindings; using UnityEngine.Networking; using UnityEngine.Rendering; using UnityEngine.UI; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyTitle("ExtradimensionalItems")] [assembly: AssemblyProduct("ExtradimensionalItems")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: OptIn] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyCompany("ExtradimensionalItems")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace ExtradimensionalItems.Modules { public static class ExtensionMethods { public static void AddOrReplace(this Dictionary<CharacterBody, bool> dictionary, CharacterBody key, bool value) { if (dictionary.ContainsKey(key)) { dictionary[key] = value; } else { dictionary.Add(key, value); } } public static TimedBuff GetTimedBuff(this CharacterBody body, BuffDef buff, bool getLowest = false) { //IL_0015: Unknown result type (might be due to invalid IL or missing references) if (!NetworkServer.active) { MyLogger.LogWarning("[Server] extension function 'System.Void RoR2.CharacterBody::GetTimedBuff(RoR2.BuffDef, bool)' called on client"); return null; } return body.GetTimedBuff(buff.buffIndex, getLowest); } public static TimedBuff GetTimedBuff(this CharacterBody body, BuffIndex buff, bool getLowest = false) { //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) if (!NetworkServer.active) { MyLogger.LogWarning("[Server] extension function 'System.Void RoR2.CharacterBody::GetTimedBuff(RoR2.BuffIndex, bool)' called on client"); return null; } TimedBuff val = null; foreach (TimedBuff timedBuff in body.timedBuffs) { if (timedBuff.buffIndex == buff) { if (!getLowest) { return timedBuff; } if (val == null || val?.timer > timedBuff.timer) { val = timedBuff; } } } return val; } } [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInPlugin("com.Viliger.ExtradimensionalItems", "ExtradimensionalItems", "0.5.9")] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] public class ExtradimensionalItemsPlugin : BaseUnityPlugin { public static ConfigEntry<bool> ExtensiveLogging; public static PluginInfo PInfo; public const string BundleFolder = "Assets"; public const string SoundBanksFolder = "Soundbanks"; public const string LanguageFolder = "Languages"; public static Dictionary<string, string> ShaderLookup = new Dictionary<string, string> { { "Stubbed Hopoo Games/Deferred/Standard", "shaders/deferred/hgstandard" }, { "Hopoo Games/FX/Cloud Remap", "shaders/fx/hgcloudremap" }, { "Stubbed Hopoo Games/FX/Cloud Remap", "shaders/fx/hgcloudremap" } }; private void Awake() { ExtensiveLogging = ((BaseUnityPlugin)this).Config.Bind<bool>("Logging", "Enable extensive logging?", false, "Enables extensive logging, logs every major event related to new content. Might result in worse performance because it logs a lot."); MyLogger.Init(((BaseUnityPlugin)this).Logger); PInfo = ((BaseUnityPlugin)this).Info; foreach (Type item in from type in Assembly.GetExecutingAssembly().GetTypes() where !type.IsAbstract && type.IsSubclassOf(typeof(ItemBase)) select type) { ItemBase itemBase = (ItemBase)Activator.CreateInstance(item); if (ValidateItem(itemBase)) { itemBase.Init(((BaseUnityPlugin)this).Config); MyLogger.LogInfo("Item: " + itemBase.ItemLangTokenName + " loaded."); } } foreach (Type item2 in from type in Assembly.GetExecutingAssembly().GetTypes() where !type.IsAbstract && type.IsSubclassOf(typeof(EquipmentBase)) select type) { EquipmentBase equipmentBase = (EquipmentBase)Activator.CreateInstance(item2); if (ValidateEquipment(equipmentBase)) { equipmentBase.Init(((BaseUnityPlugin)this).Config); MyLogger.LogInfo("Equipment: " + equipmentBase.EquipmentLangTokenName + " loaded."); } } NetworkingAPI.RegisterMessageType<Chronoshift.ChronoshiftStartMovingOnClient>(); NetworkingAPI.RegisterMessageType<Chronoshift.ChronoshiftRestoreStateOnServer>(); NetworkingAPI.RegisterMessageType<DamageOnCooldowns.DamageOnCooldownsSendNumberBuffs>(); if (RiskOfOptionsCompat.enabled) { RiskOfOptionsCompat.SetDescription(); RiskOfOptionsCompat.SetIcon(); RiskOfOptionsCompat.CreateNewOption(ExtensiveLogging); } } public bool ValidateEquipment(EquipmentBase equipment) { return ((BaseUnityPlugin)this).Config.Bind<bool>("Equipment: " + equipment.EquipmentName, "Enable Equipment?", true, "Should this equipment appear in runs?").Value; } public bool ValidateItem(ItemBase item) { return ((BaseUnityPlugin)this).Config.Bind<bool>("Item: " + item.ItemName, "Enable item?", true, "Should this item appear in runs?").Value; } } public static class MyLogger { private static ManualLogSource logger; public static void Init(ManualLogSource log) { logger = log; } public static void LogWarning(object data) { logger.LogWarning(data); } public static void LogInfo(object data) { logger.LogInfo(data); } public static void LogError(object data) { logger.LogError(data); } public static void LogMessage(string data, params string[] args) { if (ExtradimensionalItemsPlugin.ExtensiveLogging.Value) { logger.LogMessage((object)string.Format(data, args)); } } } public static class RiskOfOptionsCompat { private static bool? _enabled; public static bool enabled { get { if (!_enabled.HasValue) { _enabled = Chainloader.PluginInfos.ContainsKey("com.rune580.riskofoptions"); } return _enabled.Value; } } [MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)] public static void AddDelegateOnModOptionsExit(Action action) { ModOptionPanelController.OnModOptionsExit = (Action)Delegate.Combine(ModOptionPanelController.OnModOptionsExit, action); } [MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)] public static void SetDescription() { ModSettingsManager.SetModDescription("Items from different worlds.", "com.Viliger.ExtradimensionalItems", "ExtradimensionalItems"); } [MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)] public static void SetIcon() { ModSettingsManager.SetModIcon(AssetBundle.LoadFromFile(Path.Combine(Path.GetDirectoryName(ExtradimensionalItemsPlugin.PInfo.Location), "Assets", "config")).LoadAsset<Sprite>("ModIcon.png"), "com.Viliger.ExtradimensionalItems", "ExtradimensionalItems"); } [MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)] public static void CreateNewOption(ConfigEntry<float> entry, bool restartRequired = false) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Expected O, but got Unknown ModSettingsManager.AddOption((BaseOption)new StepSliderOption(entry, new StepSliderConfig { restartRequired = restartRequired })); } [MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)] public static void CreateNewOption(ConfigEntry<float> entry, float min, float max, float increment = 1f, bool restartRequired = false) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Expected O, but got Unknown //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Expected O, but got Unknown ModSettingsManager.AddOption((BaseOption)new StepSliderOption(entry, new StepSliderConfig { min = min, max = max, increment = increment, restartRequired = restartRequired })); } [MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)] public static void CreateNewOption(ConfigEntry<bool> entry, bool restartRequired = false) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Expected O, but got Unknown ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(entry, new CheckBoxConfig { restartRequired = restartRequired })); } [MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)] public static void CreateNewOption(ConfigEntry<int> entry, int min = 0, int max = 200, bool restartRequired = false) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Expected O, but got Unknown //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Expected O, but got Unknown ModSettingsManager.AddOption((BaseOption)new IntSliderOption(entry, new IntSliderConfig { min = min, max = max, restartRequired = restartRequired })); } [MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)] public static void CreateNewOption(ConfigEntry<RoyalGuard.ItemType> entry, bool restartRequired = false) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Expected O, but got Unknown ModSettingsManager.AddOption((BaseOption)new ChoiceOption((ConfigEntryBase)(object)entry, new ChoiceConfig { restartRequired = restartRequired })); } } public static class ShrineOfRepairCompat { private static bool? _enabled; public static bool enabled { get { if (!_enabled.HasValue) { _enabled = Chainloader.PluginInfos.ContainsKey("com.Viliger.ShrineOfRepair"); } return _enabled.Value; } } [MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)] public static void AddListenerToFillDictionary() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Expected O, but got Unknown ModExtension.AddItemsListener(new DictionaryFillItemsDelegate(AddFuelCellDepletedToRepairList)); } [MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)] public static void AddFuelCellDepletedToRepairList() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) ModExtension.AddItemsToList(ExtradimensionalItems.Modules.Content.Items.FuelCellDepleted.itemIndex, Items.EquipmentMagazine.itemIndex, "ExtradimensionalItems"); } } public static class Utils { public static bool RegisterNetworkSound(string eventName) { NetworkSoundEventDef obj = ScriptableObject.CreateInstance<NetworkSoundEventDef>(); ((Object)obj).name = eventName; obj.eventName = eventName; return ContentAddition.AddNetworkSoundEventDef(obj); } public static void ShaderConversion(AssetBundle assets) { assets.LoadAllAssets<Material>(); foreach (Material item in from material in assets.LoadAllAssets<Material>() where ((Object)material.shader).name.Contains("Hopoo Games") select material) { Shader val = LegacyResourcesAPI.Load<Shader>(ExtradimensionalItemsPlugin.ShaderLookup[((Object)item.shader).name]); if (Object.op_Implicit((Object)(object)val)) { item.shader = val; } } } public static RendererInfo[] ItemDisplaySetup(GameObject obj) { //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) List<Renderer> list = new List<Renderer>(); MeshRenderer[] componentsInChildren = obj.GetComponentsInChildren<MeshRenderer>(); if (componentsInChildren.Length != 0) { list.AddRange((IEnumerable<Renderer>)(object)componentsInChildren); } SkinnedMeshRenderer[] componentsInChildren2 = obj.GetComponentsInChildren<SkinnedMeshRenderer>(); if (componentsInChildren2.Length != 0) { list.AddRange((IEnumerable<Renderer>)(object)componentsInChildren2); } RendererInfo[] array = (RendererInfo[])(object)new RendererInfo[list.Count]; for (int i = 0; i < list.Count; i++) { array[i] = new RendererInfo { defaultMaterial = ((list[i] is SkinnedMeshRenderer) ? list[i].sharedMaterial : list[i].material), renderer = list[i], defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false }; } return array; } [ConCommand(/*Could not decode attribute arguments.*/)] private static void CCGiveItemAI(ConCommandArgs args) { //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0057: 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_005a: Invalid comparison between Unknown and I4 //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: 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) if (((ConCommandArgs)(ref args)).Count == 0) { Debug.Log((object)"No parameters specified. Requires 2 arguments: {item} [count:1]"); return; } int result = 1; if (((ConCommandArgs)(ref args)).Count >= 2 && ((ConCommandArgs)(ref args))[1] != "") { result = ((!int.TryParse(((ConCommandArgs)(ref args))[1], out result)) ? 1 : result); } ItemIndex itemFromPartial = GetItemFromPartial(((ConCommandArgs)(ref args))[0]); if ((int)itemFromPartial != -1) { if (RunArtifactManager.instance.IsArtifactEnabled(Artifacts.monsterTeamGainsItemsArtifactDef) && Object.op_Implicit((Object)(object)MonsterTeamGainsItemsArtifactManager.monsterTeamInventory)) { MonsterTeamGainsItemsArtifactManager.monsterTeamInventory.GiveItem(itemFromPartial, result); Debug.Log((object)$"Gave {result} {itemFromPartial} to AIs"); } else if ((Object)(object)SceneCatalog.GetSceneDefForCurrentScene() == (Object)(object)SceneCatalog.GetSceneDefFromSceneName("arena") && Object.op_Implicit((Object)(object)ArenaMissionController.instance) && Object.op_Implicit((Object)(object)ArenaMissionController.instance.inventory)) { ArenaMissionController.instance.inventory.GiveItem(itemFromPartial, result); Debug.Log((object)$"Gave {result} {itemFromPartial} to AIs"); } else { Debug.Log((object)"Only works when Artifact of Evolution is enabled or if players are in Void Fields."); } } else { Debug.Log((object)$"Item {((ConCommandArgs)(ref args))[0]} is not found."); } } [ConCommand(/*Could not decode attribute arguments.*/)] private static void CCGiveAllEDItems(ConCommandArgs args) { int result = 1; if (((ConCommandArgs)(ref args)).Count >= 1) { result = ((!int.TryParse(((ConCommandArgs)(ref args))[0], out result)) ? 1 : result); } CharacterMaster senderMaster = ((ConCommandArgs)(ref args)).senderMaster; if ((Object)(object)senderMaster == (Object)null) { Debug.Log((object)"Couldn't find target to add items to."); } Inventory inventory = senderMaster.inventory; if ((Object)(object)inventory == (Object)null) { Debug.Log((object)"Target has no inventory."); } inventory.GiveItem(ExtradimensionalItems.Modules.Content.Items.Atma, result); inventory.GiveItem(ExtradimensionalItems.Modules.Content.Items.DamageOnPing, result); inventory.GiveItem(ExtradimensionalItems.Modules.Content.Items.DamageOnCooldowns, result); inventory.GiveItem(ExtradimensionalItems.Modules.Content.Items.RoyalGuard, result); inventory.GiveItem(ExtradimensionalItems.Modules.Content.Items.FuelCellDepleted, result); inventory.GiveItem(ExtradimensionalItems.Modules.Content.Items.ReturnalAdrenaline, result); inventory.GiveItem(ExtradimensionalItems.Modules.Content.Items.Sheen, result); inventory.GiveItem(ExtradimensionalItems.Modules.Content.Items.VoidCooldownReduction, result); Debug.Log((object)$"Gave {result} of all Extradimensional items."); } private static ItemIndex GetItemFromPartial(string name) { //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) if (Enum.TryParse<ItemIndex>(name, ignoreCase: true, out ItemIndex result) && ItemCatalog.IsIndexValid(ref result)) { return result; } ItemDef[] fieldValue = Reflection.GetFieldValue<ItemDef[]>(typeof(ItemCatalog), "itemDefs"); foreach (ItemDef val in fieldValue) { string langInvar = GetLangInvar(val.nameToken.ToUpper()); if (((Object)val).name.ToUpper().Contains(name.ToUpper()) || langInvar.ToUpper().Contains(name.ToUpper()) || langInvar.ToUpper().Contains(RemoveSpacesAndAlike(name.ToUpper()))) { return val.itemIndex; } } return (ItemIndex)(-1); } private static string GetLangInvar(string baseToken) { return RemoveSpacesAndAlike(Language.GetString(baseToken)); } private static string RemoveSpacesAndAlike(string input) { return Regex.Replace(input, "[ '-]", string.Empty); } } } namespace ExtradimensionalItems.Modules.UI { public class ReturnalAdrenalineUI : MonoBehaviour { private static List<ReturnalAdrenalineUI> instancesList = new List<ReturnalAdrenalineUI>(); private HGTextMeshProUGUI textMesh; private Image levelBar; private HUD hud; private void Update() { if (Object.op_Implicit((Object)(object)hud) && Object.op_Implicit((Object)(object)hud.targetMaster)) { ReturnalAdrenalineItemBehavior component = ((Component)hud.targetMaster).GetComponent<ReturnalAdrenalineItemBehavior>(); if (Object.op_Implicit((Object)(object)component) && hud.targetMaster.inventory.GetItemCount(ExtradimensionalItems.Modules.Content.Items.ReturnalAdrenaline) > 0) { UpdateUI(component.adrenalineLevel, component.adrenalinePerLevel); } } } private void OnDestroy() { if (instancesList != null) { instancesList.Remove(this); } } private void UpdateUI(int adrenalineLevel, float adrenalinePerLevel) { if (Object.op_Implicit((Object)(object)textMesh)) { ((TMP_Text)textMesh).SetText(string.Format(Language.GetString("ITEM_RETURNAL_ADRENALINE_LEVEL"), (int)((float)adrenalineLevel / adrenalinePerLevel)), true); } if (Object.op_Implicit((Object)(object)levelBar)) { if ((float)adrenalineLevel >= adrenalinePerLevel * 5f) { levelBar.fillAmount = 1f; } else { levelBar.fillAmount = Mathf.Clamp((float)adrenalineLevel % adrenalinePerLevel / adrenalinePerLevel, 0f, 1f); } } } public static void CreateUI(HUD HUD) { //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Expected O, but got Unknown //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00ea: 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_0118: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Unknown result type (might be due to invalid IL or missing references) //IL_012c: 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_014c: Unknown result type (might be due to invalid IL or missing references) //IL_0157: Unknown result type (might be due to invalid IL or missing references) //IL_0162: Unknown result type (might be due to invalid IL or missing references) //IL_016d: Unknown result type (might be due to invalid IL or missing references) //IL_0182: Unknown result type (might be due to invalid IL or missing references) //IL_0197: Unknown result type (might be due to invalid IL or missing references) //IL_01b1: Unknown result type (might be due to invalid IL or missing references) //IL_01d1: Unknown result type (might be due to invalid IL or missing references) //IL_01d6: Unknown result type (might be due to invalid IL or missing references) //IL_01fd: Unknown result type (might be due to invalid IL or missing references) //IL_0202: Unknown result type (might be due to invalid IL or missing references) //IL_020a: Unknown result type (might be due to invalid IL or missing references) //IL_0227: Unknown result type (might be due to invalid IL or missing references) //IL_023d: Unknown result type (might be due to invalid IL or missing references) //IL_0253: Unknown result type (might be due to invalid IL or missing references) //IL_026e: Unknown result type (might be due to invalid IL or missing references) //IL_027a: Unknown result type (might be due to invalid IL or missing references) //IL_0290: 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_02be: Unknown result type (might be due to invalid IL or missing references) //IL_02c3: Unknown result type (might be due to invalid IL or missing references) //IL_02d3: Unknown result type (might be due to invalid IL or missing references) Image val = default(Image); if (Object.op_Implicit((Object)(object)HUD) && Object.op_Implicit((Object)(object)HUD.healthBar) && Object.op_Implicit((Object)(object)HUD.itemInventoryDisplay) && ((Component)HUD.itemInventoryDisplay).gameObject.TryGetComponent<Image>(ref val)) { GameObject val2 = new GameObject("AdrenalineHUD"); ReturnalAdrenalineUI returnalAdrenalineUI = val2.AddComponent<ReturnalAdrenalineUI>(); RectTransform obj = val2.AddComponent<RectTransform>(); val2.transform.SetParent(((Component)HUD.healthBar).transform); Image obj2 = val2.AddComponent<Image>(); obj2.sprite = val.sprite; ((Graphic)obj2).color = ((Graphic)val).color; obj2.type = (Type)1; ((Transform)obj).localPosition = Vector3.zero; obj.anchorMin = new Vector2(0f, 0f); obj.anchorMax = new Vector2(0f, 0f); ((Transform)obj).localScale = Vector3.one; obj.pivot = new Vector2(0f, 1f); obj.sizeDelta = new Vector2(421f, 15f); obj.anchoredPosition = new Vector2(-1f, -5f); ((Transform)obj).eulerAngles = new Vector3(0f, -6f, 0f); GameObject val3 = new GameObject("AdrenalineLevelText"); RectTransform val4 = val3.AddComponent<RectTransform>(); HGTextMeshProUGUI val5 = val3.AddComponent<HGTextMeshProUGUI>(); val3.transform.SetParent(val2.transform); ((Transform)val4).localPosition = Vector3.zero; val4.anchorMin = Vector2.zero; val4.anchorMax = Vector2.one; ((Transform)val4).localScale = Vector3.one; val4.sizeDelta = new Vector2(0f, 0f); val4.anchoredPosition = new Vector2(380f, 0f); ((Transform)val4).eulerAngles = new Vector3(0f, -6f, 0f); ((TMP_Text)val5).enableAutoSizing = true; ((TMP_Text)val5).fontSizeMax = 256f; ((TMP_Text)val5).faceColor = Color32.op_Implicit(Color.white); ((TMP_Text)val5).alignment = (TextAlignmentOptions)4097; ((TMP_Text)val5).text = "Testing"; GameObject val6 = new GameObject("AdrenalineLevelBar"); RectTransform val7 = val6.AddComponent<RectTransform>(); val6.transform.SetParent(val2.transform); val7.anchorMin = new Vector2(0f, 1f); val7.anchorMax = new Vector2(0f, 1f); val7.pivot = new Vector2(0f, 1f); ((Transform)val7).eulerAngles = new Vector3(0f, -6f, 0f); ((Transform)val7).localScale = Vector3.one; val7.anchoredPosition = new Vector2(12f, 2f); val7.sizeDelta = new Vector2(360f, 8f); Image val8 = val6.AddComponent<Image>(); val8.sprite = Addressables.LoadAssetAsync<Sprite>((object)"RoR2/Base/UI/texUINonsegmentedHealthbar.png").WaitForCompletion(); ((Graphic)val8).color = Color.yellow; val8.type = (Type)3; val8.fillMethod = (FillMethod)0; val8.fillOrigin = 0; val8.fillAmount = 0.5f; returnalAdrenalineUI.hud = HUD; returnalAdrenalineUI.textMesh = val5; returnalAdrenalineUI.levelBar = val8; val2.gameObject.SetActive(false); instancesList.Add(returnalAdrenalineUI); } } public static ReturnalAdrenalineUI FindInstance(CharacterMaster master) { foreach (ReturnalAdrenalineUI instances in instancesList) { if ((Object)(object)instances.hud.targetMaster == (Object)(object)master) { return instances; } } return null; } public void Enable() { if (Object.op_Implicit((Object)(object)((Component)this).gameObject)) { ((Component)this).gameObject.SetActive(true); } } public void Disable() { if (Object.op_Implicit((Object)(object)((Component)this).gameObject)) { ((Component)this).gameObject.SetActive(false); } } } } namespace ExtradimensionalItems.Modules.SkillStates { public class Explode : BaseSkillState { public override void OnEnter() { ((BaseState)this).OnEnter(); ExplodeNow(); } public override void FixedUpdate() { ((EntityState)this).FixedUpdate(); if (!((EntityState)this).characterBody.HasBuff(Buffs.RoyalGuardDamage)) { ((EntityState)this).outer.SetNextStateToMain(); MyLogger.LogMessage("Player {0}({1}) has left parry state because they don't have damage buff after using Release.", ((EntityState)this).characterBody.GetUserName(), ((Object)((EntityState)this).characterBody).name); } } private void ExplodeNow() { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: Expected O, but got Unknown //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_0116: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Expected O, but got Unknown //IL_0123: Unknown result type (might be due to invalid IL or missing references) if (((EntityState)this).characterBody.HasBuff(Buffs.RoyalGuardDamage)) { BlastAttack val = new BlastAttack { radius = RoyalGuard.DamageRadius.Value, procCoefficient = 2f, position = ((EntityState)this).characterBody.corePosition, attacker = ((Component)((EntityState)this).characterBody).gameObject, crit = ((BaseState)this).RollCrit(), baseDamage = ((EntityState)this).characterBody.baseDamage * (float)((EntityState)this).characterBody.GetBuffCount(Buffs.RoyalGuardDamage) * (RoyalGuard.DamageModifier.Value / 100f), falloffModel = (FalloffModel)2, baseForce = 1f, teamIndex = TeamComponent.GetObjectTeam(((Component)((EntityState)this).characterBody).gameObject), damageType = DamageTypeCombo.op_Implicit((DamageType)131072), attackerFiltering = (AttackerFiltering)2 }; val.Fire(); ((EntityState)this).characterBody.SetBuffCount(Buffs.RoyalGuardDamage.buffIndex, 0); if (((EntityState)this).characterBody.HasBuff(Buffs.RoyalGuardParryState)) { ((EntityState)this).characterBody.RemoveOldestTimedBuff(Buffs.RoyalGuardParryState); } EffectData val2 = new EffectData(); val2.origin = ((EntityState)this).characterBody.footPosition; val2.scale = 10f; EffectManager.SpawnEffect(RoyalGuard.RoyalGuardExplodeEffectInstance, val2, true); MyLogger.LogMessage("Player {0}({1}) used Release, dealing to everyone around {2} damage.", ((EntityState)this).characterBody.GetUserName(), ((Object)((EntityState)this).characterBody).name, val.baseDamage.ToString()); } } } public class Parry : BaseSkillState { private float duration; private bool buffAdded; public override void OnEnter() { ((BaseState)this).OnEnter(); duration = RoyalGuard.GetParryStateDuration(((EntityState)this).characterBody); if (NetworkServer.active) { ((EntityState)this).characterBody.AddTimedBuff(Buffs.RoyalGuardParryState, duration); MyLogger.LogMessage("Player {0}({1}) entered parry state for {2} seconds.", ((EntityState)this).characterBody.GetUserName(), ((Object)((EntityState)this).characterBody).name, duration.ToString()); } if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterBody.skillLocator) && ((EntityState)this).characterBody.HasBuff(Buffs.RoyalGuardDamage)) { ((EntityState)this).characterBody.skillLocator.primary.SetSkillOverride((object)((EntityState)this).characterBody, Skills.Explode, (SkillOverridePriority)3); } } public override void OnExit() { if (NetworkServer.active && ((EntityState)this).characterBody.HasBuff(Buffs.RoyalGuardParryState)) { ((EntityState)this).characterBody.RemoveOldestTimedBuff(Buffs.RoyalGuardParryState); } if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterBody.skillLocator)) { ((EntityState)this).characterBody.skillLocator.primary.UnsetSkillOverride((object)((EntityState)this).characterBody, Skills.Explode, (SkillOverridePriority)3); } ((EntityState)this).OnExit(); } public override void FixedUpdate() { ((EntityState)this).FixedUpdate(); if (((EntityState)this).characterBody.HasBuff(Buffs.RoyalGuardParryState)) { buffAdded = true; } if (((EntityState)this).fixedAge >= duration && ((EntityState)this).isAuthority) { ((EntityState)this).outer.SetNextStateToMain(); MyLogger.LogMessage("Player {0}({1}) has left parry state due to timeout without being damaged.", ((EntityState)this).characterBody.GetUserName(), ((Object)((EntityState)this).characterBody).name); } if (buffAdded && !((EntityState)this).characterBody.HasBuff(Buffs.RoyalGuardParryState) && ((EntityState)this).isAuthority) { ((EntityState)this).outer.SetNextStateToMain(); MyLogger.LogMessage("Player {0}({1}) has left parry state because they don't have parry state buff after being damaged.", ((EntityState)this).characterBody.GetUserName(), ((Object)((EntityState)this).characterBody).name); } } public override void Update() { ((EntityState)this).Update(); if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).inputBank) && ((EntityState)this).characterBody.HasBuff(Buffs.RoyalGuardDamage) && ((ButtonState)(ref ((EntityState)this).inputBank.skill1)).justPressed) { ((EntityState)this).skillLocator.primary.ExecuteIfReady(); } } public override InterruptPriority GetMinimumInterruptPriority() { return (InterruptPriority)2; } } } namespace ExtradimensionalItems.Modules.NetworkAttachments { public class ChronoshiftController : NetworkBehaviour { public enum ChronoshiftState { Saving, Moving, Restoring } private static readonly List<ChronoshiftController> instancesList; private NetworkedBodyAttachment networkedBodyAttachment; private SyncList<int> syncList; public static ChronoshiftController FindChronoshiftController(GameObject body) { if (!Object.op_Implicit((Object)(object)body)) { return null; } foreach (ChronoshiftController instances in instancesList) { if ((Object)(object)instances.networkedBodyAttachment.attachedBodyObject == (Object)(object)body) { return instances; } } return null; } private void Awake() { networkedBodyAttachment = ((Component)this).GetComponent<NetworkedBodyAttachment>(); } private void OnEnabled() { instancesList.Add(this); } private void OnDisable() { instancesList.Remove(this); } private void UNetVersion() { } public override bool OnSerialize(NetworkWriter writer, bool forceAll) { bool result = default(bool); return result; } public override void OnDeserialize(NetworkReader reader, bool initialState) { } } } namespace ExtradimensionalItems.Modules.Items { public class Atma : ItemBase<Atma> { public static ConfigEntry<float> HealthPerLevel; public static ConfigEntry<float> PerStackScaling; public override string ItemName => "AtmasImpaler"; public override string ItemLangTokenName => "ATMAS_IMPALER"; public override ItemTier Tier => (ItemTier)1; public override string BundleName => "atma"; public override ItemTag[] ItemTags => (ItemTag[])(object)new ItemTag[1] { (ItemTag)1 }; public override GameObject ItemModel => AssetBundle.LoadAsset<GameObject>("atma"); public override Sprite ItemIcon => AssetBundle.LoadAsset<Sprite>("texAtmaIcon"); public override ItemDisplayRuleDict CreateItemDisplayRules() { //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Expected O, but got Unknown //IL_0044: 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_0077: 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_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00db: 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) //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_0120: Unknown result type (might be due to invalid IL or missing references) //IL_0125: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) //IL_0140: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_0146: 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_0169: Unknown result type (might be due to invalid IL or missing references) //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_0198: Unknown result type (might be due to invalid IL or missing references) //IL_01ae: Unknown result type (might be due to invalid IL or missing references) //IL_01b3: Unknown result type (might be due to invalid IL or missing references) //IL_01c9: Unknown result type (might be due to invalid IL or missing references) //IL_01ce: Unknown result type (might be due to invalid IL or missing references) //IL_01d3: Unknown result type (might be due to invalid IL or missing references) //IL_01d4: Unknown result type (might be due to invalid IL or missing references) //IL_01ee: Unknown result type (might be due to invalid IL or missing references) //IL_01f7: Unknown result type (might be due to invalid IL or missing references) //IL_0221: Unknown result type (might be due to invalid IL or missing references) //IL_0226: Unknown result type (might be due to invalid IL or missing references) //IL_023c: Unknown result type (might be due to invalid IL or missing references) //IL_0241: Unknown result type (might be due to invalid IL or missing references) //IL_0257: Unknown result type (might be due to invalid IL or missing references) //IL_025c: Unknown result type (might be due to invalid IL or missing references) //IL_0261: Unknown result type (might be due to invalid IL or missing references) //IL_0262: Unknown result type (might be due to invalid IL or missing references) //IL_027c: 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_02af: Unknown result type (might be due to invalid IL or missing references) //IL_02b4: Unknown result type (might be due to invalid IL or missing references) //IL_02ca: Unknown result type (might be due to invalid IL or missing references) //IL_02cf: Unknown result type (might be due to invalid IL or missing references) //IL_02e5: Unknown result type (might be due to invalid IL or missing references) //IL_02ea: Unknown result type (might be due to invalid IL or missing references) //IL_02ef: Unknown result type (might be due to invalid IL or missing references) //IL_02f0: Unknown result type (might be due to invalid IL or missing references) //IL_030a: Unknown result type (might be due to invalid IL or missing references) //IL_0313: Unknown result type (might be due to invalid IL or missing references) //IL_033d: Unknown result type (might be due to invalid IL or missing references) //IL_0342: Unknown result type (might be due to invalid IL or missing references) //IL_0358: Unknown result type (might be due to invalid IL or missing references) //IL_035d: Unknown result type (might be due to invalid IL or missing references) //IL_0373: Unknown result type (might be due to invalid IL or missing references) //IL_0378: Unknown result type (might be due to invalid IL or missing references) //IL_037d: Unknown result type (might be due to invalid IL or missing references) //IL_037e: Unknown result type (might be due to invalid IL or missing references) //IL_0398: Unknown result type (might be due to invalid IL or missing references) //IL_03a1: Unknown result type (might be due to invalid IL or missing references) //IL_03cb: Unknown result type (might be due to invalid IL or missing references) //IL_03d0: Unknown result type (might be due to invalid IL or missing references) //IL_03e6: Unknown result type (might be due to invalid IL or missing references) //IL_03eb: Unknown result type (might be due to invalid IL or missing references) //IL_0401: 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_040b: 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_0426: Unknown result type (might be due to invalid IL or missing references) //IL_042f: 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_049a: Unknown result type (might be due to invalid IL or missing references) //IL_04b4: Unknown result type (might be due to invalid IL or missing references) //IL_04bd: Unknown result type (might be due to invalid IL or missing references) //IL_04e7: Unknown result type (might be due to invalid IL or missing references) //IL_04ec: Unknown result type (might be due to invalid IL or missing references) //IL_0502: Unknown result type (might be due to invalid IL or missing references) //IL_0507: Unknown result type (might be due to invalid IL or missing references) //IL_051d: Unknown result type (might be due to invalid IL or missing references) //IL_0522: Unknown result type (might be due to invalid IL or missing references) //IL_0527: Unknown result type (might be due to invalid IL or missing references) //IL_0528: Unknown result type (might be due to invalid IL or missing references) //IL_0542: Unknown result type (might be due to invalid IL or missing references) //IL_054b: Unknown result type (might be due to invalid IL or missing references) //IL_0575: Unknown result type (might be due to invalid IL or missing references) //IL_057a: Unknown result type (might be due to invalid IL or missing references) //IL_0590: Unknown result type (might be due to invalid IL or missing references) //IL_0595: Unknown result type (might be due to invalid IL or missing references) //IL_05ab: Unknown result type (might be due to invalid IL or missing references) //IL_05b0: Unknown result type (might be due to invalid IL or missing references) //IL_05b5: Unknown result type (might be due to invalid IL or missing references) //IL_05b6: Unknown result type (might be due to invalid IL or missing references) //IL_05d0: Unknown result type (might be due to invalid IL or missing references) //IL_05d9: Unknown result type (might be due to invalid IL or missing references) //IL_0603: Unknown result type (might be due to invalid IL or missing references) //IL_0608: Unknown result type (might be due to invalid IL or missing references) //IL_061e: Unknown result type (might be due to invalid IL or missing references) //IL_0623: Unknown result type (might be due to invalid IL or missing references) //IL_0639: Unknown result type (might be due to invalid IL or missing references) //IL_063e: Unknown result type (might be due to invalid IL or missing references) //IL_0643: Unknown result type (might be due to invalid IL or missing references) //IL_0644: Unknown result type (might be due to invalid IL or missing references) //IL_065e: 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_0691: Unknown result type (might be due to invalid IL or missing references) //IL_0696: Unknown result type (might be due to invalid IL or missing references) //IL_06ac: Unknown result type (might be due to invalid IL or missing references) //IL_06b1: Unknown result type (might be due to invalid IL or missing references) //IL_06c7: Unknown result type (might be due to invalid IL or missing references) //IL_06cc: Unknown result type (might be due to invalid IL or missing references) //IL_06d1: Unknown result type (might be due to invalid IL or missing references) //IL_06d2: Unknown result type (might be due to invalid IL or missing references) //IL_06ec: Unknown result type (might be due to invalid IL or missing references) //IL_06f5: Unknown result type (might be due to invalid IL or missing references) //IL_071f: Unknown result type (might be due to invalid IL or missing references) //IL_0724: Unknown result type (might be due to invalid IL or missing references) //IL_073a: Unknown result type (might be due to invalid IL or missing references) //IL_073f: Unknown result type (might be due to invalid IL or missing references) //IL_0755: Unknown result type (might be due to invalid IL or missing references) //IL_075a: Unknown result type (might be due to invalid IL or missing references) //IL_075f: Unknown result type (might be due to invalid IL or missing references) //IL_0760: Unknown result type (might be due to invalid IL or missing references) //IL_077a: Unknown result type (might be due to invalid IL or missing references) //IL_0783: Unknown result type (might be due to invalid IL or missing references) //IL_07ad: Unknown result type (might be due to invalid IL or missing references) //IL_07b2: Unknown result type (might be due to invalid IL or missing references) //IL_07c8: Unknown result type (might be due to invalid IL or missing references) //IL_07cd: Unknown result type (might be due to invalid IL or missing references) //IL_07e3: Unknown result type (might be due to invalid IL or missing references) //IL_07e8: Unknown result type (might be due to invalid IL or missing references) //IL_07ed: Unknown result type (might be due to invalid IL or missing references) //IL_07ee: Unknown result type (might be due to invalid IL or missing references) //IL_0808: Unknown result type (might be due to invalid IL or missing references) //IL_0811: Unknown result type (might be due to invalid IL or missing references) //IL_083b: Unknown result type (might be due to invalid IL or missing references) //IL_0840: Unknown result type (might be due to invalid IL or missing references) //IL_0856: Unknown result type (might be due to invalid IL or missing references) //IL_085b: Unknown result type (might be due to invalid IL or missing references) //IL_0871: Unknown result type (might be due to invalid IL or missing references) //IL_0876: Unknown result type (might be due to invalid IL or missing references) //IL_087b: Unknown result type (might be due to invalid IL or missing references) //IL_087c: Unknown result type (might be due to invalid IL or missing references) //IL_0896: Unknown result type (might be due to invalid IL or missing references) //IL_089f: Unknown result type (might be due to invalid IL or missing references) //IL_08c9: Unknown result type (might be due to invalid IL or missing references) //IL_08ce: Unknown result type (might be due to invalid IL or missing references) //IL_08e4: Unknown result type (might be due to invalid IL or missing references) //IL_08e9: 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_0904: Unknown result type (might be due to invalid IL or missing references) //IL_0909: Unknown result type (might be due to invalid IL or missing references) //IL_090a: Unknown result type (might be due to invalid IL or missing references) //IL_0924: Unknown result type (might be due to invalid IL or missing references) //IL_092d: Unknown result type (might be due to invalid IL or missing references) //IL_0957: Unknown result type (might be due to invalid IL or missing references) //IL_095c: Unknown result type (might be due to invalid IL or missing references) //IL_0972: Unknown result type (might be due to invalid IL or missing references) //IL_0977: Unknown result type (might be due to invalid IL or missing references) //IL_098d: Unknown result type (might be due to invalid IL or missing references) //IL_0992: Unknown result type (might be due to invalid IL or missing references) //IL_0997: Unknown result type (might be due to invalid IL or missing references) //IL_0998: Unknown result type (might be due to invalid IL or missing references) //IL_09b2: 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_09e5: Unknown result type (might be due to invalid IL or missing references) //IL_09ea: Unknown result type (might be due to invalid IL or missing references) //IL_0a00: Unknown result type (might be due to invalid IL or missing references) //IL_0a05: Unknown result type (might be due to invalid IL or missing references) //IL_0a1b: Unknown result type (might be due to invalid IL or missing references) //IL_0a20: Unknown result type (might be due to invalid IL or missing references) //IL_0a25: Unknown result type (might be due to invalid IL or missing references) //IL_0a26: Unknown result type (might be due to invalid IL or missing references) //IL_0a40: Unknown result type (might be due to invalid IL or missing references) //IL_0a49: Unknown result type (might be due to invalid IL or missing references) //IL_0a73: Unknown result type (might be due to invalid IL or missing references) //IL_0a78: Unknown result type (might be due to invalid IL or missing references) //IL_0a8e: Unknown result type (might be due to invalid IL or missing references) //IL_0a93: Unknown result type (might be due to invalid IL or missing references) //IL_0aa9: Unknown result type (might be due to invalid IL or missing references) //IL_0aae: Unknown result type (might be due to invalid IL or missing references) //IL_0ab3: Unknown result type (might be due to invalid IL or missing references) //IL_0ab4: Unknown result type (might be due to invalid IL or missing references) //IL_0ace: Unknown result type (might be due to invalid IL or missing references) //IL_0ad7: Unknown result type (might be due to invalid IL or missing references) //IL_0b01: Unknown result type (might be due to invalid IL or missing references) //IL_0b06: Unknown result type (might be due to invalid IL or missing references) //IL_0b1c: 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_0b37: Unknown result type (might be due to invalid IL or missing references) //IL_0b3c: Unknown result type (might be due to invalid IL or missing references) //IL_0b41: Unknown result type (might be due to invalid IL or missing references) //IL_0b42: Unknown result type (might be due to invalid IL or missing references) GameObject val = AssetBundle.LoadAsset<GameObject>("atma"); val.AddComponent<ItemDisplay>(); val.GetComponent<ItemDisplay>().rendererInfos = Utils.ItemDisplaySetup(val); ItemDisplayRuleDict val2 = new ItemDisplayRuleDict(Array.Empty<ItemDisplayRule>()); val2.Add("mdlCommandoDualies", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "Chest", localPos = new Vector3(0.05931f, 0.11769f, -0.21938f), localAngles = new Vector3(23.27695f, 5.91633f, 22.06631f), localScale = new Vector3(2.11112f, 2.11112f, 2.11112f) } }); val2.Add("mdlHuntress", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "Chest", localPos = new Vector3(-0.00121f, -0.01595f, -0.11217f), localAngles = new Vector3(9.08415f, 326.9416f, 324.1578f), localScale = new Vector3(2.18992f, 2.18992f, 2.18992f) } }); val2.Add("mdlToolbot", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "LowerArmR", localPos = new Vector3(0.53324f, 2.89081f, 0.01006f), localAngles = new Vector3(20.63849f, 243.5134f, 358.9025f), localScale = new Vector3(18.88126f, 18.88126f, 18.88126f) } }); val2.Add("mdlEngi", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "Chest", localPos = new Vector3(-0.03588f, 0.0123f, -0.2605f), localAngles = new Vector3(19.14014f, 357.4113f, 346.8241f), localScale = new Vector3(2.76281f, 2.76281f, 2.76281f) } }); val2.Add("mdlMage", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "Chest", localPos = new Vector3(-0.03411f, -0.30607f, -0.12951f), localAngles = new Vector3(9.03134f, 359.823f, 356.4779f), localScale = new Vector3(2.64689f, 2.64689f, 2.64689f) } }); val2.Add("mdlMerc", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "HandR", localPos = new Vector3(-0.25078f, 0.078f, 0.04389f), localAngles = new Vector3(337.2337f, 332.8286f, 305.9801f), localScale = new Vector3(3.25417f, 3.25417f, 3.25417f) } }); val2.Add("mdlTreebot", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "FlowerBase", localPos = new Vector3(-0.10445f, -0.35228f, -0.6879f), localAngles = new Vector3(28.78763f, 36.88558f, 97.3734f), localScale = new Vector3(3.71836f, 3.71836f, 3.71836f) } }); val2.Add("mdlLoader", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "MechHandR", localPos = new Vector3(0.0391f, -0.27704f, 0.07467f), localAngles = new Vector3(18.69483f, 16.37429f, 359.6162f), localScale = new Vector3(3f, 3f, 3f) } }); val2.Add("mdlCroco", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "Chest", localPos = new Vector3(-1.51356f, 3.06965f, 9.13635f), localAngles = new Vector3(16.712f, 35.78552f, 237.5622f), localScale = new Vector3(20f, 15f, 20f) } }); val2.Add("mdlCaptain", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "Head", localPos = new Vector3(0.0603f, 0.06345f, -0.00892f), localAngles = new Vector3(345.2615f, 324.2955f, 335.8669f), localScale = new Vector3(2f, 1f, 2f) } }); val2.Add("mdlBandit2", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "MainWeapon", localPos = new Vector3(-0.01876f, 0.67848f, 0.01137f), localAngles = new Vector3(16.80556f, 356.7202f, 359.0283f), localScale = new Vector3(1.47453f, 1.47453f, 1.47453f) } }); val2.Add("mdlHeretic", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "Chest", localPos = new Vector3(0.33803f, -0.34522f, 0.16156f), localAngles = new Vector3(286.6828f, 287.9903f, 141.7693f), localScale = new Vector3(5f, 5f, 5f) } }); val2.Add("mdlRailGunner", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "Backpack", localPos = new Vector3(0.23427f, -0.10423f, -0.05527f), localAngles = new Vector3(19.80791f, 840f / MathF.PI, 0.90511f), localScale = new Vector3(3f, 3f, 3f) } }); val2.Add("mdlVoidSurvivor", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "LargeExhaust2R", localPos = new Vector3(0.02325f, -0.07614f, -0.01583f), localAngles = new Vector3(53.4817f, 5.6685f, 127f / 160f), localScale = new Vector3(3f, 1f, 3f) } }); val2.Add("mdlMiner", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "Chest", localPos = new Vector3(0.00079f, 0.00048f, -0.00194f), localAngles = new Vector3(11.8281f, 9.81263f, 17.99667f), localScale = new Vector3(0.02779f, 0.02779f, 0.02779f) } }); val2.Add("mdlNemforcer(Clone)", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "Chest", localPos = new Vector3(0.01594f, -0.00074f, 0.00416f), localAngles = new Vector3(352.4106f, 77.70187f, 339.1572f), localScale = new Vector3(0.12158f, 0.12158f, 0.12158f) } }); val2.Add("mdlEnforcer", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "Chest", localPos = new Vector3(0.31749f, -0.1789f, 0.11174f), localAngles = new Vector3(20.46696f, 83.04866f, 334.5096f), localScale = new Vector3(3.92409f, 3.92409f, 3.92409f) } }); val2.Add("mdlPaladin", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "Chest", localPos = new Vector3(0.15985f, -0.69306f, -0.13191f), localAngles = new Vector3(1.69802f, 8.71632f, 15.83549f), localScale = new Vector3(4.30285f, 5.79825f, 4.30285f) } }); val2.Add("mdlRocket", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "Chest", localPos = new Vector3(-0.18752f, -0.52693f, 0.03871f), localAngles = new Vector3(34.70107f, 248.6318f, 354.8853f), localScale = new Vector3(3.94916f, 3.94916f, 3.94916f) } }); val2.Add("mdlSniper", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "GunBarrel", localPos = new Vector3(0.00144f, 0.02943f, 0.3023f), localAngles = new Vector3(70.40952f, 185.3266f, 184.8057f), localScale = new Vector3(1.80279f, 1.80279f, 1.80279f) } }); return val2; } public override void Init(ConfigFile config) { CreateConfig(config); LoadAssetBundle(); SetLogbookCameraPosition(); LoadLanguageFile(); CreateItem(ref ExtradimensionalItems.Modules.Content.Items.Atma); Hooks(); } protected override void Hooks() { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Expected O, but got Unknown base.Hooks(); RecalculateStatsAPI.GetStatCoefficients += new StatHookEventHandler(RecalculateStatsAPI_GetStatCoefficients); } private void RecalculateStatsAPI_GetStatCoefficients(CharacterBody sender, StatHookEventArgs args) { int count = GetCount(sender); if (count > 0) { float num = sender.maxHealth / (HealthPerLevel.Value * ((100f - Util.ConvertAmplificationPercentageIntoReductionPercentage(PerStackScaling.Value * (float)(count - 1))) / 100f)); if (num < 1f) { num = 1f; } args.baseDamageAdd += num * sender.levelDamage; } } public override string GetOverlayDescription(string value, JSONNode tokensNode) { return string.Format(value, HealthPerLevel.Value, (PerStackScaling.Value / 100f).ToString("0.#%")); } public override void CreateConfig(ConfigFile config) { HealthPerLevel = config.Bind<float>("Item: " + ItemName, "Health Per Level", 250f, "How much health item requires to grand additional level of damage."); PerStackScaling = config.Bind<float>("Item: " + ItemName, "Per Stack Scaling", 25f, "By how much, in percent, health requirement lowers per stack."); if (RiskOfOptionsCompat.enabled) { RiskOfOptionsCompat.CreateNewOption(HealthPerLevel, 10f, 500f); RiskOfOptionsCompat.CreateNewOption(PerStackScaling, 1f, 100f, 0.5f); RiskOfOptionsCompat.AddDelegateOnModOptionsExit(OnModOptionsExit); } } } public class DamageOnCooldowns : ItemBase<DamageOnCooldowns> { public class DamageOnCooldownsSendNumberBuffs : INetMessage, ISerializableObject { private NetworkInstanceId netId; private int numberOfBuffsFromClient; public DamageOnCooldownsSendNumberBuffs() { } public DamageOnCooldownsSendNumberBuffs(NetworkInstanceId netId, int buffsCount) { //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) this.netId = netId; numberOfBuffsFromClient = buffsCount; } public void Deserialize(NetworkReader reader) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) netId = reader.ReadNetworkId(); numberOfBuffsFromClient = reader.ReadInt32(); } public void OnReceived() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) if (!NetworkServer.active) { MyLogger.LogInfo("Recieved ChronoshiftRestoreStateOnServer message on client, doing nothing..."); return; } GameObject val = Util.FindNetworkObject(netId); CharacterBody body = default(CharacterBody); if (Object.op_Implicit((Object)(object)val) && val.TryGetComponent<CharacterBody>(ref body)) { ApplyBuffs(body, numberOfBuffsFromClient); } } public void Serialize(NetworkWriter writer) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) writer.Write(netId); writer.Write(numberOfBuffsFromClient); } } public static ConfigEntry<float> DamageBonus; public static ConfigEntry<float> DamageBonusPerStack; public override string ItemName => "DamageOnCooldowns"; public override string ItemLangTokenName => "DAMAGE_ON_COOLDOWNS"; public override ItemTier Tier => (ItemTier)1; public override string BundleName => "damageoncooldowns"; public override ItemTag[] ItemTags => (ItemTag[])(object)new ItemTag[1] { (ItemTag)1 }; public override GameObject ItemModel => AssetBundle.LoadAsset<GameObject>("damageoncooldowns"); public override Sprite ItemIcon => AssetBundle.LoadAsset<Sprite>("texDamageOnCooldownIcon"); public override ItemDisplayRuleDict CreateItemDisplayRules() { //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Expected O, but got Unknown //IL_0044: 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_0077: 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_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00db: 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) //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_0120: Unknown result type (might be due to invalid IL or missing references) //IL_0125: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) //IL_0140: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_0146: 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_0169: Unknown result type (might be due to invalid IL or missing references) //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_0198: Unknown result type (might be due to invalid IL or missing references) //IL_01ae: Unknown result type (might be due to invalid IL or missing references) //IL_01b3: Unknown result type (might be due to invalid IL or missing references) //IL_01c9: Unknown result type (might be due to invalid IL or missing references) //IL_01ce: Unknown result type (might be due to invalid IL or missing references) //IL_01d3: Unknown result type (might be due to invalid IL or missing references) //IL_01d4: Unknown result type (might be due to invalid IL or missing references) //IL_01ee: Unknown result type (might be due to invalid IL or missing references) //IL_01f7: Unknown result type (might be due to invalid IL or missing references) //IL_0221: Unknown result type (might be due to invalid IL or missing references) //IL_0226: Unknown result type (might be due to invalid IL or missing references) //IL_023c: Unknown result type (might be due to invalid IL or missing references) //IL_0241: Unknown result type (might be due to invalid IL or missing references) //IL_0257: Unknown result type (might be due to invalid IL or missing references) //IL_025c: Unknown result type (might be due to invalid IL or missing references) //IL_0261: Unknown result type (might be due to invalid IL or missing references) //IL_0262: Unknown result type (might be due to invalid IL or missing references) //IL_027c: 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_02af: Unknown result type (might be due to invalid IL or missing references) //IL_02b4: Unknown result type (might be due to invalid IL or missing references) //IL_02ca: Unknown result type (might be due to invalid IL or missing references) //IL_02cf: Unknown result type (might be due to invalid IL or missing references) //IL_02e5: Unknown result type (might be due to invalid IL or missing references) //IL_02ea: Unknown result type (might be due to invalid IL or missing references) //IL_02ef: Unknown result type (might be due to invalid IL or missing references) //IL_02f0: Unknown result type (might be due to invalid IL or missing references) //IL_030a: Unknown result type (might be due to invalid IL or missing references) //IL_0313: Unknown result type (might be due to invalid IL or missing references) //IL_033d: Unknown result type (might be due to invalid IL or missing references) //IL_0342: Unknown result type (might be due to invalid IL or missing references) //IL_0358: Unknown result type (might be due to invalid IL or missing references) //IL_035d: Unknown result type (might be due to invalid IL or missing references) //IL_0373: Unknown result type (might be due to invalid IL or missing references) //IL_0378: Unknown result type (might be due to invalid IL or missing references) //IL_037d: Unknown result type (might be due to invalid IL or missing references) //IL_037e: Unknown result type (might be due to invalid IL or missing references) //IL_0398: Unknown result type (might be due to invalid IL or missing references) //IL_03a1: Unknown result type (might be due to invalid IL or missing references) //IL_03cb: Unknown result type (might be due to invalid IL or missing references) //IL_03d0: Unknown result type (might be due to invalid IL or missing references) //IL_03e6: Unknown result type (might be due to invalid IL or missing references) //IL_03eb: Unknown result type (might be due to invalid IL or missing references) //IL_0401: 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_040b: 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_0426: Unknown result type (might be due to invalid IL or missing references) //IL_042f: 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_049a: Unknown result type (might be due to invalid IL or missing references) //IL_04b4: Unknown result type (might be due to invalid IL or missing references) //IL_04bd: Unknown result type (might be due to invalid IL or missing references) //IL_04e7: Unknown result type (might be due to invalid IL or missing references) //IL_04ec: Unknown result type (might be due to invalid IL or missing references) //IL_0502: Unknown result type (might be due to invalid IL or missing references) //IL_0507: Unknown result type (might be due to invalid IL or missing references) //IL_051d: Unknown result type (might be due to invalid IL or missing references) //IL_0522: Unknown result type (might be due to invalid IL or missing references) //IL_0527: Unknown result type (might be due to invalid IL or missing references) //IL_0528: Unknown result type (might be due to invalid IL or missing references) //IL_0542: Unknown result type (might be due to invalid IL or missing references) //IL_054b: Unknown result type (might be due to invalid IL or missing references) //IL_0575: Unknown result type (might be due to invalid IL or missing references) //IL_057a: Unknown result type (might be due to invalid IL or missing references) //IL_0590: Unknown result type (might be due to invalid IL or missing references) //IL_0595: Unknown result type (might be due to invalid IL or missing references) //IL_05ab: Unknown result type (might be due to invalid IL or missing references) //IL_05b0: Unknown result type (might be due to invalid IL or missing references) //IL_05b5: Unknown result type (might be due to invalid IL or missing references) //IL_05b6: Unknown result type (might be due to invalid IL or missing references) //IL_05d0: Unknown result type (might be due to invalid IL or missing references) //IL_05d9: Unknown result type (might be due to invalid IL or missing references) //IL_0603: Unknown result type (might be due to invalid IL or missing references) //IL_0608: Unknown result type (might be due to invalid IL or missing references) //IL_061e: Unknown result type (might be due to invalid IL or missing references) //IL_0623: Unknown result type (might be due to invalid IL or missing references) //IL_0639: Unknown result type (might be due to invalid IL or missing references) //IL_063e: Unknown result type (might be due to invalid IL or missing references) //IL_0643: Unknown result type (might be due to invalid IL or missing references) //IL_0644: Unknown result type (might be due to invalid IL or missing references) //IL_065e: 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_0691: Unknown result type (might be due to invalid IL or missing references) //IL_0696: Unknown result type (might be due to invalid IL or missing references) //IL_06ac: Unknown result type (might be due to invalid IL or missing references) //IL_06b1: Unknown result type (might be due to invalid IL or missing references) //IL_06c7: Unknown result type (might be due to invalid IL or missing references) //IL_06cc: Unknown result type (might be due to invalid IL or missing references) //IL_06d1: Unknown result type (might be due to invalid IL or missing references) //IL_06d2: Unknown result type (might be due to invalid IL or missing references) //IL_06ec: Unknown result type (might be due to invalid IL or missing references) //IL_06f5: Unknown result type (might be due to invalid IL or missing references) //IL_071f: Unknown result type (might be due to invalid IL or missing references) //IL_0724: Unknown result type (might be due to invalid IL or missing references) //IL_073a: Unknown result type (might be due to invalid IL or missing references) //IL_073f: Unknown result type (might be due to invalid IL or missing references) //IL_0755: Unknown result type (might be due to invalid IL or missing references) //IL_075a: Unknown result type (might be due to invalid IL or missing references) //IL_075f: Unknown result type (might be due to invalid IL or missing references) //IL_0760: Unknown result type (might be due to invalid IL or missing references) //IL_077a: Unknown result type (might be due to invalid IL or missing references) //IL_0783: Unknown result type (might be due to invalid IL or missing references) //IL_07ad: Unknown result type (might be due to invalid IL or missing references) //IL_07b2: Unknown result type (might be due to invalid IL or missing references) //IL_07c8: Unknown result type (might be due to invalid IL or missing references) //IL_07cd: Unknown result type (might be due to invalid IL or missing references) //IL_07e3: Unknown result type (might be due to invalid IL or missing references) //IL_07e8: Unknown result type (might be due to invalid IL or missing references) //IL_07ed: Unknown result type (might be due to invalid IL or missing references) //IL_07ee: Unknown result type (might be due to invalid IL or missing references) //IL_0808: Unknown result type (might be due to invalid IL or missing references) //IL_0811: Unknown result type (might be due to invalid IL or missing references) //IL_083b: Unknown result type (might be due to invalid IL or missing references) //IL_0840: Unknown result type (might be due to invalid IL or missing references) //IL_0856: Unknown result type (might be due to invalid IL or missing references) //IL_085b: Unknown result type (might be due to invalid IL or missing references) //IL_0871: Unknown result type (might be due to invalid IL or missing references) //IL_0876: Unknown result type (might be due to invalid IL or missing references) //IL_087b: Unknown result type (might be due to invalid IL or missing references) //IL_087c: Unknown result type (might be due to invalid IL or missing references) //IL_0896: Unknown result type (might be due to invalid IL or missing references) //IL_089f: Unknown result type (might be due to invalid IL or missing references) //IL_08c9: Unknown result type (might be due to invalid IL or missing references) //IL_08ce: Unknown result type (might be due to invalid IL or missing references) //IL_08e4: Unknown result type (might be due to invalid IL or missing references) //IL_08e9: 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_0904: Unknown result type (might be due to invalid IL or missing references) //IL_0909: Unknown result type (might be due to invalid IL or missing references) //IL_090a: Unknown result type (might be due to invalid IL or missing references) //IL_0924: Unknown result type (might be due to invalid IL or missing references) //IL_092d: Unknown result type (might be due to invalid IL or missing references) //IL_0957: Unknown result type (might be due to invalid IL or missing references) //IL_095c: Unknown result type (might be due to invalid IL or missing references) //IL_0972: Unknown result type (might be due to invalid IL or missing references) //IL_0977: Unknown result type (might be due to invalid IL or missing references) //IL_098d: Unknown result type (might be due to invalid IL or missing references) //IL_0992: Unknown result type (might be due to invalid IL or missing references) //IL_0997: Unknown result type (might be due to invalid IL or missing references) //IL_0998: Unknown result type (might be due to invalid IL or missing references) //IL_09b2: 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_09e5: Unknown result type (might be due to invalid IL or missing references) //IL_09ea: Unknown result type (might be due to invalid IL or missing references) //IL_0a00: Unknown result type (might be due to invalid IL or missing references) //IL_0a05: Unknown result type (might be due to invalid IL or missing references) //IL_0a1b: Unknown result type (might be due to invalid IL or missing references) //IL_0a20: Unknown result type (might be due to invalid IL or missing references) //IL_0a25: Unknown result type (might be due to invalid IL or missing references) //IL_0a26: Unknown result type (might be due to invalid IL or missing references) //IL_0a40: Unknown result type (might be due to invalid IL or missing references) //IL_0a49: Unknown result type (might be due to invalid IL or missing references) //IL_0a73: Unknown result type (might be due to invalid IL or missing references) //IL_0a78: Unknown result type (might be due to invalid IL or missing references) //IL_0a8e: Unknown result type (might be due to invalid IL or missing references) //IL_0a93: Unknown result type (might be due to invalid IL or missing references) //IL_0aa9: Unknown result type (might be due to invalid IL or missing references) //IL_0aae: Unknown result type (might be due to invalid IL or missing references) //IL_0ab3: Unknown result type (might be due to invalid IL or missing references) //IL_0ab4: Unknown result type (might be due to invalid IL or missing references) //IL_0ace: Unknown result type (might be due to invalid IL or missing references) //IL_0ad7: Unknown result type (might be due to invalid IL or missing references) //IL_0b01: Unknown result type (might be due to invalid IL or missing references) //IL_0b06: Unknown result type (might be due to invalid IL or missing references) //IL_0b1c: 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_0b37: Unknown result type (might be due to invalid IL or missing references) //IL_0b3c: Unknown result type (might be due to invalid IL or missing references) //IL_0b41: Unknown result type (might be due to invalid IL or missing references) //IL_0b42: Unknown result type (might be due to invalid IL or missing references) GameObject val = AssetBundle.LoadAsset<GameObject>("damageoncooldowns"); val.AddComponent<ItemDisplay>(); val.GetComponent<ItemDisplay>().rendererInfos = Utils.ItemDisplaySetup(val); ItemDisplayRuleDict val2 = new ItemDisplayRuleDict(Array.Empty<ItemDisplayRule>()); val2.Add("mdlCommandoDualies", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "ThighR", localPos = new Vector3(-0.09552f, 0.11592f, 0.06752f), localAngles = new Vector3(27.08141f, 304.4822f, 189.2228f), localScale = new Vector3(0.20751f, 0.20751f, 0.20751f) } }); val2.Add("mdlHuntress", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "ThighR", localPos = new Vector3(-0.11649f, 0.18389f, 0.06237f), localAngles = new Vector3(28.06488f, 266.8881f, 196.0231f), localScale = new Vector3(0.19636f, 0.19636f, 0.19636f) } }); val2.Add("mdlToolbot", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "ThighR", localPos = new Vector3(0.12048f, 0.90659f, 0.87745f), localAngles = new Vector3(23.94655f, 178.5852f, 175.6136f), localScale = new Vector3(2f, 2f, 2f) } }); val2.Add("mdlEngi", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "ThighR", localPos = new Vector3(-0.18828f, 0.13572f, 0.00151f), localAngles = new Vector3(30.69436f, 274.8616f, 176.1863f), localScale = new Vector3(0.22972f, 0.22972f, 0.22972f) } }); val2.Add("mdlMage", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "ThighR", localPos = new Vector3(-0.11235f, 0.22891f, 0.05888f), localAngles = new Vector3(25.38397f, 272.8091f, 189.4688f), localScale = new Vector3(0.17773f, 0.17773f, 0.17773f) } }); val2.Add("mdlMerc", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "ThighR", localPos = new Vector3(-0.10393f, 0.20613f, 0.06577f), localAngles = new Vector3(29.68564f, 300.2674f, 182.2623f), localScale = new Vector3(0.23426f, 0.23426f, 0.23426f) } }); val2.Add("mdlTreebot", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "ThighBackR", localPos = new Vector3(0.32198f, 0.39853f, 0.15919f), localAngles = new Vector3(333.9132f, 289.5818f, 57.39796f), localScale = new Vector3(0.34275f, 0.34275f, 0.34275f) } }); val2.Add("mdlLoader", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "ThighR", localPos = new Vector3(-0.12364f, 0.15695f, 0.09189f), localAngles = new Vector3(37.29633f, 301.3473f, 186.7303f), localScale = new Vector3(0.22691f, 0.22691f, 0.22691f) } }); val2.Add("mdlCroco", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "ThighR", localPos = new Vector3(-1.14331f, 1.28121f, -0.09511f), localAngles = new Vector3(29.22408f, 243.6448f, 166.6056f), localScale = new Vector3(2.34388f, 2.34388f, 2.34388f) } }); val2.Add("mdlCaptain", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "CalfR", localPos = new Vector3(0.12231f, 0.10491f, 0.03471f), localAngles = new Vector3(20.49907f, 97.37933f, 172.5078f), localScale = new Vector3(0.24559f, 0.24559f, 0.24559f) } }); val2.Add("mdlBandit2", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "ThighR", localPos = new Vector3(-0.07267f, 0.24929f, 0.03758f), localAngles = new Vector3(28.44042f, 288.6184f, 185.2202f), localScale = new Vector3(0.19305f, 0.19305f, 0.19305f) } }); val2.Add("mdlHeretic", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "ThighR", localPos = new Vector3(-0.22414f, 0.16346f, 0.20641f), localAngles = new Vector3(343.4409f, 25.48389f, 270.7061f), localScale = new Vector3(0.42563f, 0.42563f, 0.42563f) } }); val2.Add("mdlRailGunner", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "ThighR", localPos = new Vector3(-0.10685f, 0.08854f, 0.03331f), localAngles = new Vector3(34.29095f, 98.02614f, 174.7414f), localScale = new Vector3(0.19173f, 0.19173f, 0.19173f) } }); val2.Add("mdlVoidSurvivor", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "ThighR", localPos = new Vector3(-0.04302f, 0.27724f, -0.11008f), localAngles = new Vector3(39.20871f, 5.40946f, 183.1687f), localScale = new Vector3(0.21219f, 0.21219f, 0.21219f) } }); val2.Add("mdlMiner", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "LegR", localPos = new Vector3(0.00047f, 0.00182f, 0.0011f), localAngles = new Vector3(36.96081f, 203.9341f, 184.2606f), localScale = new Vector3(0.00194f, 0.00194f, 0.00194f) } }); val2.Add("mdlNemforcer(Clone)", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "LegR", localPos = new Vector3(-0.00262f, 0.00736f, -0.00406f), localAngles = new Vector3(38.16177f, 26.56483f, 169.9774f), localScale = new Vector3(0.00825f, 0.00825f, 0.00825f) } }); val2.Add("mdlEnforcer", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "ThighL", localPos = new Vector3(-0.05615f, 0.31438f, 0.13046f), localAngles = new Vector3(32.51384f, 163.4914f, 191.6256f), localScale = new Vector3(0.23618f, 0.23618f, 0.23618f) } }); val2.Add("mdlPaladin", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "ThighR", localPos = new Vector3(0.15149f, 0.49419f, -0.18609f), localAngles = new Vector3(38.69322f, 308.8141f, 179.926f), localScale = new Vector3(0.31299f, 0.31299f, 0.31299f) } }); val2.Add("mdlRocket", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "thigh.L", localPos = new Vector3(-0.08023f, 0.29315f, 0.1616f), localAngles = new Vector3(37.44303f, 145.909f, 184.9257f), localScale = new Vector3(0.18108f, 0.18108f, 0.18108f) } }); val2.Add("mdlSniper", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = val, childName = "UpperArmR", localPos = new Vector3(-0.00577f, 0.15569f, -0.08032f), localAngles = new Vector3(21.31146f, 187.8139f, 174.2495f), localScale = new Vector3(0.17465f, 0.17465f, 0.17465f) } }); return val2; } public override string GetOverlayDescription(string value, JSONNode tokensNode) { return string.Format(value, (DamageBonus.Value / 100f).ToString("###%"), (DamageBonusPerStack.Value / 100f).ToString("###%")); } public override void Init(ConfigFile config) { LoadAssetBundle(); SetLogbookCameraPosition(); CreateConfig(config); LoadLanguageFile(); CreateBuffs(); CreateItem(ref ExtradimensionalItems.Modules.Content.Items.DamageOnCooldowns); Hooks(); } private void CreateBuffs() { //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) BuffDef obj = ScriptableObject.CreateInstance<BuffDef>(); ((Object)obj).name = "Damage On Cooldowns"; obj.buffColor = Color.grey; obj.canStack = true; obj.isDebuff = false; obj.iconSprite = AssetBundle.LoadAsset<Sprite>("texDamageOnCooldownBuffIcon"); ContentAddition.AddBuffDef(obj); Buffs.DamageOnCooldowns = obj; } protected override void Hooks() { //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Expected O, but got Unknown base.Hooks(); CharacterBody.onBodyInventoryChangedGlobal += CharacterBody_onBodyInventoryChangedGlobal; HealthComponent.TakeDamage += new hook_TakeDamage(HealthComponent_TakeDamage); } private void HealthComponent_TakeDamage(orig_TakeDamage orig, HealthComponent self, DamageInfo damageInfo) { GameObject val = damageInfo?.attacker ?? null; CharacterBody val2 = default(CharacterBody); if (Object.op_Implicit((Object)(object)val) && val.TryGetComponent<CharacterBody>(ref val2)) { damageInfo.damage += damageInfo.damage * ((DamageBonus.Value / 100f + DamageBonusPerStack.Value / 100f * (float)(GetCount(val2) - 1)) * (float)val2.GetBuffCount(Buffs.DamageOnCooldowns)); } orig.Invoke(self, damageInfo); } private void CharacterBody_onBodyInventoryChangedGlobal(CharacterBody body) { if (!Object.op_Implicit((Object)(object)body)) { return; } if (((NetworkBehaviour)body).hasAuthority) { body.AddItemBehavior<DamageOnCooldownsBehavior>(GetCount(body)); } if (NetworkServer.active && body.HasBuff(Buffs.DamageOnCooldowns) && GetCount(body) == 0) { while (body.HasBuff(Buffs.DamageOnCooldowns)) { body.RemoveBuff(Buffs.DamageOnCooldowns); } } } public static void ApplyBuffs(CharacterBody body, int count) { int i; for (i = body.GetBuffCount(Buffs.DamageOnCooldowns); count > i; i++) { body.AddBuff(Buffs.DamageOnCooldowns); } while (count < i) { body.RemoveBuff(Buffs.DamageOnCooldowns); count++; } } public override void CreateConfig(ConfigFile config) { DamageBonus = config.Bind<float>("Item: " + ItemName, "Damage Bonus", 10f, "How much additional damage, in percentage, each ability and equipment on cooldown adds."); DamageBonusPerStack = config.Bind<float>("Item: " + ItemName, "Damage Bonus Per Stack", 5f, "How much additional damage per item stack, in percentage, each each ability and equipment on cooldown adds."); if (RiskOfOptionsCompat.enabled) { RiskOfOptionsCompat.CreateNewOption(DamageBonus, 1f, 30f); RiskOfOptionsCompat.CreateNewOption(DamageBonusPerStack, 1f, 30f); RiskOfOptionsCompat.AddDelegateOnModOptionsExit(OnModOptionsExit); } } } public class DamageOnPing : ItemBase<DamageOnPing> { public static ConfigEntry<float> DamageIncrease; public static ConfigEntry<bool> IsDebuff; public static ConfigEntry<bool> IsHidden; public static ConfigEntry<float> DebuffDuration; public static ConfigEntry<bool> DisablePingEnemyChatMessages; public override string ItemName => "DamageOnPing"; public override string ItemLangTokenName => "DAMAGE_ON_PING"; public override ItemTier Tier => (ItemTier)0; public override string BundleName => "damageonping"; public override GameObject ItemModel => AssetBundle.LoadAsset<GameObject>("DamageOnPing"); public override Sprite ItemIcon => AssetBundle.LoadAsset<Sprite>("texWitchHunterTools"); public override ItemDisplayRuleDict CreateItemDisplayRules() { //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Expected O, but got Unknown //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: 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_0104: Unknown result type (might be due to invalid IL or missing references) //IL_0109: Unknown result type (might be due to invalid IL or missing references) //IL_010b: Unknown result type (might be due to invalid IL or missing references) //IL_0125: Unknown result type (might be due to invalid IL or missing references) //IL_012e: Unknown result type (might be due to invalid IL or missing references) //IL_0158: Unknown result type (might be due to invalid IL or missing references) //IL_015d: Unknown result type (might be due to invalid IL or missing references) //IL_0173: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Unknown result type (might be due to invalid IL or missing references) //IL_018e: Unknown result type (might be due to invalid IL or missing references) //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_0198: 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_01b4: Unknown result type (might be due to invalid IL or missing references) //IL_01bd: Unknown result type (might be due to invalid IL or missing references) //IL_01e7: Unknown result type (might be due to invalid IL or missing references) //IL_01ec: Unknown result type (might be due to invalid IL or missing references) //IL_0202: Unknown result type (might be due to invalid IL or missing references) //IL_0207: Unknown result type (might be due to invalid IL or missing references) //IL_021d: Unknown result type (might be due to invalid IL or missing references) //IL_0222: Unknown result type (might be due to invalid IL or missing references) //IL_0227: Unknown result type (might be due to invalid IL or missing references) //IL_0229: 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_024c: Unknown result type (might be due to invalid IL or missing references) //IL_0276: 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_0291: Unknown result type (might be due to invalid IL or missing references) //IL_0296: Unknown result type (might be due to invalid IL or missing references) //IL_02ac: Unknown result type (might be due to invalid IL or missing references) //IL_02b1: Unknown result type (might be due to invalid IL or missing references) //IL_02b6: Unknown result type (might be due to invalid IL or missing references) //IL_02b8: Unknown result type (might be due to invalid IL or missing references) //IL_02d2: Unknown result type (might be due to invalid IL or missing references) //IL_02db: Unknown result type (might be due to invalid IL or missing references) //IL_0305: Unknown result type (might be due to invalid IL or missing references) //IL_030a: Unknown result type (might be due to invalid IL or missing references) //IL_0320: Unknown result type (might be due to invalid IL or missing references) //IL_0325: Unknown result type (might be due to invalid IL or missing references) //IL_033b: Unknown result type (might be due to invalid IL or missing references) //IL_0340: Unknown result type (might be due to invalid IL or missing references) //IL_0345: Unknown result type (might be due to invalid IL or missing references) //IL_0347: Unknown result type (might be due to invalid IL or missing references) //IL_0361: Unknown result type (might be due to invalid IL or missing referenc