Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of Builder v1.0.9
Builder.dll
Decompiled 2 years 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