Decompiled source of Builder v1.0.9
Builder.dll
Decompiled 5 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; using BepInEx; using BepInEx.Configuration; using EntityStates; using EntityStates.ClayBruiser.Weapon; using EntityStates.Commando; using EntityStates.Huntress; using EntityStates.Merc; using JetBrains.Annotations; using On.RoR2; using On.RoR2.UI; using R2API; using R2API.Utils; using RoR2; using RoR2.Achievements; using RoR2.Projectile; using RoR2.Skills; using RoR2.UI; using TMPro; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.Events; using UnityEngine.Networking; using UnityEngine.Rendering; using UnityEngine.UI; [assembly: TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName = "")] [assembly: AssemblyCompany("Builder")] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: AssemblyProduct("Builder")] [assembly: AssemblyTitle("Builder")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace Builder; public static class Achievements { [RegisterAchievement("BUILDER_DASH", "ACHIEVEMENT_BUILDER_DASH_UNLOCKABLE_ID", null, null)] public class DashUnlockable : BaseAchievement { private bool cast = false; public override BodyIndex LookUpRequiredBodyIndex() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) return BodyCatalog.FindBodyIndex("BuilderBody"); } public override void OnBodyRequirementMet() { //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Expected O, but got Unknown //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Expected O, but got Unknown ((BaseAchievement)this).OnBodyRequirementMet(); BuildStructure.cast.AddListener(new UnityAction(Cast)); FinishedState.OnEnter += new hook_OnEnter(FinishedState_OnEnter); Stage.onStageStartGlobal += Stage_onStageStartGlobal; } private void Stage_onStageStartGlobal(Stage obj) { cast = false; } private void Cast() { cast = true; } private void FinishedState_OnEnter(orig_OnEnter orig, BaseState self) { orig.Invoke(self); if (!cast) { ((BaseAchievement)this).Grant(); } } public override void OnBodyRequirementBroken() { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Expected O, but got Unknown //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Expected O, but got Unknown ((BaseAchievement)this).OnBodyRequirementBroken(); Stage.onStageStartGlobal -= Stage_onStageStartGlobal; FinishedState.OnEnter -= new hook_OnEnter(FinishedState_OnEnter); BuildStructure.cast.RemoveListener(new UnityAction(Cast)); } } internal static UnlockableDef dashUnlock; public static void RegisterUnlockables() { dashUnlock = NewUnlockable<DashUnlockable>("DASH", Assets.MainAssetBundle.LoadAsset<Sprite>("dash"), "BUILDER: Easily Spooked", "As Builder, complete a stage without building a structure."); } private static UnlockableDef NewUnlockable<T>(string AchievementIdentifier, Sprite Icon, string Title, string Description) where T : BaseAchievement { string text = "ACHIEVEMENT_BUILDER_"; UnlockableDef val = ScriptableObject.CreateInstance<UnlockableDef>(); string langName = text + AchievementIdentifier + "_NAME"; string langDesc = text + AchievementIdentifier + "_DESCRIPTION"; LanguageAPI.Add(langName, Title); LanguageAPI.Add(langDesc, Description); Func<string> func = () => Language.GetStringFormatted("UNLOCKED_FORMAT", new object[2] { Language.GetString(langName), Language.GetString(langDesc) }); Type typeFromHandle = typeof(T); val.cachedName = text + AchievementIdentifier + "_UNLOCKABLE_ID"; val.getHowToUnlockString = func; val.getUnlockedString = func; val.achievementIcon = Icon; val.sortScore = 200; val.hidden = false; ContentAddition.AddUnlockableDef(val); return val; } } internal class Assets { public static AssetBundle MainAssetBundle; public static void PopulateAssets() { if ((Object)(object)MainAssetBundle == (Object)null) { using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Builder.builderassets")) { MainAssetBundle = AssetBundle.LoadFromStream(stream); } } } } internal class BuilderBehaviour : NetworkBehaviour { public struct PlacementInfo { public bool ok; public Vector3 position; public Quaternion rotation; } public enum Structure { containerTower, wall, radarTower, bunker } public int secondaryIndex = 0; private CharacterBody body; private SkillLocator skillLocator; public float test = 12f; public BlueprintController blueprint; public PlacementInfo currentPlacementInfo; private GameObject materialBar; private TextMeshProUGUI currentMaterial; private TextMeshProUGUI fullMaterial; private Image barImage; [SerializeField] [SyncVar] private float materialValue = 0f; private float maxMaterialValue = 1000f; private bool barSetupDone; private static readonly StringBuilder sharedStringBuilder; public bool canExecute = true; public ChildLocator structureLocator; private GameObject structureSkillBarRoot; private GameObject structureSkill1; private GameObject structureSkill2; private GameObject structureSkill3; private GameObject structureSkill4; private SkillIcon structureSkillIcon1; private SkillIcon structureSkillIcon2; private SkillIcon structureSkillIcon3; private SkillIcon structureSkillIcon4; private Transform structureModel1; private Transform structureModel2; private Transform structureModel3; private Transform structureModel4; private int structure1Cost = ((!MainPlugin.cheatMode.Value) ? 25 : 0); private int structure2Cost = ((!MainPlugin.cheatMode.Value) ? 50 : 0); private int structure3Cost = ((!MainPlugin.cheatMode.Value) ? 300 : 0); private int structure4Cost = ((!MainPlugin.cheatMode.Value) ? 600 : 0); public Color disabled = new Color(0.6f, 0f, 0f); private Projector projector; public Structure structure = Structure.containerTower; private static int kCmdCmdContainerInteraction; private static int kRpcRpcContainerInteraction; private static int kCmdCmdUpdateStructureUI; private static int kRpcRpcUpdateStructureUI; private static int kCmdCmdRotateStructure; private static int kRpcRpcRotateStructure; internal bool maxMaterial { get { if (Mathf.RoundToInt(materialValue * 100f) >= 100) { return true; } return false; } } public float currentMaterialValue => materialValue; public float NetworkmaterialValue { get { return materialValue; } [param: In] set { ((NetworkBehaviour)this).SetSyncVar<float>(value, ref materialValue, 1u); } } [Server] public void StructureCost() { if (!NetworkServer.active) { Debug.LogWarning((object)"[Server] function 'System.Void Builder.BuilderBehaviour::StructureCost()' called on client"); return; } switch (structure) { case Structure.containerTower: RemoveMaterial(structure1Cost); break; case Structure.wall: RemoveMaterial(structure2Cost); break; case Structure.radarTower: RemoveMaterial(structure3Cost); break; case Structure.bunker: RemoveMaterial(structure4Cost); break; } } [Server] public void AddMaterial(float value) { if (!NetworkServer.active) { Debug.LogWarning((object)"[Server] function 'System.Void Builder.BuilderBehaviour::AddMaterial(System.Single)' called on client"); } else { NetworkmaterialValue = materialValue + value; } } [Server] public void RemoveMaterial(float value) { if (!NetworkServer.active) { Debug.LogWarning((object)"[Server] function 'System.Void Builder.BuilderBehaviour::RemoveMaterial(System.Single)' called on client"); } else { NetworkmaterialValue = materialValue - value; } } public void InstantiateBlueprint() { blueprint = Object.Instantiate<GameObject>(Prefabs.structureBlueprintPrefab).GetComponent<BlueprintController>(); projector = ((Component)blueprint).GetComponentInChildren<Projector>(); if (Object.op_Implicit((Object)(object)blueprint)) { blueprint.ok = true; structureLocator = ((Component)blueprint).GetComponentInChildren<ChildLocator>(); if (Object.op_Implicit((Object)(object)structureLocator)) { structureModel1 = structureLocator.FindChild("TowerContainer"); structureModel2 = structureLocator.FindChild("WallContainer"); structureModel3 = structureLocator.FindChild("Tower"); structureModel4 = structureLocator.FindChild("InteractableContainer"); } UpdateStructureModel(); } } [Command] public void CmdContainerInteraction(int index) { CallRpcContainerInteraction(index); } [ClientRpc] public void RpcContainerInteraction(int index) { ContainerInteraction containerInteraction = InstanceTracker.GetInstancesList<ContainerInteraction>()[index]; if (Object.op_Implicit((Object)(object)containerInteraction)) { containerInteraction.OnInteraction(); } } private void OnEnable() { //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Expected O, but got Unknown InstanceTracker.Add<BuilderBehaviour>(this); body = ((Component)this).GetComponent<CharacterBody>(); skillLocator = body.skillLocator; HUD.Update += new hook_Update(HUD_Update); } private void UpdateStructureUI() { if (Object.op_Implicit((Object)(object)structureSkillIcon1) && Object.op_Implicit((Object)(object)structureSkillIcon2) && Object.op_Implicit((Object)(object)structureSkillIcon3) && Object.op_Implicit((Object)(object)structureSkillIcon4)) { switch (structure) { case Structure.containerTower: structureSkillIcon1.isReadyPanelObject.SetActive(true); structureSkillIcon2.isReadyPanelObject.SetActive(false); structureSkillIcon3.isReadyPanelObject.SetActive(false); structureSkillIcon4.isReadyPanelObject.SetActive(false); break; case Structure.wall: structureSkillIcon1.isReadyPanelObject.SetActive(false); structureSkillIcon2.isReadyPanelObject.SetActive(true); structureSkillIcon3.isReadyPanelObject.SetActive(false); structureSkillIcon4.isReadyPanelObject.SetActive(false); break; case Structure.radarTower: structureSkillIcon1.isReadyPanelObject.SetActive(false); structureSkillIcon2.isReadyPanelObject.SetActive(false); structureSkillIcon3.isReadyPanelObject.SetActive(true); structureSkillIcon4.isReadyPanelObject.SetActive(false); break; case Structure.bunker: structureSkillIcon1.isReadyPanelObject.SetActive(false); structureSkillIcon2.isReadyPanelObject.SetActive(false); structureSkillIcon3.isReadyPanelObject.SetActive(false); structureSkillIcon4.isReadyPanelObject.SetActive(true); break; } } } [Command] public void CmdUpdateStructureUI(Structure struc) { CallRpcUpdateStructureUI(struc); } [ClientRpc] public void RpcUpdateStructureUI(Structure struc) { structure = struc; UpdateStructureUI(); } private void UpdateStructureModel() { //IL_0151: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)structureModel1) && Object.op_Implicit((Object)(object)structureModel2) && Object.op_Implicit((Object)(object)structureModel3) && Object.op_Implicit((Object)(object)structureModel4) && Object.op_Implicit((Object)(object)projector)) { switch (structure) { case Structure.containerTower: ((Component)structureModel1).gameObject.SetActive(true); ((Component)structureModel2).gameObject.SetActive(false); ((Component)structureModel3).gameObject.SetActive(false); ((Component)structureModel4).gameObject.SetActive(false); projector.orthographicSize = 8f; break; case Structure.wall: ((Component)structureModel1).gameObject.SetActive(false); ((Component)structureModel2).gameObject.SetActive(true); ((Component)structureModel3).gameObject.SetActive(false); ((Component)structureModel4).gameObject.SetActive(false); projector.orthographicSize = 5f; projector.aspectRatio = 2.5f; ((Component)projector).transform.rotation = Quaternion.Euler(90f, 90f, 0f); break; case Structure.radarTower: ((Component)structureModel1).gameObject.SetActive(false); ((Component)structureModel2).gameObject.SetActive(false); ((Component)structureModel3).gameObject.SetActive(true); ((Component)structureModel4).gameObject.SetActive(false); projector.orthographicSize = 3f; break; case Structure.bunker: ((Component)structureModel1).gameObject.SetActive(false); ((Component)structureModel2).gameObject.SetActive(false); ((Component)structureModel3).gameObject.SetActive(false); ((Component)structureModel4).gameObject.SetActive(true); projector.orthographicSize = 13f; break; } } } [Command] public void CmdRotateStructure(float y) { CallRpcRotateStructure(y); } [ClientRpc] public void RpcRotateStructure(float y) { RotateStructure(y); } private void RotateStructure(float y) { //IL_0027: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)structureLocator)) { ((Component)structureLocator).transform.Rotate(new Vector3(0f, y, 0f), (Space)1); } } private void Update() { //IL_0142: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)body) || !body.hasEffectiveAuthority) { return; } if (Object.op_Implicit((Object)(object)structureLocator)) { if (Input.GetAxis("Mouse ScrollWheel") > 0f) { CallCmdRotateStructure(15f); } else if (Input.GetAxis("Mouse ScrollWheel") < 0f) { CallCmdRotateStructure(-15f); } } else if (Input.GetAxis("Mouse ScrollWheel") > 0f) { if (structure != 0) { structure--; CallCmdUpdateStructureUI(structure); } } else if (Input.GetAxis("Mouse ScrollWheel") < 0f && structure != Structure.bunker) { structure++; CallCmdUpdateStructureUI(structure); } if (!Object.op_Implicit((Object)(object)skillLocator) || !Object.op_Implicit((Object)(object)skillLocator.secondary) || !Input.GetKeyDown(MainPlugin.secondarySwitchKey.Value) || !(skillLocator.secondary.skillNameToken == "BUILDER_M2")) { return; } if (secondaryIndex == 2) { secondaryIndex = 0; } else { secondaryIndex++; } if (Object.op_Implicit((Object)(object)skillLocator.secondary.skillDef)) { switch (secondaryIndex) { case 0: skillLocator.secondary.skillDef.icon = Prefabs.grenadeIcon1; break; case 1: skillLocator.secondary.skillDef.icon = Prefabs.grenadeIcon2; break; case 2: skillLocator.secondary.skillDef.icon = Prefabs.grenadeIcon3; break; } } } private void HUD_Update(orig_Update orig, HUD self) { //IL_011c: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) //IL_013f: Unknown result type (might be due to invalid IL or missing references) //IL_0188: 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_016f: Unknown result type (might be due to invalid IL or missing references) //IL_01ab: Unknown result type (might be due to invalid IL or missing references) //IL_0331: Unknown result type (might be due to invalid IL or missing references) //IL_033b: Expected O, but got Unknown //IL_0372: Unknown result type (might be due to invalid IL or missing references) //IL_0388: Unknown result type (might be due to invalid IL or missing references) //IL_03ad: Unknown result type (might be due to invalid IL or missing references) //IL_03cd: Unknown result type (might be due to invalid IL or missing references) //IL_01f4: Unknown result type (might be due to invalid IL or missing references) //IL_01fa: Unknown result type (might be due to invalid IL or missing references) //IL_01db: Unknown result type (might be due to invalid IL or missing references) //IL_0217: Unknown result type (might be due to invalid IL or missing references) //IL_0260: Unknown result type (might be due to invalid IL or missing references) //IL_0266: Unknown result type (might be due to invalid IL or missing references) //IL_0247: Unknown result type (might be due to invalid IL or missing references) //IL_0283: Unknown result type (might be due to invalid IL or missing references) //IL_0739: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self); if (NetworkServer.active) { NetworkmaterialValue = Mathf.Clamp(materialValue, 0f, maxMaterialValue); } if (Object.op_Implicit((Object)(object)barImage)) { barImage.fillAmount = materialValue / maxMaterialValue; } if (Object.op_Implicit((Object)(object)currentMaterial) && ((TMP_Text)currentMaterial).text != materialValue.ToString()) { ((TMP_Text)currentMaterial).text = materialValue.ToString(); } if (Object.op_Implicit((Object)(object)structureSkillIcon1) && Object.op_Implicit((Object)(object)structureSkillIcon2) && Object.op_Implicit((Object)(object)structureSkillIcon3) && Object.op_Implicit((Object)(object)structureSkillIcon4)) { if (materialValue >= (float)structure1Cost) { ((Graphic)structureSkillIcon1.iconImage).color = Color.white; } else if (((Graphic)structureSkillIcon1.iconImage).color != disabled) { ((Graphic)structureSkillIcon1.iconImage).color = disabled; } if (materialValue >= (float)structure2Cost) { ((Graphic)structureSkillIcon2.iconImage).color = Color.white; } else if (((Graphic)structureSkillIcon2.iconImage).color != disabled) { ((Graphic)structureSkillIcon2.iconImage).color = disabled; } if (materialValue >= (float)structure3Cost) { ((Graphic)structureSkillIcon3.iconImage).color = Color.white; } else if (((Graphic)structureSkillIcon3.iconImage).color != disabled) { ((Graphic)structureSkillIcon3.iconImage).color = disabled; } if (materialValue >= (float)structure4Cost) { ((Graphic)structureSkillIcon4.iconImage).color = Color.white; } else if (((Graphic)structureSkillIcon4.iconImage).color != disabled) { ((Graphic)structureSkillIcon4.iconImage).color = disabled; } } if (!Object.op_Implicit((Object)(object)self.targetBodyObject) || !((Object)(object)self.targetBodyObject == (Object)(object)((Component)this).gameObject) || !Object.op_Implicit((Object)(object)self.mainUIPanel) || !Util.HasEffectiveAuthority(self.targetBodyObject.GetComponent<NetworkIdentity>())) { return; } if (Object.op_Implicit((Object)(object)self.skillIcons[3])) { GameObject gameObject = ((Component)self.skillIcons[3]).gameObject; if (!Object.op_Implicit((Object)(object)structureSkillBarRoot)) { structureSkillBarRoot = new GameObject("StructureUIContainer", new Type[1] { typeof(RectTransform) }); structureSkillBarRoot.transform.SetParent(gameObject.transform.parent); structureSkillBarRoot.transform.localPosition = new Vector3(-140f, 130f, 0f); structureSkillBarRoot.transform.localScale = Vector3.one; structureSkillBarRoot.transform.localRotation = Quaternion.Euler(1.398054f, 1.024528f, 1.6680231f); structureSkillBarRoot.GetComponent<RectTransform>().sizeDelta = new Vector2(500f, 0f); structureSkillBarRoot.AddComponent<CanvasRenderer>(); HorizontalLayoutGroup val = structureSkillBarRoot.AddComponent<HorizontalLayoutGroup>(); ((HorizontalOrVerticalLayoutGroup)val).spacing = -120f; structureSkill1 = CreateNewContainer("Structure1Container", gameObject, structure1Cost, out structureSkillIcon1); structureSkillIcon1.iconImage.sprite = Prefabs.structureIcon1; structureSkill2 = CreateNewContainer("Structure2Container", gameObject, structure2Cost, out structureSkillIcon2); structureSkillIcon2.iconImage.sprite = Prefabs.structureIcon2; structureSkill3 = CreateNewContainer("Structure3Container", gameObject, structure3Cost, out structureSkillIcon3); structureSkillIcon3.iconImage.sprite = Prefabs.structureIcon3; structureSkill4 = CreateNewContainer("Structure4Container", gameObject, structure4Cost, out structureSkillIcon4); structureSkillIcon4.iconImage.sprite = Prefabs.structureIcon4; UpdateStructureUI(); } } if (Object.op_Implicit((Object)(object)materialBar)) { return; } HealthBar componentInChildren = self.mainUIPanel.GetComponentInChildren<HealthBar>(); if (!Object.op_Implicit((Object)(object)componentInChildren) || !Object.op_Implicit((Object)(object)((Component)componentInChildren).gameObject)) { return; } Image[] componentsInChildren = ((Component)componentInChildren).gameObject.GetComponentsInChildren<Image>(); if (!barSetupDone) { for (int i = 0; i < componentsInChildren.Length; i++) { if (componentsInChildren.Length == 5) { barSetupDone = true; } } } if (!barSetupDone) { return; } materialBar = Object.Instantiate<GameObject>(((Component)componentInChildren).gameObject, ((Component)componentInChildren).gameObject.transform.parent); ((Object)materialBar).name = "MaterialBar"; Object.Destroy((Object)(object)materialBar.GetComponent<HealthBar>()); TextMeshProUGUI[] componentsInChildren2 = materialBar.GetComponentsInChildren<TextMeshProUGUI>(); for (int j = 0; j < componentsInChildren2.Length; j++) { if (Object.op_Implicit((Object)(object)componentsInChildren2[j]) && Object.op_Implicit((Object)(object)((Component)componentsInChildren2[j]).gameObject)) { if (((Object)((Component)componentsInChildren2[j]).gameObject).name == "CurrentHealthText") { currentMaterial = componentsInChildren2[j]; ((TMP_Text)currentMaterial).text = "0"; } if (((Object)((Component)componentsInChildren2[j]).gameObject).name == "FullHealthText") { fullMaterial = componentsInChildren2[j]; ((TMP_Text)fullMaterial).text = maxMaterialValue.ToString(); } } } Image[] componentsInChildren3 = materialBar.GetComponentsInChildren<Image>(); for (int k = 0; k < componentsInChildren3.Length; k++) { if (Object.op_Implicit((Object)(object)componentsInChildren3[k]) && Object.op_Implicit((Object)(object)((Component)componentsInChildren3[k]).gameObject)) { if ((Object)(object)componentsInChildren3[k] != (Object)(object)componentsInChildren3[3] && (Object)(object)componentsInChildren3[k] != (Object)(object)componentsInChildren3[0]) { Object.Destroy((Object)(object)((Component)componentsInChildren3[k]).gameObject); } if ((Object)(object)componentsInChildren3[k] == (Object)(object)componentsInChildren3[3]) { barImage = componentsInChildren3[k]; ((Graphic)barImage).color = Color.gray; barImage.type = (Type)3; barImage.fillMethod = (FillMethod)0; barImage.fillCenter = false; } } } } private void OnDisable() { //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected O, but got Unknown InstanceTracker.Remove<BuilderBehaviour>(this); HUD.Update -= new hook_Update(HUD_Update); if (Object.op_Implicit((Object)(object)materialBar)) { Object.Destroy((Object)(object)materialBar); } if (Object.op_Implicit((Object)(object)structureSkillBarRoot)) { Object.Destroy((Object)(object)structureSkillBarRoot); } if (Object.op_Implicit((Object)(object)blueprint)) { Object.Destroy((Object)(object)((Component)blueprint).gameObject); } } private GameObject CreateNewContainer(string name, GameObject source, int cost, out SkillIcon skillIcon) { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Expected O, but got Unknown //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) GameObject val = new GameObject(name, new Type[1] { typeof(RectTransform) }); val.transform.localPosition = Vector3.zero; val.transform.localScale = Vector3.one; val.transform.SetParent(structureSkillBarRoot.transform); val.AddComponent<LayoutElement>(); val.AddComponent<idkeither>(); GameObject val2 = Object.Instantiate<GameObject>(source, val.transform); ((Object)val2).name = name.Replace("Container", "Skill"); SkillIcon component = val2.GetComponent<SkillIcon>(); ((Behaviour)component).enabled = false; Object.Destroy((Object)(object)((Component)component.cooldownText).gameObject); Object.Destroy((Object)(object)((Component)component.cooldownRemapPanel).gameObject); Object.Destroy((Object)(object)((Component)((Component)component).transform.Find("SkillBackgroundPanel")).gameObject); ((TMP_Text)component.stockText).text = cost.ToString(); component.isReadyPanelObject.SetActive(false); skillIcon = component; return val; } static BuilderBehaviour() { //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Expected O, but got Unknown //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Expected O, but got Unknown //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Expected O, but got Unknown //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Expected O, but got Unknown //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Expected O, but got Unknown //IL_00fc: Unknown result type (might be due to invalid IL or missing references) //IL_0106: Expected O, but got Unknown sharedStringBuilder = new StringBuilder(); kCmdCmdContainerInteraction = -866745165; NetworkBehaviour.RegisterCommandDelegate(typeof(BuilderBehaviour), kCmdCmdContainerInteraction, new CmdDelegate(InvokeCmdCmdContainerInteraction)); kCmdCmdUpdateStructureUI = 508101660; NetworkBehaviour.RegisterCommandDelegate(typeof(BuilderBehaviour), kCmdCmdUpdateStructureUI, new CmdDelegate(InvokeCmdCmdUpdateStructureUI)); kCmdCmdRotateStructure = 1653218102; NetworkBehaviour.RegisterCommandDelegate(typeof(BuilderBehaviour), kCmdCmdRotateStructure, new CmdDelegate(InvokeCmdCmdRotateStructure)); kRpcRpcContainerInteraction = -1991089783; NetworkBehaviour.RegisterRpcDelegate(typeof(BuilderBehaviour), kRpcRpcContainerInteraction, new CmdDelegate(InvokeRpcRpcContainerInteraction)); kRpcRpcUpdateStructureUI = 1901610758; NetworkBehaviour.RegisterRpcDelegate(typeof(BuilderBehaviour), kRpcRpcUpdateStructureUI, new CmdDelegate(InvokeRpcRpcUpdateStructureUI)); kRpcRpcRotateStructure = 394334368; NetworkBehaviour.RegisterRpcDelegate(typeof(BuilderBehaviour), kRpcRpcRotateStructure, new CmdDelegate(InvokeRpcRpcRotateStructure)); NetworkCRC.RegisterBehaviour("BuilderBehaviour", 0); } private void UNetVersion() { } protected static void InvokeCmdCmdContainerInteraction(NetworkBehaviour obj, NetworkReader reader) { if (!NetworkServer.active) { Debug.LogError((object)"Command CmdContainerInteraction called on client."); } else { ((BuilderBehaviour)(object)obj).CmdContainerInteraction((int)reader.ReadPackedUInt32()); } } protected static void InvokeCmdCmdUpdateStructureUI(NetworkBehaviour obj, NetworkReader reader) { if (!NetworkServer.active) { Debug.LogError((object)"Command CmdUpdateStructureUI called on client."); } else { ((BuilderBehaviour)(object)obj).CmdUpdateStructureUI((Structure)reader.ReadInt32()); } } protected static void InvokeCmdCmdRotateStructure(NetworkBehaviour obj, NetworkReader reader) { if (!NetworkServer.active) { Debug.LogError((object)"Command CmdRotateStructure called on client."); } else { ((BuilderBehaviour)(object)obj).CmdRotateStructure(reader.ReadSingle()); } } public void CallCmdContainerInteraction(int index) { //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0058: Unknown result type (might be due to invalid IL or missing references) if (!NetworkClient.active) { Debug.LogError((object)"Command function CmdContainerInteraction called on server."); return; } if (((NetworkBehaviour)this).isServer) { CmdContainerInteraction(index); return; } NetworkWriter val = new NetworkWriter(); val.Write((short)0); val.Write((short)5); val.WritePackedUInt32((uint)kCmdCmdContainerInteraction); val.Write(((Component)this).GetComponent<NetworkIdentity>().netId); val.WritePackedUInt32((uint)index); ((NetworkBehaviour)this).SendCommandInternal(val, 0, "CmdContainerInteraction"); } public void CallCmdUpdateStructureUI(Structure struc) { //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0058: Unknown result type (might be due to invalid IL or missing references) if (!NetworkClient.active) { Debug.LogError((object)"Command function CmdUpdateStructureUI called on server."); return; } if (((NetworkBehaviour)this).isServer) { CmdUpdateStructureUI(struc); return; } NetworkWriter val = new NetworkWriter(); val.Write((short)0); val.Write((short)5); val.WritePackedUInt32((uint)kCmdCmdUpdateStructureUI); val.Write(((Component)this).GetComponent<NetworkIdentity>().netId); val.Write((int)struc); ((NetworkBehaviour)this).SendCommandInternal(val, 0, "CmdUpdateStructureUI"); } public void CallCmdRotateStructure(float y) { //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0058: Unknown result type (might be due to invalid IL or missing references) if (!NetworkClient.active) { Debug.LogError((object)"Command function CmdRotateStructure called on server."); return; } if (((NetworkBehaviour)this).isServer) { CmdRotateStructure(y); return; } NetworkWriter val = new NetworkWriter(); val.Write((short)0); val.Write((short)5); val.WritePackedUInt32((uint)kCmdCmdRotateStructure); val.Write(((Component)this).GetComponent<NetworkIdentity>().netId); val.Write(y); ((NetworkBehaviour)this).SendCommandInternal(val, 0, "CmdRotateStructure"); } protected static void InvokeRpcRpcContainerInteraction(NetworkBehaviour obj, NetworkReader reader) { if (!NetworkClient.active) { Debug.LogError((object)"RPC RpcContainerInteraction called on server."); } else { ((BuilderBehaviour)(object)obj).RpcContainerInteraction((int)reader.ReadPackedUInt32()); } } protected static void InvokeRpcRpcUpdateStructureUI(NetworkBehaviour obj, NetworkReader reader) { if (!NetworkClient.active) { Debug.LogError((object)"RPC RpcUpdateStructureUI called on server."); } else { ((BuilderBehaviour)(object)obj).RpcUpdateStructureUI((Structure)reader.ReadInt32()); } } protected static void InvokeRpcRpcRotateStructure(NetworkBehaviour obj, NetworkReader reader) { if (!NetworkClient.active) { Debug.LogError((object)"RPC RpcRotateStructure called on server."); } else { ((BuilderBehaviour)(object)obj).RpcRotateStructure(reader.ReadSingle()); } } public void CallRpcContainerInteraction(int index) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Expected O, but got Unknown //IL_0041: Unknown result type (might be due to invalid IL or missing references) if (!NetworkServer.active) { Debug.LogError((object)"RPC Function RpcContainerInteraction called on client."); return; } NetworkWriter val = new NetworkWriter(); val.Write((short)0); val.Write((short)2); val.WritePackedUInt32((uint)kRpcRpcContainerInteraction); val.Write(((Component)this).GetComponent<NetworkIdentity>().netId); val.WritePackedUInt32((uint)index); ((NetworkBehaviour)this).SendRPCInternal(val, 0, "RpcContainerInteraction"); } public void CallRpcUpdateStructureUI(Structure struc) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Expected O, but got Unknown //IL_0041: Unknown result type (might be due to invalid IL or missing references) if (!NetworkServer.active) { Debug.LogError((object)"RPC Function RpcUpdateStructureUI called on client."); return; } NetworkWriter val = new NetworkWriter(); val.Write((short)0); val.Write((short)2); val.WritePackedUInt32((uint)kRpcRpcUpdateStructureUI); val.Write(((Component)this).GetComponent<NetworkIdentity>().netId); val.Write((int)struc); ((NetworkBehaviour)this).SendRPCInternal(val, 0, "RpcUpdateStructureUI"); } public void CallRpcRotateStructure(float y) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Expected O, but got Unknown //IL_0041: Unknown result type (might be due to invalid IL or missing references) if (!NetworkServer.active) { Debug.LogError((object)"RPC Function RpcRotateStructure called on client."); return; } NetworkWriter val = new NetworkWriter(); val.Write((short)0); val.Write((short)2); val.WritePackedUInt32((uint)kRpcRpcRotateStructure); val.Write(((Component)this).GetComponent<NetworkIdentity>().netId); val.Write(y); ((NetworkBehaviour)this).SendRPCInternal(val, 0, "RpcRotateStructure"); } public override bool OnSerialize(NetworkWriter writer, bool forceAll) { if (forceAll) { writer.Write(materialValue); return true; } bool flag = false; if ((((NetworkBehaviour)this).syncVarDirtyBits & (true ? 1u : 0u)) != 0) { if (!flag) { writer.WritePackedUInt32(((NetworkBehaviour)this).syncVarDirtyBits); flag = true; } writer.Write(materialValue); } if (!flag) { writer.WritePackedUInt32(((NetworkBehaviour)this).syncVarDirtyBits); } return flag; } public override void OnDeserialize(NetworkReader reader, bool initialState) { if (initialState) { materialValue = reader.ReadSingle(); return; } int num = (int)reader.ReadPackedUInt32(); if (((uint)num & (true ? 1u : 0u)) != 0) { materialValue = reader.ReadSingle(); } } } internal class idkeither : MonoBehaviour { private void OnEnable() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_0021: 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) if (((Component)this).transform.localScale != Vector3.one) { ((Component)this).transform.localScale = Vector3.one; } if (((Component)this).transform.localPosition != Vector3.zero) { ((Component)this).transform.localPosition = Vector3.zero; } } } internal class BunkerBuffBehaviour : MonoBehaviour { public TeamIndex team; private float stopwatch; public void OnTriggerStay(Collider collider) { //IL_002b: 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) { return; } CharacterBody component = ((Component)collider).GetComponent<CharacterBody>(); if (!Object.op_Implicit((Object)(object)component) || !component.isPlayerControlled || component.teamComponent.teamIndex != team) { return; } stopwatch += Time.fixedDeltaTime; if (stopwatch >= 0.5f) { stopwatch = 0f; if (component.timedBuffs.Find((TimedBuff x) => x.buffIndex == Buffs.Immune.buffIndex) == null) { component.AddTimedBuff(Buffs.Immune, 0.5f); } } } } internal class CleanseBehaviour : MonoBehaviour { private float stopwatch; public float radius = 10f; private TeamFilter teamFilter; private void OnEnable() { teamFilter = ((Component)this).GetComponent<TeamFilter>(); } private void FixedUpdate() { //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) stopwatch += Time.fixedDeltaTime; if (!(stopwatch >= 0.5f) || !NetworkServer.active) { return; } float num = radius * radius; foreach (TeamComponent teamMember in TeamComponent.GetTeamMembers(teamFilter.teamIndex)) { Vector3 val = ((Component)teamMember).transform.position - ((Component)this).transform.position; if (((Vector3)(ref val)).sqrMagnitude <= num) { CharacterBody component = ((Component)teamMember).GetComponent<CharacterBody>(); if (Object.op_Implicit((Object)(object)component)) { Util.CleanseBody(component, true, false, true, true, true, false); component.AddTimedBuff(Prefabs.fogImmunity, 0.5f); } } } } } internal class ContainerInteraction : NetworkBehaviour, IInteractable, IDisplayNameProvider { public bool isOpen = false; public Animator animator; private void OnEnable() { animator = ((Component)this).GetComponentInChildren<Animator>(); InstanceTracker.Add<ContainerInteraction>(this); } private void OnDisable() { InstanceTracker.Remove<ContainerInteraction>(this); } public string GetContextString([NotNull] Interactor activator) { if (isOpen) { return "Close"; } return "Open"; } public void OnInteractionBegin([NotNull] Interactor activator) { } public void OnInteraction() { isOpen = !isOpen; if (Object.op_Implicit((Object)(object)animator)) { animator.SetBool("open", isOpen); } } public Interactability GetInteractability([NotNull] Interactor activator) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (Interactability)2; } public bool ShouldIgnoreSpherecastForInteractibility([NotNull] Interactor activator) { return false; } public bool ShouldShowOnScanner() { return false; } public string GetDisplayName() { return "Container Door"; } 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) { } } internal class DisplayBehaviour : MonoBehaviour { private BodyIndex bodyIndex; private MeshRenderer renderer; private MeshFilter meshFilter; private void OnEnable() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) bodyIndex = BodyCatalog.FindBodyIndex("BuilderBody"); LocalUser firstLocalUser = LocalUserManager.GetFirstLocalUser(); if (firstLocalUser != null && firstLocalUser.userProfile != null && Object.op_Implicit((Object)(object)firstLocalUser.currentNetworkUser)) { firstLocalUser.userProfile.onLoadoutChanged += UserProfile_onLoadoutChanged; } renderer = ((Component)((Component)this).GetComponent<ChildLocator>().FindChild("MainWeapon")).GetComponentInChildren<MeshRenderer>(); meshFilter = ((Component)renderer).GetComponent<MeshFilter>(); Animator component = ((Component)this).GetComponent<Animator>(); component.SetBool("isGrounded", true); component.Play("Idle"); } private void UserProfile_onLoadoutChanged() { //IL_0036: Unknown result type (might be due to invalid IL or missing references) LocalUser firstLocalUser = LocalUserManager.GetFirstLocalUser(); if (firstLocalUser != null && firstLocalUser.userProfile != null && Object.op_Implicit((Object)(object)firstLocalUser.currentNetworkUser)) { if (firstLocalUser.userProfile.loadout.bodyLoadoutManager.GetSkillVariant(bodyIndex, 0) == 0) { ((Renderer)renderer).material = Prefabs.shotgunMat; meshFilter.mesh = Prefabs.shotgunMesh; } else { ((Renderer)renderer).material = Prefabs.mp40Mat; meshFilter.mesh = Prefabs.mp40Mesh; } } } private void OnDisable() { LocalUser firstLocalUser = LocalUserManager.GetFirstLocalUser(); if (firstLocalUser != null && firstLocalUser.userProfile != null && Object.op_Implicit((Object)(object)firstLocalUser.currentNetworkUser)) { firstLocalUser.userProfile.onLoadoutChanged -= UserProfile_onLoadoutChanged; } } } internal class ModelBehaviour : MonoBehaviour { private MeshRenderer renderer; private MeshFilter meshFilter; private BodyIndex bodyIndex; private void OnEnable() { //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0038: 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) renderer = ((Component)((Component)this).GetComponent<ChildLocator>().FindChild("MainWeapon")).GetComponentInChildren<MeshRenderer>(); meshFilter = ((Component)renderer).GetComponent<MeshFilter>(); bodyIndex = BodyCatalog.FindBodyIndex("BuilderBody"); LocalUser firstLocalUser = LocalUserManager.GetFirstLocalUser(); if (firstLocalUser == null || firstLocalUser.userProfile == null || !Object.op_Implicit((Object)(object)firstLocalUser.currentNetworkUser) || firstLocalUser.userProfile.loadout.bodyLoadoutManager == null) { return; } switch (firstLocalUser.userProfile.loadout.bodyLoadoutManager.GetSkillVariant(bodyIndex, 0)) { case 0u: if (Object.op_Implicit((Object)(object)Prefabs.shotgunMat)) { ((Renderer)renderer).material = Object.Instantiate<Material>(Prefabs.shotgunMat); } if (Object.op_Implicit((Object)(object)Prefabs.shotgunMesh)) { meshFilter.mesh = Prefabs.shotgunMesh; } break; case 1u: if (Object.op_Implicit((Object)(object)Prefabs.mp40Mat)) { ((Renderer)renderer).material = Object.Instantiate<Material>(Prefabs.mp40Mat); } if (Object.op_Implicit((Object)(object)Prefabs.mp40Mesh)) { meshFilter.mesh = Prefabs.mp40Mesh; } break; } } } internal class TowerBehaviour : MonoBehaviour { private float stopwatch; private void FixedUpdate() { //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) if (NetworkServer.active) { stopwatch += Time.fixedDeltaTime; if (stopwatch >= 15f) { stopwatch = 0f; NetworkServer.Spawn(Object.Instantiate<GameObject>(Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Scanner/ChestScanner.prefab").WaitForCompletion(), ((Component)this).transform.position, Quaternion.identity)); } } } } internal class TowerTPBehaviour : MonoBehaviour { public TeamIndex team = (TeamIndex)1; public Transform tpTransform; public void OnTriggerStay(Collider collider) { //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Expected O, but got Unknown //IL_0070: Unknown result type (might be due to invalid IL or missing references) CharacterBody component = ((Component)collider).GetComponent<CharacterBody>(); if (Object.op_Implicit((Object)(object)component) && component.isPlayerControlled && component.teamComponent.teamIndex == team) { if (Object.op_Implicit((Object)(object)component.characterMotor)) { component.characterMotor.velocity = Vector3.zero; } if (Util.HasEffectiveAuthority(((Component)component).gameObject)) { TeleportHelper.TeleportBody(component, tpTransform.position); } Util.PlaySound("Play_huntress_shift_end", ((Component)component).gameObject); EffectData val = new EffectData { origin = tpTransform.position, rotation = Quaternion.Euler(90f, 0f, 0f) }; EffectManager.SpawnEffect(BlinkState.blinkPrefab, val, false); } } } internal class BuilderSkillDef : SkillDef { private class InstanceData : BaseSkillInstanceData { public BuilderBehaviour behaviour; } public override BaseSkillInstanceData OnAssigned([NotNull] GenericSkill skillSlot) { return (BaseSkillInstanceData)(object)new InstanceData { behaviour = ((Component)skillSlot).GetComponent<BuilderBehaviour>() }; } internal static bool IsExecutable([NotNull] GenericSkill skillSlot) { BuilderBehaviour behaviour = ((InstanceData)(object)skillSlot.skillInstanceData).behaviour; if (MainPlugin.cheatMode.Value) { return true; } switch (behaviour.structure) { case BuilderBehaviour.Structure.containerTower: if (behaviour.currentMaterialValue >= 25f) { return true; } break; case BuilderBehaviour.Structure.wall: if (behaviour.currentMaterialValue >= 50f) { return true; } break; case BuilderBehaviour.Structure.radarTower: if (behaviour.currentMaterialValue >= 300f) { return true; } break; case BuilderBehaviour.Structure.bunker: if (behaviour.currentMaterialValue >= 600f) { return true; } break; } return false; } public override bool CanExecute([NotNull] GenericSkill skillSlot) { return IsExecutable(skillSlot) && ((SkillDef)this).CanExecute(skillSlot); } public override bool IsReady([NotNull] GenericSkill skillSlot) { return ((SkillDef)this).IsReady(skillSlot) && IsExecutable(skillSlot); } } internal class Hook { internal static void Hooks() { //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Expected O, but got Unknown //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Expected O, but got Unknown //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Expected O, but got Unknown //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Expected O, but got Unknown GlobalEventManager.onCharacterDeathGlobal += GlobalEventManager_onCharacterDeathGlobal; BarrelInteraction.OnInteractionBegin += new hook_OnInteractionBegin(BarrelInteraction_OnInteractionBegin); ChestBehavior.ItemDrop += new hook_ItemDrop(ChestBehavior_ItemDrop); HealthComponent.TakeDamage += new hook_TakeDamage(HealthComponent_TakeDamage); Interactor.AttemptInteraction += new hook_AttemptInteraction(Interactor_AttemptInteraction); } private static void Interactor_AttemptInteraction(orig_AttemptInteraction orig, Interactor self, GameObject interactableObject) { ContainerInteraction component = interactableObject.GetComponent<ContainerInteraction>(); BuilderBehaviour component2 = ((Component)self).GetComponent<BuilderBehaviour>(); if (Object.op_Implicit((Object)(object)component) && Object.op_Implicit((Object)(object)component2)) { component2.CallCmdContainerInteraction(InstanceTracker.GetInstancesList<ContainerInteraction>().IndexOf(component)); } orig.Invoke(self, interactableObject); } private static void HealthComponent_TakeDamage(orig_TakeDamage orig, HealthComponent self, DamageInfo damageInfo) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Invalid comparison between Unknown and I4 //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Invalid comparison between Unknown and I4 if ((int)damageInfo.damageType == 66 && (int)damageInfo.damageColorIndex == 9 && Object.op_Implicit((Object)(object)self.body) && self.body.HasBuff(Prefabs.fogImmunity)) { damageInfo.rejected = true; } orig.Invoke(self, damageInfo); } private static void ChestBehavior_ItemDrop(orig_ItemDrop orig, ChestBehavior self) { orig.Invoke(self); PurchaseInteraction component = ((Component)self).gameObject.GetComponent<PurchaseInteraction>(); Utils.GiveAllBuildersMaterial(Object.op_Implicit((Object)(object)component) ? component.cost : 15); } private static void BarrelInteraction_OnInteractionBegin(orig_OnInteractionBegin orig, BarrelInteraction self, Interactor activator) { orig.Invoke(self, activator); Utils.GiveAllBuildersMaterial(15f); } private static void GlobalEventManager_onCharacterDeathGlobal(DamageReport damageReport) { if (!Object.op_Implicit((Object)(object)damageReport.victimBody) || !Object.op_Implicit((Object)(object)damageReport.attacker)) { return; } BuilderBehaviour component = damageReport.attacker.GetComponent<BuilderBehaviour>(); if (Object.op_Implicit((Object)(object)damageReport.attackerBody) && Object.op_Implicit((Object)(object)damageReport.attackerBody.master) && Object.op_Implicit((Object)(object)damageReport.attackerBody.master.minionOwnership) && Object.op_Implicit((Object)(object)damageReport.attackerBody.master.minionOwnership.ownerMaster)) { CharacterBody body = damageReport.attackerBody.master.minionOwnership.ownerMaster.GetBody(); if (Object.op_Implicit((Object)(object)body) && !Object.op_Implicit((Object)(object)component)) { component = ((Component)body).GetComponent<BuilderBehaviour>(); } } if (Object.op_Implicit((Object)(object)component)) { float value = 10f; if (damageReport.victimBody.isElite) { value = 25f; } else if (damageReport.victimBody.isChampion) { value = 45f; } else if (damageReport.victimBody.isBoss) { value = 75f; } component.AddMaterial(value); } } } internal class ItemDisplays { internal static ItemDisplayRuleSet itemDisplayRuleSet; internal static List<KeyAssetRuleGroup> itemDisplayRules; private static Dictionary<Object, GameObject> itemDisplayPrefabs = new Dictionary<Object, GameObject>(); private static Vector3 vec = Vector3.one; internal static void PopulateDisplays() { PopulateFromBody("Commando"); PopulateFromBody("Croco"); PopulateFromBody("Mage"); } private static void PopulateFromBody(string bodyName) { ItemDisplayRuleSet val = ((Component)LegacyResourcesAPI.Load<GameObject>("Prefabs/CharacterBodies/" + bodyName + "Body").GetComponent<ModelLocator>().modelTransform).GetComponent<CharacterModel>().itemDisplayRuleSet; KeyAssetRuleGroup[] keyAssetRuleGroups = val.keyAssetRuleGroups; for (int i = 0; i < keyAssetRuleGroups.Length; i++) { ItemDisplayRule[] rules = keyAssetRuleGroups[i].displayRuleGroup.rules; for (int j = 0; j < rules.Length; j++) { GameObject followerPrefab = rules[j].followerPrefab; if (Object.op_Implicit((Object)(object)followerPrefab)) { Object keyAsset = keyAssetRuleGroups[i].keyAsset; ItemDef val2 = (ItemDef)(object)((keyAsset is ItemDef) ? keyAsset : null); Object keyAsset2 = keyAssetRuleGroups[i].keyAsset; EquipmentDef val3 = (EquipmentDef)(object)((keyAsset2 is EquipmentDef) ? keyAsset2 : null); if ((Object)(object)val2 != (Object)null && !itemDisplayPrefabs.ContainsKey((Object)(object)val2)) { itemDisplayPrefabs.Add((Object)(object)val2, followerPrefab); } if ((Object)(object)val3 != (Object)null && !itemDisplayPrefabs.ContainsKey((Object)(object)val3)) { itemDisplayPrefabs.Add((Object)(object)val3, followerPrefab); } } } } } public static void RegisterDisplays() { itemDisplayRuleSet = ScriptableObject.CreateInstance<ItemDisplayRuleSet>(); ((Object)itemDisplayRuleSet).name = "BuilderIDRS"; GameObject characterPrefab = MainPlugin.characterPrefab; GameObject gameObject = ((Component)characterPrefab.GetComponentInChildren<ModelLocator>().modelTransform).gameObject; CharacterModel component = gameObject.GetComponent<CharacterModel>(); component.itemDisplayRuleSet = itemDisplayRuleSet; } public static void SetIDRS() { //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_001f: 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_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_009a: 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_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_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00df: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: Unknown result type (might be due to invalid IL or missing references) //IL_00fa: 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_0115: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_0135: Unknown result type (might be due to invalid IL or missing references) //IL_013a: Unknown result type (might be due to invalid IL or missing references) //IL_013f: Unknown result type (might be due to invalid IL or missing references) //IL_0155: Unknown result type (might be due to invalid IL or missing references) //IL_015a: Unknown result type (might be due to invalid IL or missing references) //IL_015f: Unknown result type (might be due to invalid IL or missing references) //IL_0175: Unknown result type (might be due to invalid IL or missing references) //IL_017a: Unknown result type (might be due to invalid IL or missing references) //IL_017f: Unknown result type (might be due to invalid IL or missing references) //IL_0195: Unknown result type (might be due to invalid IL or missing references) //IL_019a: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Unknown result type (might be due to invalid IL or missing references) //IL_01b5: Unknown result type (might be due to invalid IL or missing references) //IL_01ba: Unknown result type (might be due to invalid IL or missing references) //IL_01bf: Unknown result type (might be due to invalid IL or missing references) //IL_01d5: Unknown result type (might be due to invalid IL or missing references) //IL_01da: Unknown result type (might be due to invalid IL or missing references) //IL_01df: Unknown result type (might be due to invalid IL or missing references) //IL_01f5: Unknown result type (might be due to invalid IL or missing references) //IL_01fa: Unknown result type (might be due to invalid IL or missing references) //IL_01ff: Unknown result type (might be due to invalid IL or missing references) //IL_0215: Unknown result type (might be due to invalid IL or missing references) //IL_021a: Unknown result type (might be due to invalid IL or missing references) //IL_021f: Unknown result type (might be due to invalid IL or missing references) //IL_0235: Unknown result type (might be due to invalid IL or missing references) //IL_023a: Unknown result type (might be due to invalid IL or missing references) //IL_023f: Unknown result type (might be due to invalid IL or missing references) //IL_0255: Unknown result type (might be due to invalid IL or missing references) //IL_025a: Unknown result type (might be due to invalid IL or missing references) //IL_025f: Unknown result type (might be due to invalid IL or missing references) //IL_0275: Unknown result type (might be due to invalid IL or missing references) //IL_027a: Unknown result type (might be due to invalid IL or missing references) //IL_027f: Unknown result type (might be due to invalid IL or missing references) //IL_0295: Unknown result type (might be due to invalid IL or missing references) //IL_029a: Unknown result type (might be due to invalid IL or missing references) //IL_029f: Unknown result type (might be due to invalid IL or missing references) //IL_02b5: Unknown result type (might be due to invalid IL or missing references) //IL_02ba: Unknown result type (might be due to invalid IL or missing references) //IL_02bf: Unknown result type (might be due to invalid IL or missing references) //IL_02d5: Unknown result type (might be due to invalid IL or missing references) //IL_02da: Unknown result type (might be due to invalid IL or missing references) //IL_02df: Unknown result type (might be due to invalid IL or missing references) //IL_02f5: Unknown result type (might be due to invalid IL or missing references) //IL_02fa: Unknown result type (might be due to invalid IL or missing references) //IL_02ff: Unknown result type (might be due to invalid IL or missing references) //IL_0315: Unknown result type (might be due to invalid IL or missing references) //IL_031a: Unknown result type (might be due to invalid IL or missing references) //IL_031f: Unknown result type (might be due to invalid IL or missing references) //IL_0335: Unknown result type (might be due to invalid IL or missing references) //IL_033a: Unknown result type (might be due to invalid IL or missing references) //IL_033f: Unknown result type (might be due to invalid IL or missing references) //IL_0355: Unknown result type (might be due to invalid IL or missing references) //IL_035a: Unknown result type (might be due to invalid IL or missing references) //IL_035f: Unknown result type (might be due to invalid IL or missing references) //IL_0375: Unknown result type (might be due to invalid IL or missing references) //IL_037a: Unknown result type (might be due to invalid IL or missing references) //IL_037f: Unknown result type (might be due to invalid IL or missing references) //IL_0395: Unknown result type (might be due to invalid IL or missing references) //IL_039a: Unknown result type (might be due to invalid IL or missing references) //IL_039f: Unknown result type (might be due to invalid IL or missing references) //IL_03b5: Unknown result type (might be due to invalid IL or missing references) //IL_03ba: Unknown result type (might be due to invalid IL or missing references) //IL_03bf: Unknown result type (might be due to invalid IL or missing references) //IL_03d5: Unknown result type (might be due to invalid IL or missing references) //IL_03da: Unknown result type (might be due to invalid IL or missing references) //IL_03df: Unknown result type (might be due to invalid IL or missing references) //IL_03f5: Unknown result type (might be due to invalid IL or missing references) //IL_03fa: Unknown result type (might be due to invalid IL or missing references) //IL_03ff: Unknown result type (might be due to invalid IL or missing references) //IL_0415: Unknown result type (might be due to invalid IL or missing references) //IL_041a: Unknown result type (might be due to invalid IL or missing references) //IL_041f: Unknown result type (might be due to invalid IL or missing references) //IL_0435: Unknown result type (might be due to invalid IL or missing references) //IL_043a: Unknown result type (might be due to invalid IL or missing references) //IL_043f: Unknown result type (might be due to invalid IL or missing references) //IL_0455: Unknown result type (might be due to invalid IL or missing references) //IL_045a: Unknown result type (might be due to invalid IL or missing references) //IL_045f: Unknown result type (might be due to invalid IL or missing references) //IL_0475: Unknown result type (might be due to invalid IL or missing references) //IL_047a: Unknown result type (might be due to invalid IL or missing references) //IL_047f: Unknown result type (might be due to invalid IL or missing references) //IL_0495: 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_049f: Unknown result type (might be due to invalid IL or missing references) //IL_04b5: Unknown result type (might be due to invalid IL or missing references) //IL_04ba: Unknown result type (might be due to invalid IL or missing references) //IL_04bf: Unknown result type (might be due to invalid IL or missing references) //IL_04d5: Unknown result type (might be due to invalid IL or missing references) //IL_04da: Unknown result type (might be due to invalid IL or missing references) //IL_04df: Unknown result type (might be due to invalid IL or missing references) //IL_04e9: Unknown result type (might be due to invalid IL or missing references) //IL_04ee: Unknown result type (might be due to invalid IL or missing references) //IL_04f3: Unknown result type (might be due to invalid IL or missing references) //IL_0509: Unknown result type (might be due to invalid IL or missing references) //IL_050e: Unknown result type (might be due to invalid IL or missing references) //IL_0513: Unknown result type (might be due to invalid IL or missing references) //IL_0529: Unknown result type (might be due to invalid IL or missing references) //IL_052e: Unknown result type (might be due to invalid IL or missing references) //IL_0533: Unknown result type (might be due to invalid IL or missing references) //IL_0549: Unknown result type (might be due to invalid IL or missing references) //IL_054e: Unknown result type (might be due to invalid IL or missing references) //IL_0553: Unknown result type (might be due to invalid IL or missing references) //IL_0569: Unknown result type (might be due to invalid IL or missing references) //IL_056e: Unknown result type (might be due to invalid IL or missing references) //IL_0573: Unknown result type (might be due to invalid IL or missing references) //IL_0589: Unknown result type (might be due to invalid IL or missing references) //IL_058e: Unknown result type (might be due to invalid IL or missing references) //IL_0593: Unknown result type (might be due to invalid IL or missing references) //IL_05a9: Unknown result type (might be due to invalid IL or missing references) //IL_05ae: Unknown result type (might be due to invalid IL or missing references) //IL_05b3: Unknown result type (might be due to invalid IL or missing references) //IL_05c9: Unknown result type (might be due to invalid IL or missing references) //IL_05ce: Unknown result type (might be due to invalid IL or missing references) //IL_05d3: Unknown result type (might be due to invalid IL or missing references) //IL_05e9: Unknown result type (might be due to invalid IL or missing references) //IL_05ee: Unknown result type (might be due to invalid IL or missing references) //IL_05f3: Unknown result type (might be due to invalid IL or missing references) //IL_0609: Unknown result type (might be due to invalid IL or missing references) //IL_060e: Unknown result type (might be due to invalid IL or missing references) //IL_0613: Unknown result type (might be due to invalid IL or missing references) //IL_0629: Unknown result type (might be due to invalid IL or missing references) //IL_062e: Unknown result type (might be due to invalid IL or missing references) //IL_0633: Unknown result type (might be due to invalid IL or missing references) //IL_0649: Unknown result type (might be due to invalid IL or missing references) //IL_064e: Unknown result type (might be due to invalid IL or missing references) //IL_0653: Unknown result type (might be due to invalid IL or missing references) //IL_0669: Unknown result type (might be due to invalid IL or missing references) //IL_066e: Unknown result type (might be due to invalid IL or missing references) //IL_0673: Unknown result type (might be due to invalid IL or missing references) //IL_0689: Unknown result type (might be due to invalid IL or missing references) //IL_068e: Unknown result type (might be due to invalid IL or missing references) //IL_0693: Unknown result type (might be due to invalid IL or missing references) //IL_06a9: Unknown result type (might be due to invalid IL or missing references) //IL_06ae: Unknown result type (might be due to invalid IL or missing references) //IL_06b3: Unknown result type (might be due to invalid IL or missing references) //IL_06c9: Unknown result type (might be due to invalid IL or missing references) //IL_06ce: Unknown result type (might be due to invalid IL or missing references) //IL_06d3: Unknown result type (might be due to invalid IL or missing references) //IL_06e9: Unknown result type (might be due to invalid IL or missing references) //IL_06ee: Unknown result type (might be due to invalid IL or missing references) //IL_06f3: Unknown result type (might be due to invalid IL or missing references) //IL_0709: Unknown result type (might be due to invalid IL or missing references) //IL_070e: Unknown result type (might be due to invalid IL or missing references) //IL_0713: Unknown result type (might be due to invalid IL or missing references) //IL_0729: Unknown result type (might be due to invalid IL or missing references) //IL_072e: Unknown result type (might be due to invalid IL or missing references) //IL_0733: Unknown result type (might be due to invalid IL or missing references) //IL_0749: Unknown result type (might be due to invalid IL or missing references) //IL_074e: Unknown result type (might be due to invalid IL or missing references) //IL_0753: Unknown result type (might be due to invalid IL or missing references) //IL_0769: Unknown result type (might be due to invalid IL or missing references) //IL_076e: Unknown result type (might be due to invalid IL or missing references) //IL_0773: Unknown result type (might be due to invalid IL or missing references) //IL_0789: Unknown result type (might be due to invalid IL or missing references) //IL_078e: Unknown result type (might be due to invalid IL or missing references) //IL_0793: Unknown result type (might be due to invalid IL or missing references) //IL_079d: Unknown result type (might be due to invalid IL or missing references) //IL_07a2: Unknown result type (might be due to invalid IL or missing references) //IL_07a7: Unknown result type (might be due to invalid IL or missing references) //IL_07bd: Unknown result type (might be due to invalid IL or missing references) //IL_07c2: Unknown result type (might be due to invalid IL or missing references) //IL_07c7: Unknown result type (might be due to invalid IL or missing references) //IL_07dd: Unknown result type (might be due to invalid IL or missing references) //IL_07e2: Unknown result type (might be due to invalid IL or missing references) //IL_07e7: Unknown result type (might be due to invalid IL or missing references) //IL_07fd: Unknown result type (might be due to invalid IL or missing references) //IL_0802: Unknown result type (might be due to invalid IL or missing references) //IL_0807: Unknown result type (might be due to invalid IL or missing references) //IL_081d: Unknown result type (might be due to invalid IL or missing references) //IL_0822: Unknown result type (might be due to invalid IL or missing references) //IL_0827: Unknown result type (might be due to invalid IL or missing references) //IL_083d: Unknown result type (might be due to invalid IL or missing references) //IL_0842: Unknown result type (might be due to invalid IL or missing references) //IL_0847: Unknown result type (might be due to invalid IL or missing references) //IL_085d: Unknown result type (might be due to invalid IL or missing references) //IL_0862: Unknown result type (might be due to invalid IL or missing references) //IL_0867: Unknown result type (might be due to invalid IL or missing references) //IL_087d: Unknown result type (might be due to invalid IL or missing references) //IL_0882: Unknown result type (might be due to invalid IL or missing references) //IL_0887: Unknown result type (might be due to invalid IL or missing references) //IL_089d: Unknown result type (might be due to invalid IL or missing references) //IL_08a2: Unknown result type (might be due to invalid IL or missing references) //IL_08a7: Unknown result type (might be due to invalid IL or missing references) //IL_08bd: Unknown result type (might be due to invalid IL or missing references) //IL_08c2: Unknown result type (might be due to invalid IL or missing references) //IL_08c7: Unknown result type (might be due to invalid IL or missing references) //IL_08dd: Unknown result type (might be due to invalid IL or missing references) //IL_08e2: Unknown result type (might be due to invalid IL or missing references) //IL_08e7: Unknown result type (might be due to invalid IL or missing references) //IL_08fd: Unknown result type (might be due to invalid IL or missing references) //IL_0902: Unknown result type (might be due to invalid IL or missing references) //IL_0907: Unknown result type (might be due to invalid IL or missing references) //IL_091d: Unknown result type (might be due to invalid IL or missing references) //IL_0922: Unknown result type (might be due to invalid IL or missing references) //IL_0927: Unknown result type (might be due to invalid IL or missing references) //IL_093d: Unknown result type (might be due to invalid IL or missing references) //IL_0942: Unknown result type (might be due to invalid IL or missing references) //IL_0947: Unknown result type (might be due to invalid IL or missing references) //IL_095d: Unknown result type (might be due to invalid IL or missing references) //IL_0962: Unknown result type (might be due to invalid IL or missing references) //IL_0967: Unknown result type (might be due to invalid IL or missing references) //IL_097d: Unknown result type (might be due to invalid IL or missing references) //IL_0982: Unknown result type (might be due to invalid IL or missing references) //IL_0987: Unknown result type (might be due to invalid IL or missing references) //IL_099d: Unknown result type (might be due to invalid IL or missing references) //IL_09a2: Unknown result type (might be due to invalid IL or missing references) //IL_09a7: Unknown result type (might be due to invalid IL or missing references) //IL_09bd: Unknown result type (might be due to invalid IL or missing references) //IL_09c2: Unknown result type (might be due to invalid IL or missing references) //IL_09c7: Unknown result type (might be due to invalid IL or missing references) //IL_09dd: Unknown result type (might be due to invalid IL or missing references) //IL_09e2: Unknown result type (might be due to invalid IL or missing references) //IL_09e7: Unknown result type (might be due to invalid IL or missing references) //IL_09fd: Unknown result type (might be due to invalid IL or missing references) //IL_0a02: Unknown result type (might be due to invalid IL or missing references) //IL_0a07: Unknown result type (might be due to invalid IL or missing references) //IL_0a1d: Unknown result type (might be due to invalid IL or missing references) //IL_0a22: Unknown result type (might be due to invalid IL or missing references) //IL_0a27: Unknown result type (might be due to invalid IL or missing references) //IL_0a3d: Unknown result type (might be due to invalid IL or missing references) //IL_0a42: Unknown result type (might be due to invalid IL or missing references) //IL_0a47: Unknown result type (might be due to invalid IL or missing references) //IL_0a5d: Unknown result type (might be due to invalid IL or missing references) //IL_0a62: Unknown result type (might be due to invalid IL or missing references) //IL_0a67: Unknown result type (might be due to invalid IL or missing references) //IL_0a71: Unknown result type (might be due to invalid IL or missing references) //IL_0a76: Unknown result type (might be due to invalid IL or missing references) //IL_0a7b: Unknown result type (might be due to invalid IL or missing references) //IL_0a91: Unknown result type (might be due to invalid IL or missing references) //IL_0a96: Unknown result type (might be due to invalid IL or missing references) //IL_0a9b: Unknown result type (might be due to invalid IL or missing references) //IL_0ab1: Unknown result type (might be due to invalid IL or missing references) //IL_0ab6: Unknown result type (might be due to invalid IL or missing references) //IL_0abb: Unknown result type (might be due to invalid IL or missing references) //IL_0ad1: Unknown result type (might be due to invalid IL or missing references) //IL_0ad6: Unknown result type (might be due to invalid IL or missing references) //IL_0adb: Unknown result type (might be due to invalid IL or missing references) //IL_0af1: Unknown result type (might be due to invalid IL or missing references) //IL_0af6: Unknown result type (might be due to invalid IL or missing references) //IL_0afb: Unknown result type (might be due to invalid IL or missing references) //IL_0b11: Unknown result type (might be due to invalid IL or missing references) //IL_0b16: Unknown result type (might be due to invalid IL or missing references) //IL_0b1b: Unknown result type (might be due to invalid IL or missing references) //IL_0b31: Unknown result type (might be due to invalid IL or missing references) //IL_0b36: Unknown result type (might be due to invalid IL or missing references) //IL_0b3b: Unknown result type (might be due to invalid IL or missing references) //IL_0b51: Unknown result type (might be due to invalid IL or missing references) //IL_0b56: Unknown result type (might be due to invalid IL or missing references) //IL_0b5b: Unknown result type (might be due to invalid IL or missing references) //IL_0b71: Unknown result type (might be due to invalid IL or missing references) //IL_0b76: Unknown result type (might be due to invalid IL or missing references) //IL_0b7b: Unknown result type (might be due to invalid IL or missing references) //IL_0b91: Unknown result type (might be due to invalid IL or missing references) //IL_0b96: Unknown result type (might be due to invalid IL or missing references) //IL_0b9b: Unknown result type (might be due to invalid IL or missing references) //IL_0bb1: Unknown result type (might be due to invalid IL or missing references) //IL_0bb6: Unknown result type (might be due to invalid IL or missing references) //IL_0bbb: Unknown result type (might be due to invalid IL or missing references) //IL_0bd1: Unknown result type (might be due to invalid IL or missing references) //IL_0bd6: Unknown result type (might be due to invalid IL or missing references) //IL_0bdb: Unknown result type (might be due to invalid IL or missing references) //IL_0bf1: Unknown result type (might be due to invalid IL or missing references) //IL_0bf6: Unknown result type (might be due to invalid IL or missing references) //IL_0bfb: Unknown result type (might be due to invalid IL or missing references) //IL_0c11: Unknown result type (might be due to invalid IL or missing references) //IL_0c16: Unknown result type (might be due to invalid IL or missing references) //IL_0c1b: Unknown result type (might be due to invalid IL or missing references) //IL_0c31: Unknown result type (might be due to invalid IL or missing references) //IL_0c36: Unknown result type (might be due to invalid IL or missing references) //IL_0c3b: Unknown result type (might be due to invalid IL or missing references) //IL_0c51: Unknown result type (might be due to invalid IL or missing references) //IL_0c56: Unknown result type (might be due to invalid IL or missing references) //IL_0c5b: Unknown result type (might be due to invalid IL or missing references) //IL_0c71: Unknown result type (might be due to invalid IL or missing references) //IL_0c76: Unknown result type (might be due to invalid IL or missing references) //IL_0c7b: Unknown result type (might be due to invalid IL or missing references) //IL_0c91: Unknown result type (might be due to invalid IL or missing references) //IL_0c96: Unknown result type (might be due to invalid IL or missing references) //IL_0c9b: Unknown result type (might be due to invalid IL or missing references) //IL_0cb1: Unknown result type (might be due to invalid IL or missing references) //IL_0cb6: Unknown result type (might be due to invalid IL or missing references) //IL_0cbb: Unknown result type (might be due to invalid IL or missing references) //IL_0cd1: Unknown result type (might be due to invalid IL or missing references) //IL_0cd6: Unknown result type (might be due to invalid IL or missing references) //IL_0cdb: Unknown result type (might be due to invalid IL or missing references) //IL_0cf1: Unknown result type (might be due to invalid IL or missing references) //IL_0cf6: Unknown result type (might be due to invalid IL or missing references) //IL_0cfb: Unknown result type (might be due to invalid IL or missing references) //IL_0d11: Unknown result type (might be due to invalid IL or missing references) //IL_0d16: Unknown result type (might be due to invalid IL or missing references) //IL_0d1b: Unknown result type (might be due to invalid IL or missing references) //IL_0d31: Unknown result type (might be due to invalid IL or missing references) //IL_0d36: Unknown result type (might be due to invalid IL or missing references) //IL_0d3b: Unknown result type (might be due to invalid IL or missing references) //IL_0d51: Unknown result type (might be due to invalid IL or missing references) //IL_0d56: Unknown result type (might be due to invalid IL or missing references) //IL_0d5b: Unknown result type (might be due to invalid IL or missing references) //IL_0d71: Unknown result type (might be due to invalid IL or missing references) //IL_0d76: Unknown result type (might be due to invalid IL or missing references) //IL_0d7b: Unknown result type (might be due to invalid IL or missing references) //IL_0d91: Unknown result type (might be due to invalid IL or missing references) //IL_0d96: Unknown result type (might be due to invalid IL or missing references) //IL_0d9b: Unknown result type (might be due to invalid IL or missing references) //IL_0db1: Unknown result type (might be due to invalid IL or missing references) //IL_0db6: Unknown result type (might be due to invalid IL or missing references) //IL_0dbb: Unknown result type (might be due to invalid IL or missing references) //IL_0dd1: Unknown result type (might be due to invalid IL or missing references) //IL_0dd6: Unknown result type (might be due to invalid IL or missing references) //IL_0ddb: Unknown result type (might be due to invalid IL or missing references) //IL_0df1: Unknown result type (might be due to invalid IL or missing references) //IL_0df6: Unknown result type (might be due to invalid IL or missing references) //IL_0dfb: Unknown result type (might be due to invalid IL or missing references) //IL_0e11: Unknown result type (might be due to invalid IL or missing references) //IL_0e16: Unknown result type (might be due to invalid IL or missing references) //IL_0e1b: Unknown result type (might be due to invalid IL or missing references) //IL_0e31: Unknown result type (might be due to invalid IL or missing references) //IL_0e36: Unknown result type (might be due to invalid IL or missing references) //IL_0e3b: Unknown result type (might be due to invalid IL or missing references) //IL_0e51: Unknown result type (might be due to invalid IL or missing references) //IL_0e56: Unknown result type (might be due to invalid IL or missing references) //IL_0e5b: Unknown result type (might be due to invalid IL or missing references) //IL_0e71: Unknown result type (might be due to invalid IL or missing references) //IL_0e76: Unknown result type (might be due to invalid IL or missing references) //IL_0e7b: Unknown result type (might be due to invalid IL or missing references) //IL_0e91: Unknown result type (might be due to invalid IL or missing references) //IL_0e96: Unknown result type (might be due to invalid IL or missing references) //IL_0e9b: Unknown result type (might be due to invalid IL or missing references) //IL_0eb1: Unknown result type (might be due to invalid IL or missing references) //IL_0eb6: Unknown result type (might be due to invalid IL or missing references) //IL_0ebb: Unknown result type (might be due to invalid IL or missing references) //IL_0ed1: Unknown result type (might be due to invalid IL or missing references) //IL_0ed6: Unknown result type (might be due to invalid IL or missing references) //IL_0edb: Unknown result type (might be due to invalid IL or missing references) //IL_0ef1: Unknown result type (might be due to invalid IL or missing references) //IL_0ef6: Unknown result type (might be due to invalid IL or missing references) //IL_0efb: Unknown result type (might be due to invalid IL or missing references) //IL_0f11: Unknown result type (might be due to invalid IL or missing references) //IL_0f16: Unknown result type (might be due to invalid IL or missing references) //IL_0f1b: Unknown result type (might be due to invalid IL or missing references) //IL_0f25: Unknown result type (might be due to invalid IL or missing references) //IL_0f2a: Unknown result type (might be due to invalid IL or missing references) //IL_0f2f: Unknown result type (might be due to invalid IL or missing references) //IL_0f45: Unknown result type (might be due to invalid IL or missing references) //IL_0f4a: Unknown result type (might be due to invalid IL or missing references) //IL_0f4f: Unknown result type (might be due to invalid IL or missing references) //IL_0f65: Unknown result type (might be due to invalid IL or missing references) //IL_0f6a: Unknown result type (might be due to invalid IL or missing references) //IL_0f6f: Unknown result type (might be due to invalid IL or missing references) //IL_0f85: Unknown result type (might be due to invalid IL or missing references) //IL_0f8a: Unknown result type (might be due to invalid IL or missing references) //IL_0f8f: Unknown result type (might be due to invalid IL or missing references) //IL_0fa5: Unknown result type (might be due to invalid IL or missing references) //IL_0faa: Unknown result type (might be due to invalid IL or missing references) //IL_0faf: Unknown result type (might be due to invalid IL or missing references) //IL_0fc5: Unknown result type (might be due to invalid IL or missing references) //IL_0fca: Unknown result type (might be due to invalid IL or missing references) //IL_0fcf: Unknown result type (might be due to invalid IL or missing references) //IL_0fe5: Unknown result type (might be due to invalid IL or missing references) //IL_0fea: Unknown result type (might be due to invalid IL or missing references) //IL_0fef: Unknown result type (might be due to invalid IL or missing references) //IL_1005: Unknown result type (might be due to invalid IL or missing references) //IL_100a: Unknown result type (might be due to invalid IL or missing references) //IL_100f: Unknown result type (might be due to invalid IL or missing references) //IL_1025: Unknown result type (might be due to invalid IL or missing references) //IL_102a: Unknown result type (might be due to invalid IL or missing references) //IL_102f: Unknown result type (might be due to invalid IL or missing references) //IL_1045: Unknown result type (might be due to invalid IL or missing references) //IL_104a: Unknown result type (might be due to invalid IL or missing references) //IL_104f: Unknown result type (might be due to invalid IL or missing references) //IL_1065: Unknown result type (might be due to invalid IL or missing references) //IL_106a: Unknown result type (might be due to invalid IL or missing references) //IL_106f: Unknown result type (might be due to invalid IL or missing references) //IL_1085: Unknown result type (might be due to invalid IL or missing references) //IL_108a: Unknown result type (might be due to invalid IL or missing references) //IL_108f: Unknown result type (might be due to invalid IL or missing references) //IL_10a5: Unknown result type (might be due to invalid IL or missing references) //IL_10aa: Unknown result type (might be due to invalid IL or missing references) //IL_10af: Unknown result type (might be due to invalid IL or missing references) //IL_10c5: Unknown result type (might be due to invalid IL or missing references) //IL_10ca: Unknown result type (might be due to invalid IL or missing references) //IL_10cf: Unknown result type (might be due to invalid IL or missing references) //IL_10e5: Unknown result type (might be due to invalid IL or missing references) //IL_10ea: Unknown result type (might be due to invalid IL or missing references) //IL_10ef: Unknown result type (might be due to invalid IL or missing references) //IL_1105: Unknown result type (might be due to invalid IL or missing references) //IL_110a: Unknown result type (might be due to invalid IL or missing references) //IL_110f: Unknown result type (might be due to invalid IL or missing references) //IL_1125: Unknown result type (might be due to invalid IL or missing references) //IL_112a: Unknown result type (might be due to invalid IL or missing references) //IL_112f: Unknown result type (might be due to invalid IL or missing references) //IL_1145: Unknown result type (might be due to invalid IL or missing references) //IL_114a: Unknown result type (might be due to invalid IL or missing references) //IL_114f: Unknown result type (might be due to invalid IL or missing references) //IL_1165: Unknown result type (might be due to invalid IL or missing references) //IL_116a: Unknown result type (might be due to invalid IL or missing references) //IL_116f: Unknown result type (might be due to invalid IL or missing references) //IL_1185: Unknown result type (might be due to invalid IL or missing references) //IL_118a: Unknown result type (might be due to invalid IL or missing references) //IL_118f: Unknown result type (might be due to invalid IL or missing references) //IL_11a5: Unknown result type (might be due to invalid IL or missing references) //IL_11aa: Unknown result type (might be due to invalid IL or missing references) //IL_11af: Unknown result type (might be due to invalid IL or missing references) //IL_11c5: Unknown result type (might be due to invalid IL or missing references) //IL_11ca: Unknown result type (might be due to invalid IL or missing references) //IL_11cf: Unknown result type (might be due to invalid IL or missing references) //IL_11e5: Unknown result type (might be due to invalid IL or missing references) //IL_11ea: Unknown result type (might be due to invalid IL or missing references) //IL_11ef: Unknown result type (might be due to invalid IL or missing references) //IL_1205: Unknown result type (might be due to invalid IL or missing references) //IL_120a: Unknown result type (might be due to invalid IL or missing references) //IL_120f: Unknown result type (might be due to invalid IL or missing references) //IL_1225: Unknown result type (might be due to invalid IL or missing references) //IL_122a: Unknown result type (might be due to invalid IL or missing references) //IL_122f: Unknown result type (might be due to invalid IL or missing references) //IL_1245: Unknown result type (might be due to invalid IL or missing references) //IL_124a: Unknown result type (might be due to invalid IL or missing references) //IL_124f: Unknown result type (might be due to invalid IL or missing references) //IL_1265: Unknown result type (might be due to invalid IL or missing references) //IL_126a: Unknown result type (might be due to invalid IL or missing references) //IL_126f: Unknown result type (might be due to invalid IL or missing references) //IL_1285: Unknown result type (might be due to invalid IL or missing references) //IL_128a: Unknown result type (might be due to invalid IL or missing references) //IL_128f: Unknown result type (might be due to invalid IL or missing references) //IL_12a5: Unknown result type (might be due to invalid IL or missing references) //IL_12aa: Unknown result type (might be due to invalid IL or missing references) //IL_12af: Unknown result type (might be due to invalid IL or missing references) //IL_12c5: Unknown result type (might be due to invalid IL or missing references) //IL_12ca: Unknown result type (might be due to invalid IL or missing references) //IL_12cf: Unknown result type (might be due to invalid IL or missing references) //IL_12e5: Unknown result type (might be due to invalid IL or missing references) //IL_12ea: Unknown result type (might be due to invalid IL or missing references) //IL_12ef: Unknown result type (might be due to invalid IL or missing references) //IL_1305: Unknown result type (might be due to invalid IL or missing references) //IL_130a: Unknown result type (might be due to invalid IL or missing references) //IL_130f: Unknown result type (might be due to invalid IL or missing references) //IL_1325: Unknown result type (might be due to invalid IL or missing references) //IL_132a: Unknown result type (might be due to invalid IL or missing references) //IL_132f: Unknown result type (might be due to invalid IL or missing references) //IL_1345: Unknown result type (might be due to invalid IL or missing references) //IL_134a: Unknown result type (might be due to invalid IL or missing references) //IL_134f: Unknown result type (might be due to invalid IL or missing references) //IL_1365: Unknown result type (might be due to invalid IL or missing references) //IL_136a: Unknown result type (might be due to invalid IL or missing references) //IL_136f: Unknown result type (might be due to invalid IL or missing references) //IL_1385: Unknown result type (might be due to invalid IL or missing references) //IL_138a: Unknown result type (might be due to invalid IL or missing references) //IL_138f: Unknown result type (might be due to invalid IL or missing references) //IL_13a5: Unknown result type (might be due to invalid IL or missing references) //IL_13aa: Unknown result type (might be due to invalid IL or missing references) //IL_13af: Unknown result type (might be due to invalid IL or missing references) //IL_13c5: Unknown result type (might be due to invalid IL or missing references) //IL_13ca: Unknown result type (might be due to invalid IL or missing references) //IL_13cf: Unknown result type (might be due to invalid IL or missing references) itemDisplayRules = new List<KeyAssetRuleGroup>(); NewIDRS((Object)(object)Items.AlienHead, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.ArmorPlate, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.ArmorReductionOnHit, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.AttackSpeedAndMoveSpeed, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.AttackSpeedOnCrit, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.AutoCastEquipment, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.Bandolier, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.BarrierOnKill, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.BarrierOnOverHeal, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.Bear, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.BearVoid, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.BeetleGland, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.Behemoth, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.BleedOnHit, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.BleedOnHitAndExplode, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.BleedOnHitVoid, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.BonusGoldPackOnKill, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.BossDamageBonus, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.BounceNearby, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.ChainLightning, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.ChainLightningVoid, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.Clover, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.CloverVoid, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.CritDamage, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.CritGlasses, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.CritGlassesVoid, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.Crowbar, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.Dagger, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.DeathMark, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.ElementalRingVoid, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.EnergizedOnEquipmentUse, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.EquipmentMagazine, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.EquipmentMagazineVoid, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.ExecuteLowHealthElite, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.ExplodeOnDeath, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.ExplodeOnDeathVoid, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.ExtraLife, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.ExtraLifeVoid, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewDualIDRS((Object)(object)Items.FallBoots, "chest", Vector3.zero, Vector3.zero, Vector3.one, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.Feather, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.FireRing, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.FireballsOnHit, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.Firework, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.FlatHealth, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.FragileDamageBonus, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.FreeChest, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.GhostOnKill, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.GoldOnHit, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.GoldOnHurt, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.HalfAttackSpeedHalfCooldowns, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.HalfSpeedDoubleHealth, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.HeadHunter, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.HealOnCrit, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.HealWhileSafe, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.HealingPotion, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.Hoof, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.IceRing, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.IgniteOnKill, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.ImmuneToDebuff, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewDualIDRS((Object)(object)Items.IncreaseHealing, "chest", Vector3.zero, Vector3.zero, Vector3.one, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.Infusion, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.JumpBoost, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.KillEliteFrenzy, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.Knurl, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.LaserTurbine, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.LunarBadLuck, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.LunarDagger, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.LunarPrimaryReplacement, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0); NewIDRS((Object)(object)Items.LunarSecondaryReplacement, "chest