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 SeekingTheVoid v1.9.1
SeekingTheVoid.dll
Decompiled a week ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Logging; using EntityStates; using EntityStates.Gup; using HG; using HG.Reflection; using Microsoft.CodeAnalysis; using On.EntityStates; using On.EntityStates.Gup; using R2API; using R2API.Networking; using R2API.Networking.Interfaces; using RoR2; using RoR2.CharacterAI; using RoR2.ContentManagement; using RoR2.ExpansionManagement; using RoR2.Items; using RoR2.Navigation; using RoR2.Orbs; using RoR2.Projectile; using RoR2BepInExPack.GameAssetPathsBetter; using SeekingTheVoid; using ShaderSwapper; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.Events; using UnityEngine.Networking; [assembly: OptIn] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: AssemblyCompany("SeekingTheVoid")] [assembly: AssemblyProduct("SeekingTheVoid")] [assembly: AssemblyTitle("SeekingTheVoid")] [assembly: AssemblyInformationalVersion("1.0.0+2bbe5ff61db64b2a87c60fbbc23aba9cddbe4c15")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] [CompilerGenerated] [Embedded] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } public class SpawnShitMessage : INetMessage, ISerializableObject { private Vector3 position; private NetworkInstanceId owner; public SpawnShitMessage() { } public SpawnShitMessage(Vector3 position, NetworkInstanceId owner) { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) this.position = position; this.owner = owner; } public void Deserialize(NetworkReader reader) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) position = reader.ReadVector3(); owner = reader.ReadNetworkId(); } public void OnReceived() { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_002e: 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_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Expected O, but got Unknown //IL_008d: Unknown result type (might be due to invalid IL or missing references) if (NetworkServer.active) { position += new Vector3(0f, Random.Range(3.5f, 5f), 0f); GameObject val = Object.Instantiate<GameObject>(CoastalCoral.CCPickupOrb, position, Quaternion.identity); GameObject val2 = Util.FindNetworkObject(owner); if (Object.op_Implicit((Object)(object)val2)) { val.GetComponent<CoastalCoralPickup>().ownerBody = val2.GetComponent<CharacterBody>(); } NetworkServer.Spawn(val); EffectData val3 = new EffectData(); val3.origin = position; val3.SetNetworkedObjectReference(val); EffectManager.SpawnEffect(CoastalCoral.CCSpawnVFX, val3, true); } } public void Serialize(NetworkWriter writer) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) writer.Write(position); writer.Write(owner); } } public class ClientBuffMessage : INetMessage, ISerializableObject { private NetworkInstanceId netId; private BuffIndex buffIdx; private int number; public ClientBuffMessage() { } public ClientBuffMessage(NetworkInstanceId netId, BuffIndex buffIdx, int number) { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) this.netId = netId; this.buffIdx = buffIdx; this.number = number; } public void Deserialize(NetworkReader reader) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) netId = reader.ReadNetworkId(); buffIdx = NetworkExtensions.ReadBuffIndex(reader); number = reader.ReadInt32(); } public void OnReceived() { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) if (NetworkServer.active) { GameObject val = Util.FindNetworkObject(netId); if (Object.op_Implicit((Object)(object)val)) { val.GetComponent<CharacterBody>().SetBuffCount(buffIdx, number); } } } public void Serialize(NetworkWriter writer) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) writer.Write(netId); NetworkExtensions.WriteBuffIndex(writer, buffIdx); writer.Write(number); } } public class CoastalCoralPickup : NetworkBehaviour { private ElusiveAntlersDestroyCondition destroyCondition; public DestroyOnTimer destroyOnTimerComponent; public float despawnMinAge; public CharacterBody ownerBody; public float maxDistanceFromOwner; private void Start() { destroyOnTimerComponent = ((Component)this).GetComponent<DestroyOnTimer>(); AkSoundEngine.PostEvent("Play_AntlerShield_Spawn", ((Component)this).gameObject); despawnMinAge = 30f; maxDistanceFromOwner = 80f; } private void FixedUpdate() { //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) if (!((Object)(object)ownerBody == (Object)null) && NetworkServer.active && (Object)(object)destroyOnTimerComponent != (Object)null && destroyOnTimerComponent.GetAge() >= despawnMinAge) { _ = ((Component)this).gameObject.transform.position; Vector3 position = ((Component)ownerBody).gameObject.transform.position; if (Vector3.Magnitude(((Component)this).gameObject.transform.position - position) > maxDistanceFromOwner) { destroyCondition = (ElusiveAntlersDestroyCondition)2; Object.Destroy((Object)(object)((Component)this).gameObject); } } } private void OnTriggerStay(Collider other) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Invalid comparison between Unknown and I4 //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00ed: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Expected O, but got Unknown //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_012d: Unknown result type (might be due to invalid IL or missing references) if ((int)TeamComponent.GetObjectTeam(((Component)other).gameObject) != 1) { return; } CharacterBody component = ((Component)other).GetComponent<CharacterBody>(); if (!Object.op_Implicit((Object)(object)component)) { return; } HealthComponent healthComponent = component.healthComponent; if (Object.op_Implicit((Object)(object)healthComponent) && healthComponent.alive) { if (((NetworkBehaviour)component).localPlayerAuthority) { AkSoundEngine.PostEvent("Play_AntlerShield_Pickup", ((Component)this).gameObject); } if (NetworkServer.active) { int num = ((!Object.op_Implicit((Object)(object)component.inventory)) ? 1 : component.inventory.GetItemCount(CoastalCoral.CoastalCoralDef)); int buffCount = component.GetBuffCount(CoastalCoral.coralJump); int num2 = Math.Max(CoastalCoral.baseJumps, CoastalCoral.baseJumps + CoastalCoral.stackJumps * (num - 1)); component.SetBuffCount(CoastalCoral.coralJump.buffIndex, Mathf.Min(buffCount + 1, num2)); EffectData val = new EffectData(); val.SetNetworkedObjectReference(((Component)component).gameObject); val.origin = ((Component)this).transform.position; component.OnPickup((PickupClass)1); EffectManager.SpawnEffect(CoastalCoral.CCPickupVFX, val, true); destroyCondition = (ElusiveAntlersDestroyCondition)1; Object.Destroy((Object)(object)((Component)this).gameObject); } } } 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) { } } public class CoastalCoralDisplayUpdater : MonoBehaviour { public MeshRenderer meshRenderer; private Material buffActiveDisplayMaterial; private CharacterBody body; private BuffIndex coastalCoralBuffIndex; private void Start() { //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) CharacterModel componentInParent = ((Component)this).GetComponentInParent<CharacterModel>(); meshRenderer = ((Component)this).GetComponentInChildren<MeshRenderer>(); if (Object.op_Implicit((Object)(object)componentInParent)) { body = componentInParent.body; if (Object.op_Implicit((Object)(object)body)) { coastalCoralBuffIndex = CoastalCoral.coralJump.buffIndex; } buffActiveDisplayMaterial = ((Renderer)meshRenderer).materials[1]; buffActiveDisplayMaterial.SetFloat("_AlphaBoost", 0f); } } private void OnDestroy() { } private void FixedUpdate() { if (Object.op_Implicit((Object)(object)buffActiveDisplayMaterial) && Object.op_Implicit((Object)(object)meshRenderer)) { float num = 0f; if ((float)body.GetBuffCount(CoastalCoral.coralJump) > 0f && (float)body.GetBuffCount(CoastalCoral.coralJump) < (float)CoastalCoral.costToJump) { num = 0.2f; } else if ((float)body.GetBuffCount(CoastalCoral.coralJump) >= (float)CoastalCoral.costToJump) { num = 0.6f; } buffActiveDisplayMaterial.GetFloat("_AlphaBoost"); buffActiveDisplayMaterial.SetFloat("_AlphaBoost", num); } } } namespace SeekingTheVoid { public static class CoastalCoral { public class CoastalCoralBehavior : BaseItemBodyBehavior { private float internalTimer = 12f; [ItemDefAssociation(useOnServer = true, useOnClient = true)] private static ItemDef GetItemDef() { return CoastalCoralDef; } private int GetStackCount() { return base.stack; } private void OnEnable() { if (!Util.HasEffectiveAuthority(((Component)this).gameObject)) { ((Behaviour)this).enabled = false; } } private void OnDisable() { } public void FixedUpdate() { if (NetworkClient.active && Object.op_Implicit((Object)(object)((BaseItemBodyBehavior)this).body) && base.stack > 0) { internalTimer -= Time.fixedDeltaTime; if (internalTimer <= 0f) { OrbPositionFinder(); internalTimer = 12f * Mathf.Pow(0.9f, (float)GetStackCount()); } } } public void OrbPositionFinder() { //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00ed: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_0104: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Unknown result type (might be due to invalid IL or missing references) //IL_011d: 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_0151: Unknown result type (might be due to invalid IL or missing references) //IL_0159: Unknown result type (might be due to invalid IL or missing references) //IL_015e: Unknown result type (might be due to invalid IL or missing references) //IL_0167: Unknown result type (might be due to invalid IL or missing references) //IL_017b: Unknown result type (might be due to invalid IL or missing references) //IL_0192: Unknown result type (might be due to invalid IL or missing references) //IL_0194: Unknown result type (might be due to invalid IL or missing references) //IL_01a1: Unknown result type (might be due to invalid IL or missing references) //IL_01a6: Unknown result type (might be due to invalid IL or missing references) //IL_01b2: Unknown result type (might be due to invalid IL or missing references) //IL_01c1: Unknown result type (might be due to invalid IL or missing references) //IL_01cc: Unknown result type (might be due to invalid IL or missing references) //IL_01dc: Unknown result type (might be due to invalid IL or missing references) //IL_01ec: Unknown result type (might be due to invalid IL or missing references) //IL_0207: Unknown result type (might be due to invalid IL or missing references) //IL_0214: Unknown result type (might be due to invalid IL or missing references) if (!NetworkClient.active || !((NetworkBehaviour)((BaseItemBodyBehavior)this).body).hasAuthority || !Object.op_Implicit((Object)(object)((BaseItemBodyBehavior)this).body.characterMotor)) { return; } Quaternion val = Quaternion.Euler(0f, Random.Range(-45f, 45f), 0f); Vector3 val2 = default(Vector3); ((Vector3)(ref val2))..ctor(((BaseItemBodyBehavior)this).body.inputBank.aimDirection.x, 0f, ((BaseItemBodyBehavior)this).body.inputBank.aimDirection.z); Vector3 velocity = ((BaseItemBodyBehavior)this).body.characterMotor.velocity; bool flag = false; float magnitude = ((Vector3)(ref velocity)).magnitude; float num = Mathf.InverseLerp(0f, 50f, magnitude); float num2 = Mathf.Lerp(1f, 2f, num); Vector3 val3 = val * val2; val3 = Vector3.RotateTowards(val3, velocity, MathF.PI / 12f, 0f); Vector3 val4 = ((Component)this).gameObject.transform.position + val3 * (Random.Range(15f, 30f) * num2); NodeGraph groundNodes = SceneInfo.instance.groundNodes; if ((Object)(object)groundNodes == (Object)null) { Debug.LogError((object)"SeekingTheVoid:: nodeIndex returned null! Report this to acanthi pls :3"); return; } NodeIndex val5 = groundNodes.FindClosestNode(val4, (HullClassification)0, float.PositiveInfinity); bool flag2 = false; if (groundNodes.GetNodePosition(val5, ref val4)) { float num3 = HullDef.Find((HullClassification)0).radius * 0.7f; bool flag3 = false; if (!HGPhysics.DoesOverlapSphere(val4 + Vector3.up * (num3 + 0.25f), num3, LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.world)).mask) | LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.defaultLayer)).mask) | LayerMask.op_Implicit(CommonMasks.fakeActorLayers) | LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.entityPrecise)).mask) | LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.debris)).mask), (QueryTriggerInteraction)0)) { NetMessageExtensions.Send((INetMessage)(object)new SpawnShitMessage(val4, ((Component)((BaseItemBodyBehavior)this).body).GetComponent<NetworkIdentity>().netId), (NetworkDestination)2); } } } } [CompilerGenerated] private static class <>O { public static hook_ProcessJump_bool <0>__CoralJumpHook; public static StatHookEventHandler <1>__RecalculateStatsAPI_GetStatCoefficients; } public static ItemDef CoastalCoralDef; public static GameObject CCSpawnVFX; public static GameObject CCPickupVFX; public static GameObject CCPickupOrb; public static int baseJumps; public static int stackJumps; public static int costToJump; public static BuffDef coralJump; public static void Init() { //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_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_0105: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_0179: Unknown result type (might be due to invalid IL or missing references) //IL_0183: Expected O, but got Unknown //IL_0189: 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_01b0: 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_01ce: Unknown result type (might be due to invalid IL or missing references) //IL_01e8: Unknown result type (might be due to invalid IL or missing references) //IL_01ea: Unknown result type (might be due to invalid IL or missing references) //IL_020b: Unknown result type (might be due to invalid IL or missing references) //IL_0210: Unknown result type (might be due to invalid IL or missing references) //IL_0216: Expected O, but got Unknown //IL_022c: Unknown result type (might be due to invalid IL or missing references) //IL_0231: Unknown result type (might be due to invalid IL or missing references) //IL_0237: Expected O, but got Unknown CreateLang(); CreateEffect(); CreateBuff(); CreatePickup(); CoastalCoralDef = ScriptableObject.CreateInstance<ItemDef>(); ((Object)CoastalCoralDef).name = "AcanthiCoralCoastal"; CoastalCoralDef.nameToken = "SEEKINTHEVOID_COASTALCORAL_NAME"; CoastalCoralDef.pickupToken = "SEEKINTHEVOID_COASTALCORAL_PICKUP"; CoastalCoralDef.descriptionToken = "SEEKINTHEVOID_COASTALCORAL_DESC"; CoastalCoralDef.loreToken = "SEEKINTHEVOID_COASTALCORAL_LORE"; CoastalCoralDef._itemTierDef = Addressables.LoadAssetAsync<ItemTierDef>((object)"RoR2/DLC1/Common/VoidTier1Def.asset").WaitForCompletion(); CoastalCoralDef.requiredExpansion = Addressables.LoadAssetAsync<ExpansionDef>((object)"RoR2/DLC2/Common/DLC2.asset").WaitForCompletion(); CoastalCoralDef.pickupIconSprite = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<Sprite>("CoastalCoral.png"); CoastalCoralDef.pickupModelPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("CoastalCoral.prefab"); CoastalCoralDef.tags = (ItemTag[])(object)new ItemTag[1] { (ItemTag)31 }; ModelPanelParameters val = CoastalCoralDef.pickupModelPrefab.AddComponent<ModelPanelParameters>(); val.focusPointTransform = new GameObject("FocusPoint").transform; val.focusPointTransform.SetParent(CoastalCoralDef.pickupModelPrefab.transform); CoastalCoralDef.pickupModelPrefab.AddComponent<CoastalCoralDisplayUpdater>(); val.cameraPositionTransform = new GameObject("CameraPosition").transform; val.cameraPositionTransform.SetParent(CoastalCoralDef.pickupModelPrefab.transform); ItemAPI.Add(new CustomItem(CoastalCoralDef, ItemDisplayTransformations())); ItemDef itemDef = Addressables.LoadAssetAsync<ItemDef>((object)"RoR2/DLC2/Items/SpeedBoostPickup/SpeedBoostPickup.asset").WaitForCompletion(); ItemRelationshipProvider val2 = ScriptableObject.CreateInstance<ItemRelationshipProvider>(); ((Object)val2).name = "CoastalCoralContagiousItemProvider"; val2.relationshipType = Addressables.LoadAssetAsync<ItemRelationshipType>((object)"RoR2/DLC1/Common/ContagiousItem.asset").WaitForCompletion(); val2.relationships = (Pair[])(object)new Pair[1] { new Pair { itemDef1 = itemDef, itemDef2 = CoastalCoralDef } }; ContentAddition.AddItemRelationshipProvider(val2); object obj = <>O.<0>__CoralJumpHook; if (obj == null) { hook_ProcessJump_bool val3 = CoralJumpHook; <>O.<0>__CoralJumpHook = val3; obj = (object)val3; } GenericCharacterMain.ProcessJump_bool += (hook_ProcessJump_bool)obj; object obj2 = <>O.<1>__RecalculateStatsAPI_GetStatCoefficients; if (obj2 == null) { StatHookEventHandler val4 = RecalculateStatsAPI_GetStatCoefficients; <>O.<1>__RecalculateStatsAPI_GetStatCoefficients = val4; obj2 = (object)val4; } RecalculateStatsAPI.GetStatCoefficients += (StatHookEventHandler)obj2; } public static void CreatePickup() { //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_0147: Unknown result type (might be due to invalid IL or missing references) //IL_018c: Unknown result type (might be due to invalid IL or missing references) GameObject val = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/DLC2/Items/SpeedBoostPickup/ElusiveAntlersPickup.prefab").WaitForCompletion(); CCPickupOrb = PrefabAPI.InstantiateClone(val, "CoastalCoralOrb", false); Object.Destroy((Object)(object)CCPickupOrb.GetComponent<ElusiveAntlersPickup>()); CCPickupOrb.AddComponent<CoastalCoralPickup>(); ((Renderer)((Component)CCPickupOrb.transform.GetChild(0).GetChild(0)).gameObject.GetComponent<ParticleSystemRenderer>()).material.SetTexture("_RemapTex", SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<Texture>("texOutRamp.png")); ((Renderer)((Component)CCPickupOrb.transform.GetChild(0).GetChild(0).GetChild(0)).gameObject.GetComponent<ParticleSystemRenderer>()).material.SetTexture("_RemapTex", SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<Texture>("texInRamp.png")); ((Renderer)((Component)CCPickupOrb.transform.GetChild(0).GetChild(0).GetChild(1)).gameObject.GetComponent<ParticleSystemRenderer>()).material.SetTexture("_RemapTex", SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<Texture>("texInRamp.png")); ((Renderer)((Component)CCPickupOrb.transform.GetChild(0).GetChild(0)).gameObject.GetComponent<ParticleSystemRenderer>()).material.SetColor("_TintColor", new Color(1f, 1f, 1f, 1f)); ((Component)CCPickupOrb.transform.GetChild(0).GetChild(0).GetChild(2)).gameObject.GetComponent<Light>().color = new Color(0.433f, 0.334f, 1f, 1f); PrefabAPI.RegisterNetworkPrefab(CCPickupOrb); } private static void CoralJumpHook(orig_ProcessJump_bool orig, GenericCharacterMain self, bool ignoreRequirements) { //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) int buffCount = ((EntityState)self).characterBody.GetBuffCount(coralJump); if (self.jumpInputReceived && buffCount >= costToJump && Object.op_Implicit((Object)(object)((EntityState)self).characterMotor) && ((EntityState)self).characterMotor.jumpCount >= ((EntityState)self).characterBody.maxJumpCount) { int num = buffCount - costToJump; if (!NetworkServer.active) { ((EntityState)self).characterBody.SetBuffCount(coralJump.buffIndex, num); } NetMessageExtensions.Send((INetMessage)(object)new ClientBuffMessage(((Component)((EntityState)self).characterBody).GetComponent<NetworkIdentity>().netId, coralJump.buffIndex, num), (NetworkDestination)2); ignoreRequirements = true; } orig.Invoke(self, ignoreRequirements); } private static void RecalculateStatsAPI_GetStatCoefficients(CharacterBody sender, StatHookEventArgs args) { int buffCount = sender.GetBuffCount(coralJump); args.moveSpeedMultAdd += 0.07f * (float)buffCount; } public static void CreateBuff() { //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) coralJump = ScriptableObject.CreateInstance<BuffDef>(); ((Object)coralJump).name = "Co?astal Cor?al J?ump R?ea??dy"; coralJump.iconSprite = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<Sprite>("CoralBuff.png"); coralJump.canStack = true; coralJump.isCooldown = false; coralJump.buffColor = Color.white; coralJump.isHidden = false; coralJump.isDebuff = false; ContentAddition.AddBuffDef(coralJump); } public static void CreateEffect() { //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_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) GameObject val = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/DLC2/Items/SpeedBoostPickup/ElusiveAntlersBuffGrantedVFX.prefab").WaitForCompletion(); CCPickupVFX = PrefabAPI.InstantiateClone(val, "CoastalCoralBuffGrantedVFX", false); ParticleSystem[] componentsInChildren = CCPickupVFX.GetComponentsInChildren<ParticleSystem>(); foreach (ParticleSystem val2 in componentsInChildren) { MainModule main = val2.main; ((MainModule)(ref main)).startColor = MinMaxGradient.op_Implicit(new Color(0.8f, 0.2f, 0.8f, 0.2f)); } ContentAddition.AddEffect(CCPickupVFX); GameObject val3 = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/DLC2/Items/SpeedBoostPickup/ElusiveAntlersPickupSpawnVFX.prefab").WaitForCompletion(); CCSpawnVFX = PrefabAPI.InstantiateClone(val3, "CoastalCoralBuffGrantedVFX", false); ParticleSystem[] componentsInChildren2 = CCSpawnVFX.GetComponentsInChildren<ParticleSystem>(); foreach (ParticleSystem val4 in componentsInChildren2) { MainModule main2 = val4.main; ((MainModule)(ref main2)).startColor = MinMaxGradient.op_Implicit(new Color(0.8f, 0.2f, 0.8f, 0.2f)); } ((Renderer)((Component)CCSpawnVFX.transform.GetChild(0)).gameObject.GetComponent<ParticleSystemRenderer>()).material.SetTexture("_RemapTex", SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<Texture>("texInRamp.png")); ContentAddition.AddEffect(CCSpawnVFX); } public static void CreateLang() { LanguageAPI.Add("SEEKINTHEVOID_COASTALCORAL_NAME", "Coastal Coral"); LanguageAPI.Add("SEEKINTHEVOID_COASTALCORAL_LORE", "//--AUTO-TRANSCRIPTION FROM UES [REDACTED], FIELD SURVEY TEAM--//\r\n\r\nSpecimen ID: A-53-0001\r\n\r\nNotes:\r\n\r\nWhite and pink in color.\r\nExceedingly hard, crystalline structure. \r\nResembles terrestrial Coral formations.\r\nSeemingly possesses anti-gravitational properties. Weighed negative on the scale, yet behaves as if it had a normal mass.\r\nTastes like raspberry. Or grape. Maybe cotton candy? Impossible to bite through.\r\n\r\n---------------------------------\r\n\r\nHe BIT IT? Get this idiot off of the field survey team, NOW! \r\n\r\nWe will test these specimens in sensible ways, not by TRYING TO EAT THEM.\r\n\r\n//--TRANSCRIPTION COMPLETE--//"); LanguageAPI.Add("SEEKINTHEVOID_COASTALCORAL_PICKUP", "Spawns orbs that grant energy charges. Each charge held gives you extra movement speed. Spend " + costToJump + " charge" + ((costToJump > 1) ? "s" : "") + " to jump mid-air. <style=cIsVoid>Corrupts all Elusive Antlers</style>."); LanguageAPI.Add("SEEKINTHEVOID_COASTALCORAL_DESC", "Spawns orbs of energy nearby every <style=cIsUtility>12s</style> <style=cStack>(-10% per stack)</style> that give you up to <style=cIsUtility>" + baseJumps + "</style> <style=cStack>(+" + stackJumps + " per stack)</style> energy charge" + ((stackJumps > 1) ? "s" : "") + ". Each charge held gives you <style=cIsUtility>+7%</style> movement speed, and <style=cIsUtility>" + costToJump + "</style> charge" + ((costToJump > 1) ? "s" : "") + " can be spent to jump mid-air. <style=cIsVoid>Corrupts all Elusive Antlers</style>."); } public static ItemDisplayRuleDict ItemDisplayTransformations() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Expected O, but got Unknown //IL_0018: 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_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0094: 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_009a: 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_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_0116: Unknown result type (might be due to invalid IL or missing references) //IL_012c: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_0152: Unknown result type (might be due to invalid IL or missing references) //IL_015b: Unknown result type (might be due to invalid IL or missing references) //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_0198: Unknown result type (might be due to invalid IL or missing references) //IL_01ae: Unknown result type (might be due to invalid IL or missing references) //IL_01b3: Unknown result type (might be due to invalid IL or missing references) //IL_01c9: Unknown result type (might be due to invalid IL or missing references) //IL_01ce: Unknown result type (might be due to invalid IL or missing references) //IL_01d3: Unknown result type (might be due to invalid IL or missing references) //IL_01d4: Unknown result type (might be due to invalid IL or missing references) //IL_01ef: Unknown result type (might be due to invalid IL or missing references) //IL_01f8: Unknown result type (might be due to invalid IL or missing references) //IL_0230: 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_024b: Unknown result type (might be due to invalid IL or missing references) //IL_0250: 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_026b: Unknown result type (might be due to invalid IL or missing references) //IL_0270: Unknown result type (might be due to invalid IL or missing references) //IL_0271: Unknown result type (might be due to invalid IL or missing references) //IL_028c: 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_02cd: Unknown result type (might be due to invalid IL or missing references) //IL_02d2: Unknown result type (might be due to invalid IL or missing references) //IL_02e8: Unknown result type (might be due to invalid IL or missing references) //IL_02ed: Unknown result type (might be due to invalid IL or missing references) //IL_0303: Unknown result type (might be due to invalid IL or missing references) //IL_0308: Unknown result type (might be due to invalid IL or missing references) //IL_030d: Unknown result type (might be due to invalid IL or missing references) //IL_030e: Unknown result type (might be due to invalid IL or missing references) //IL_0329: Unknown result type (might be due to invalid IL or missing references) //IL_0332: Unknown result type (might be due to invalid IL or missing references) //IL_036a: Unknown result type (might be due to invalid IL or missing references) //IL_036f: Unknown result type (might be due to invalid IL or missing references) //IL_0385: Unknown result type (might be due to invalid IL or missing references) //IL_038a: Unknown result type (might be due to invalid IL or missing references) //IL_03a0: Unknown result type (might be due to invalid IL or missing references) //IL_03a5: Unknown result type (might be due to invalid IL or missing references) //IL_03aa: Unknown result type (might be due to invalid IL or missing references) //IL_03ab: Unknown result type (might be due to invalid IL or missing references) //IL_03c6: Unknown result type (might be due to invalid IL or missing references) //IL_03cf: Unknown result type (might be due to invalid IL or missing references) //IL_0407: Unknown result type (might be due to invalid IL or missing references) //IL_040c: Unknown result type (might be due to invalid IL or missing references) //IL_0422: Unknown result type (might be due to invalid IL or missing references) //IL_0427: Unknown result type (might be due to invalid IL or missing references) //IL_043d: Unknown result type (might be due to invalid IL or missing references) //IL_0442: Unknown result type (might be due to invalid IL or missing references) //IL_0447: Unknown result type (might be due to invalid IL or missing references) //IL_0448: Unknown result type (might be due to invalid IL or missing references) //IL_0463: Unknown result type (might be due to invalid IL or missing references) //IL_046c: Unknown result type (might be due to invalid IL or missing references) //IL_04a4: Unknown result type (might be due to invalid IL or missing references) //IL_04a9: Unknown result type (might be due to invalid IL or missing references) //IL_04bf: Unknown result type (might be due to invalid IL or missing references) //IL_04c4: Unknown result type (might be due to invalid IL or missing references) //IL_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_04e4: Unknown result type (might be due to invalid IL or missing references) //IL_04e5: Unknown result type (might be due to invalid IL or missing references) //IL_0500: 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_0541: Unknown result type (might be due to invalid IL or missing references) //IL_0546: Unknown result type (might be due to invalid IL or missing references) //IL_055c: Unknown result type (might be due to invalid IL or missing references) //IL_0561: Unknown result type (might be due to invalid IL or missing references) //IL_0577: Unknown result type (might be due to invalid IL or missing references) //IL_057c: Unknown result type (might be due to invalid IL or missing references) //IL_0581: Unknown result type (might be due to invalid IL or missing references) //IL_0582: Unknown result type (might be due to invalid IL or missing references) //IL_059d: Unknown result type (might be due to invalid IL or missing references) //IL_05a6: Unknown result type (might be due to invalid IL or missing references) //IL_05de: Unknown result type (might be due to invalid IL or missing references) //IL_05e3: Unknown result type (might be due to invalid IL or missing references) //IL_05f9: Unknown result type (might be due to invalid IL or missing references) //IL_05fe: Unknown result type (might be due to invalid IL or missing references) //IL_0614: Unknown result type (might be due to invalid IL or missing references) //IL_0619: Unknown result type (might be due to invalid IL or missing references) //IL_061e: Unknown result type (might be due to invalid IL or missing references) //IL_061f: Unknown result type (might be due to invalid IL or missing references) //IL_063a: Unknown result type (might be due to invalid IL or missing references) //IL_0643: Unknown result type (might be due to invalid IL or missing references) //IL_067b: Unknown result type (might be due to invalid IL or missing references) //IL_0680: Unknown result type (might be due to invalid IL or missing references) //IL_0696: Unknown result type (might be due to invalid IL or missing references) //IL_069b: Unknown result type (might be due to invalid IL or missing references) //IL_06b1: Unknown result type (might be due to invalid IL or missing references) //IL_06b6: Unknown result type (might be due to invalid IL or missing references) //IL_06bb: Unknown result type (might be due to invalid IL or missing references) //IL_06bc: Unknown result type (might be due to invalid IL or missing references) //IL_06d7: Unknown result type (might be due to invalid IL or missing references) //IL_06e0: Unknown result type (might be due to invalid IL or missing references) //IL_0718: Unknown result type (might be due to invalid IL or missing references) //IL_071d: 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_0738: 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_0758: Unknown result type (might be due to invalid IL or missing references) //IL_0759: Unknown result type (might be due to invalid IL or missing references) //IL_0774: Unknown result type (might be due to invalid IL or missing references) //IL_077d: Unknown result type (might be due to invalid IL or missing references) //IL_07b5: Unknown result type (might be due to invalid IL or missing references) //IL_07ba: Unknown result type (might be due to invalid IL or missing references) //IL_07d0: Unknown result type (might be due to invalid IL or missing references) //IL_07d5: Unknown result type (might be due to invalid IL or missing references) //IL_07eb: Unknown result type (might be due to invalid IL or missing references) //IL_07f0: Unknown result type (might be due to invalid IL or missing references) //IL_07f5: Unknown result type (might be due to invalid IL or missing references) //IL_07f6: Unknown result type (might be due to invalid IL or missing references) //IL_0811: Unknown result type (might be due to invalid IL or missing references) //IL_081a: Unknown result type (might be due to invalid IL or missing references) //IL_0852: Unknown result type (might be due to invalid IL or missing references) //IL_0857: Unknown result type (might be due to invalid IL or missing references) //IL_086d: Unknown result type (might be due to invalid IL or missing references) //IL_0872: Unknown result type (might be due to invalid IL or missing references) //IL_0888: Unknown result type (might be due to invalid IL or missing references) //IL_088d: Unknown result type (might be due to invalid IL or missing references) //IL_0892: Unknown result type (might be due to invalid IL or missing references) //IL_0893: Unknown result type (might be due to invalid IL or missing references) //IL_08ae: Unknown result type (might be due to invalid IL or missing references) //IL_08b7: Unknown result type (might be due to invalid IL or missing references) //IL_08ef: Unknown result type (might be due to invalid IL or missing references) //IL_08f4: Unknown result type (might be due to invalid IL or missing references) //IL_090a: Unknown result type (might be due to invalid IL or missing references) //IL_090f: Unknown result type (might be due to invalid IL or missing references) //IL_0925: Unknown result type (might be due to invalid IL or missing references) //IL_092a: Unknown result type (might be due to invalid IL or missing references) //IL_092f: Unknown result type (might be due to invalid IL or missing references) //IL_0930: Unknown result type (might be due to invalid IL or missing references) //IL_094b: Unknown result type (might be due to invalid IL or missing references) //IL_0954: Unknown result type (might be due to invalid IL or missing references) //IL_098c: Unknown result type (might be due to invalid IL or missing references) //IL_0991: 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_09ac: 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_09cc: Unknown result type (might be due to invalid IL or missing references) //IL_09cd: Unknown result type (might be due to invalid IL or missing references) //IL_09e8: Unknown result type (might be due to invalid IL or missing references) //IL_09f1: Unknown result type (might be due to invalid IL or missing references) //IL_0a29: Unknown result type (might be due to invalid IL or missing references) //IL_0a2e: Unknown result type (might be due to invalid IL or missing references) //IL_0a44: Unknown result type (might be due to invalid IL or missing references) //IL_0a49: Unknown result type (might be due to invalid IL or missing references) //IL_0a5f: Unknown result type (might be due to invalid IL or missing references) //IL_0a64: Unknown result type (might be due to invalid IL or missing references) //IL_0a69: Unknown result type (might be due to invalid IL or missing references) //IL_0a6a: Unknown result type (might be due to invalid IL or missing references) //IL_0a85: Unknown result type (might be due to invalid IL or missing references) //IL_0a8e: Unknown result type (might be due to invalid IL or missing references) //IL_0ac6: Unknown result type (might be due to invalid IL or missing references) //IL_0acb: Unknown result type (might be due to invalid IL or missing references) //IL_0ae1: Unknown result type (might be due to invalid IL or missing references) //IL_0ae6: Unknown result type (might be due to invalid IL or missing references) //IL_0afc: Unknown result type (might be due to invalid IL or missing references) //IL_0b01: Unknown result type (might be due to invalid IL or missing references) //IL_0b06: Unknown result type (might be due to invalid IL or missing references) //IL_0b07: Unknown result type (might be due to invalid IL or missing references) ItemDisplayRuleDict val = new ItemDisplayRuleDict((ItemDisplayRule[])null); val.Add("mdlRailGunner", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("CoastalCoral.prefab"), childName = "Head", localPos = new Vector3(0.15f, 0.15f, -0.15f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.8f, 0.8f, 0.8f) } }); val.Add("mdlCommandoDualies", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("CoastalCoral.prefab"), childName = "Head", localPos = new Vector3(0.15f, 0.15f, -0.15f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.8f, 0.8f, 0.8f) } }); val.Add("mdlHuntress", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("CoastalCoral.prefab"), childName = "Head", localPos = new Vector3(0.15f, 0.15f, -0.15f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.8f, 0.8f, 0.8f) } }); val.Add("mdlBandit2", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("CoastalCoral.prefab"), childName = "Head", localPos = new Vector3(0.15f, 0.15f, -0.15f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.8f, 0.8f, 0.8f) } }); val.Add("mdlToolbot", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("CoastalCoral.prefab"), childName = "Head", localPos = new Vector3(0.15f, 0.15f, -0.15f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.8f, 0.8f, 0.8f) } }); val.Add("mdlEngi", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("CoastalCoral.prefab"), childName = "Head", localPos = new Vector3(0.15f, 0.15f, -0.15f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.8f, 0.8f, 0.8f) } }); val.Add("mdlEngiTurret", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("CoastalCoral.prefab"), childName = "Head", localPos = new Vector3(0.15f, 0.15f, -0.15f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.8f, 0.8f, 0.8f) } }); val.Add("mdlMage", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("CoastalCoral.prefab"), childName = "Head", localPos = new Vector3(0.15f, 0.15f, -0.15f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.8f, 0.8f, 0.8f) } }); val.Add("mdlMerc", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("CoastalCoral.prefab"), childName = "Head", localPos = new Vector3(0.15f, 0.15f, -0.15f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.8f, 0.8f, 0.8f) } }); val.Add("mdlLoader", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("CoastalCoral.prefab"), childName = "Head", localPos = new Vector3(0.15f, 0.15f, -0.15f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.8f, 0.8f, 0.8f) } }); val.Add("mdlCaptain", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("CoastalCoral.prefab"), childName = "Head", localPos = new Vector3(0.15f, 0.15f, -0.15f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.8f, 0.8f, 0.8f) } }); val.Add("mdlVoidSurvivor", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("CoastalCoral.prefab"), childName = "Head", localPos = new Vector3(0.15f, 0.15f, -0.15f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.8f, 0.8f, 0.8f) } }); val.Add("mdlSeeker", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("CoastalCoral.prefab"), childName = "Head", localPos = new Vector3(0.15f, 0.15f, -0.15f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.8f, 0.8f, 0.8f) } }); val.Add("mdlChef", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("CoastalCoral.prefab"), childName = "Head", localPos = new Vector3(0.15f, 0.15f, -0.15f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.8f, 0.8f, 0.8f) } }); val.Add("mdlDroneTech", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("CoastalCoral.prefab"), childName = "Head", localPos = new Vector3(-0.19685f, 0.02641f, 0.23207f), localAngles = new Vector3(339.0487f, 180.3748f, 272.2161f), localScale = new Vector3(-0.8f, 0.8f, 0.8f) } }); val.Add("mdlDrifter", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("CoastalCoral.prefab"), childName = "Head", localPos = new Vector3(-0.19685f, 0.02641f, 0.23207f), localAngles = new Vector3(339.0487f, 180.3748f, 272.2161f), localScale = new Vector3(-0.8f, 0.8f, 0.8f) } }); val.Add("mdlAcolyteUnion", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("CoastalCoral.prefab"), childName = "Head", localPos = new Vector3(-0.44986f, -0.12866f, 0.35669f), localAngles = new Vector3(355.3256f, 186.3525f, 289.452f), localScale = new Vector3(0.8f, 0.8f, 0.8f) } }); val.Add("mdlEnforcer", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("CoastalCoral.prefab"), childName = "Head", localPos = new Vector3(-0.18901f, -0.00342f, 0.15675f), localAngles = new Vector3(355.3256f, 186.3525f, 289.452f), localScale = new Vector3(0.5f, 0.5f, 0.5f) } }); return val; } } public static class ConversionPeriapt { public class ConversionPeriaptBehavior : BaseItemBodyBehavior { [ItemDefAssociation(useOnServer = true, useOnClient = false)] private static ItemDef GetItemDef() { return ConversionPeriaptDef; } private int GetStackCount() { return base.stack; } } public static ItemDef ConversionPeriaptDef; public static ItemRelationshipType VoidItemRelationshipType; public static void Init() { //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_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00c7: Unknown result type (might be due to invalid IL or missing references) //IL_010c: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_017b: 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_01df: Unknown result type (might be due to invalid IL or missing references) //IL_01e9: Expected O, but got Unknown //IL_01ef: 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_0216: Unknown result type (might be due to invalid IL or missing references) //IL_021b: Unknown result type (might be due to invalid IL or missing references) //IL_0234: Unknown result type (might be due to invalid IL or missing references) //IL_024e: Unknown result type (might be due to invalid IL or missing references) //IL_0250: Unknown result type (might be due to invalid IL or missing references) VoidItemRelationshipType = Addressables.LoadAssetAsync<ItemRelationshipType>((object)RoR2_DLC1_Common.ContagiousItem_asset).WaitForCompletion(); new PeriaptTransfomationContent().Initialize(); CreateLang(); ConversionPeriaptDef = ScriptableObject.CreateInstance<ItemDef>(); ((Object)ConversionPeriaptDef).name = "AcanthiConversionPeriapt"; ConversionPeriaptDef.nameToken = "SEEKINTHEVOID_CONVERSIONPERIAPT_NAME"; ConversionPeriaptDef.pickupToken = "SEEKINTHEVOID_CONVERSIONPERIAPT_PICKUP"; ConversionPeriaptDef.descriptionToken = "SEEKINTHEVOID_CONVERSIONPERIAPT_DESC"; ConversionPeriaptDef.loreToken = "SEEKINTHEVOID_CONVERSIONPERIAPT_LORE"; ItemDef conversionPeriaptDef = ConversionPeriaptDef; ItemTag[] array = new ItemTag[4]; RuntimeHelpers.InitializeArray(array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); conversionPeriaptDef.tags = (ItemTag[])(object)array; ConversionPeriaptDef._itemTierDef = Addressables.LoadAssetAsync<ItemTierDef>((object)"RoR2/DLC1/Common/VoidTier2Def.asset").WaitForCompletion(); ConversionPeriaptDef.requiredExpansion = Addressables.LoadAssetAsync<ExpansionDef>((object)"RoR2/DLC3/DLC3.asset").WaitForCompletion(); ConversionPeriaptDef.pickupIconSprite = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<Sprite>("ConversionPeriaptIcon.png"); ConversionPeriaptDef.pickupModelPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("ConversionPeriapt.prefab"); Material val = Addressables.LoadAssetAsync<Material>((object)RoR2_Base_Nullifier.matNullifierGemPortal2_mat).WaitForCompletion(); ((Renderer)((Component)ConversionPeriaptDef.pickupModelPrefab.transform.Find("Void")).gameObject.GetComponent<MeshRenderer>()).SetMaterial(val); ConversionPeriaptDef.pickupModelPrefab.GetComponent<ItemDisplay>().rendererInfos[1].defaultMaterial = val; ModelPanelParameters val2 = ConversionPeriaptDef.pickupModelPrefab.AddComponent<ModelPanelParameters>(); val2.focusPointTransform = new GameObject("FocusPoint").transform; val2.focusPointTransform.SetParent(ConversionPeriaptDef.pickupModelPrefab.transform); val2.cameraPositionTransform = new GameObject("CameraPosition").transform; val2.cameraPositionTransform.SetParent(ConversionPeriaptDef.pickupModelPrefab.transform); ItemAPI.Add(new CustomItem(ConversionPeriaptDef, ItemDisplayTransformations())); ItemDef itemDef = Addressables.LoadAssetAsync<ItemDef>((object)"RoR2/DLC1/RegeneratingScrap/RegeneratingScrap.asset").WaitForCompletion(); ItemRelationshipProvider val3 = ScriptableObject.CreateInstance<ItemRelationshipProvider>(); ((Object)val3).name = "ConversionPeriaptContagiousItemProvider"; val3.relationshipType = Addressables.LoadAssetAsync<ItemRelationshipType>((object)"RoR2/DLC1/Common/ContagiousItem.asset").WaitForCompletion(); val3.relationships = (Pair[])(object)new Pair[1] { new Pair { itemDef1 = itemDef, itemDef2 = ConversionPeriaptDef } }; ContentAddition.AddItemRelationshipProvider(val3); } public static ItemDisplayRuleDict ItemDisplayTransformations() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Expected O, but got Unknown return new ItemDisplayRuleDict((ItemDisplayRule[])null); } public static void CreateLang() { LanguageAPI.Add("SEEKINTHEVOID_CONVERSIONPERIAPT_NAME", "Corruption Periapt"); LanguageAPI.Add("SEEKINTHEVOID_CONVERSIONPERIAPT_LORE", "\"It's good to be quick with your hands.\r\n\r\n'Fer example, just the other day, I'd found a lemurian rummaging through our loot, lookin' for something. Looked real lost, too. Only problem is, I were out of ammo, so I took a long look at my surroundin's. What do I see but a large rubber band, and some glass shards? Concocted a home-made slingshot and slugged the 'lem with the glass. Poor bastard didn't stand a chance.\r\n\r\nAlways spend some time to think about how you can turn a bad 'run' into a good 'run', y'hear? This aint a race, this'all tactics.\"\r\n\r\n- Lost Journal, recovered from Petrichor V"); LanguageAPI.Add("SEEKINTHEVOID_CONVERSIONPERIAPT_PICKUP", "Infects items when used as an ingredient. <style=cIsVoid>Corrupts all Regenerating Scrap</style>."); LanguageAPI.Add("SEEKINTHEVOID_CONVERSIONPERIAPT_DESC", "Does nothing. When crafted against another item, the result is it's <style=cIsVoid>void</style> equivalent. <style=cIsVoid>Corrupts all Regenerating Scrap</style>. "); } } public class PeriaptTransfomationContent : IContentPackProvider { internal ContentPack content = new ContentPack(); public static List<CraftableDef> craftables = new List<CraftableDef>(); public string identifier => "acanthi.SeekingTheVoid.PeriaptRecipes"; public void Initialize() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown ContentManager.collectContentPackProviders += new CollectContentPackProvidersDelegate(AddSelf); } private void AddSelf(AddContentPackProviderDelegate add) { add.Invoke((IContentPackProvider)(object)this); } public IEnumerator LoadStaticContentAsync(LoadStaticContentAsyncArgs args) { content.identifier = identifier; content.craftableDefs.Add(craftables.ToArray()); args.ReportProgress(1f); yield break; } public IEnumerator GenerateContentPackAsync(GetContentPackAsyncArgs args) { ContentPack.Copy(content, args.output); List<CraftableDef> craftableDefList = new List<CraftableDef>(); List<Pair> voidPairs = new List<Pair>(); Enumerator<ContentPackLoadInfo> enumerator = args.peerLoadInfos.GetEnumerator(); try { while (enumerator.MoveNext()) { ContentPackLoadInfo peerLoadInfo = enumerator.Current; Dictionary<ItemRelationshipType, Pair[]> itemRelationships = new Dictionary<ItemRelationshipType, Pair[]>(); ReadOnlyNamedAssetCollection<ItemRelationshipProvider> relationshipProviders = ((ReadOnlyContentPack)(ref peerLoadInfo.previousContentPack)).itemRelationshipProviders; Dictionary<ItemRelationshipType, HashSet<Pair>> dictionary = new Dictionary<ItemRelationshipType, HashSet<Pair>>(); AssetEnumerator<ItemRelationshipProvider> enumerator2 = relationshipProviders.GetEnumerator(); try { while (enumerator2.MoveNext()) { ItemRelationshipProvider itemRelationshipProvider = enumerator2.Current; if (!dictionary.ContainsKey(itemRelationshipProvider.relationshipType)) { dictionary.Add(itemRelationshipProvider.relationshipType, new HashSet<Pair>()); } try { if (itemRelationshipProvider.relationships != null && dictionary.TryGetValue(itemRelationshipProvider.relationshipType, out var value)) { value.UnionWith(itemRelationshipProvider.relationships); } value = null; } catch (Exception arg) { Log.Warning($"Error while adding relationships for type '{itemRelationshipProvider.relationshipType}': {arg}"); } } } finally { ((IDisposable)enumerator2/*cast due to .constrained prefix*/).Dispose(); } itemRelationships.Clear(); foreach (KeyValuePair<ItemRelationshipType, HashSet<Pair>> item in dictionary) { IEnumerable<Pair> enumerable = item.Value.Where((Pair val2) => !Object.op_Implicit((Object)(object)val2.itemDef1) || !Object.op_Implicit((Object)(object)val2.itemDef2)); foreach (Pair item2 in enumerable) { string[] obj = new string[7] { "Trying to define a ", ((Object)item.Key).name, " relationship between ", null, null, null, null }; ItemDef itemDef = item2.itemDef1; obj[3] = ((itemDef != null) ? ((Object)itemDef).name : null); obj[4] = " and "; ItemDef itemDef2 = item2.itemDef2; obj[5] = ((itemDef2 != null) ? ((Object)itemDef2).name : null); obj[6] = "."; Log.Warning(string.Concat(obj)); } item.Value.ExceptWith(enumerable); itemRelationships.Add(item.Key, item.Value.ToArray()); } if (!itemRelationships.TryGetValue(ConversionPeriapt.VoidItemRelationshipType, out var newVoidPairs)) { continue; } Pair[] array = newVoidPairs; foreach (Pair voidPair in array) { if (!voidPairs.Contains(voidPair)) { voidPairs.Add(voidPair); } } newVoidPairs = null; peerLoadInfo = default(ContentPackLoadInfo); } } finally { ((IDisposable)enumerator/*cast due to .constrained prefix*/).Dispose(); } foreach (Pair pair in voidPairs) { if (!Object.op_Implicit((Object)(object)pair.itemDef1) || !Object.op_Implicit((Object)(object)pair.itemDef2) || !Object.op_Implicit((Object)(object)ConversionPeriapt.ConversionPeriaptDef)) { Log.Warning($"itemDef1 is null: {(Object)(object)pair.itemDef1 == (Object)null} itemDef2 is null: {(Object)(object)pair.itemDef2 == (Object)null} ConversionPeriaptDef is null: {(Object)(object)ConversionPeriapt.ConversionPeriaptDef == (Object)null}"); continue; } string name = "Periapt" + ((Object)pair.itemDef1).name + "To" + ((Object)pair.itemDef2).name + "CraftableDef"; CraftableDef craftable = ScriptableObject.CreateInstance<CraftableDef>(); craftable.pickup = (Object)(object)pair.itemDef2; ((Object)craftable).name = name; Recipe val = new Recipe(); val.amountToDrop = 1; val.ingredients = (RecipeIngredient[])(object)new RecipeIngredient[2] { new RecipeIngredient { pickup = (Object)(object)pair.itemDef1, type = (IngredientTypeIndex)0 }, new RecipeIngredient { pickup = (Object)(object)ConversionPeriapt.ConversionPeriaptDef, type = (IngredientTypeIndex)0 } }; Recipe recipe = val; craftable.recipes = (Recipe[])(object)new Recipe[1] { recipe }; craftableDefList.Add(craftable); Log.Debug("Added " + ((Object)pair.itemDef1).name + " + Corruption Periapt = " + ((Object)pair.itemDef2).name); } args.output.craftableDefs.Add(craftableDefList.ToArray()); args.ReportProgress(1f); yield break; } public IEnumerator FinalizeAsync(FinalizeAsyncArgs args) { args.ReportProgress(1f); yield break; } } internal static class Log { private static ManualLogSource _logSource; internal static void Init(ManualLogSource logSource) { _logSource = logSource; } internal static void Debug(object data) { _logSource.LogDebug(data); } internal static void Error(object data) { _logSource.LogError(data); } internal static void Fatal(object data) { _logSource.LogFatal(data); } internal static void Info(object data) { _logSource.LogInfo(data); } internal static void Message(object data) { _logSource.LogMessage(data); } internal static void Warning(object data) { _logSource.LogWarning(data); } } public static class RazorPenny { public class RazorPennyBehavior : BaseItemBodyBehavior, IOnDamageDealtServerReceiver { [ItemDefAssociation(useOnServer = true, useOnClient = false)] private static ItemDef GetItemDef() { return RazorPennyDef; } public void OnDamageDealtServer(DamageReport damageReport) { //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Expected O, but got Unknown //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) if (base.stack > 0 && !(damageReport.damageDealt <= 0f) && !((Enum)damageReport.damageInfo.damageType.damageType).HasFlag((Enum)(object)(DamageType)67108864) && damageReport.damageInfo.crit && Util.CheckRoll(100f * damageReport.damageInfo.procCoefficient, damageReport.attackerMaster)) { int num = 1; GoldOrb val = new GoldOrb(); ((Orb)val).origin = damageReport.damageInfo.position; ((Orb)val).target = ((BaseItemBodyBehavior)this).body.mainHurtBox; val.goldAmount = (uint)((float)(GetStackCount() * num) * Run.instance.difficultyCoefficient); OrbManager.instance.AddOrb((Orb)(object)val); EffectManager.SimpleImpactEffect(MoneyGainPrefab, damageReport.damageInfo.position, Vector3.up, true); } } private int GetStackCount() { return base.stack; } } [CompilerGenerated] private static class <>O { public static StatHookEventHandler <0>__RecalculateStatsAPI_GetStatCoefficients; } public static ItemDef RazorPennyDef; public static GameObject MoneyGainPrefab; public static void Init() { //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_0124: Unknown result type (might be due to invalid IL or missing references) //IL_0158: Unknown result type (might be due to invalid IL or missing references) //IL_0162: Expected O, but got Unknown //IL_0168: Unknown result type (might be due to invalid IL or missing references) //IL_016d: Unknown result type (might be due to invalid IL or missing references) //IL_018f: Unknown result type (might be due to invalid IL or missing references) //IL_0194: Unknown result type (might be due to invalid IL or missing references) //IL_01ad: Unknown result type (might be due to invalid IL or missing references) //IL_01c7: Unknown result type (might be due to invalid IL or missing references) //IL_01c9: Unknown result type (might be due to invalid IL or missing references) //IL_01ea: Unknown result type (might be due to invalid IL or missing references) //IL_01ef: Unknown result type (might be due to invalid IL or missing references) //IL_01f5: Expected O, but got Unknown CreateLang(); RazorPennyDef = ScriptableObject.CreateInstance<ItemDef>(); ((Object)RazorPennyDef).name = "AcanthiRazorPenny"; RazorPennyDef.nameToken = "SEEKINTHEVOID_RAZORPENNY_NAME"; RazorPennyDef.pickupToken = "SEEKINTHEVOID_RAZORPENNY_PICKUP"; RazorPennyDef.descriptionToken = "SEEKINTHEVOID_RAZORPENNY_DESC"; RazorPennyDef.loreToken = "SEEKINTHEVOID_RAZORPENNY_LORE"; ItemDef razorPennyDef = RazorPennyDef; ItemTag[] array = new ItemTag[5]; RuntimeHelpers.InitializeArray(array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); razorPennyDef.tags = (ItemTag[])(object)array; RazorPennyDef._itemTierDef = Addressables.LoadAssetAsync<ItemTierDef>((object)"RoR2/DLC1/Common/VoidTier1Def.asset").WaitForCompletion(); MoneyGainPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/DLC1/GoldOnHurt/GainCoinsImpact.prefab").WaitForCompletion(); RazorPennyDef.pickupIconSprite = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<Sprite>("RazorPennyIcon.png"); RazorPennyDef.pickupModelPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("RazorPenny.prefab"); ModelPanelParameters val = RazorPennyDef.pickupModelPrefab.AddComponent<ModelPanelParameters>(); val.focusPointTransform = new GameObject("FocusPoint").transform; val.focusPointTransform.SetParent(RazorPennyDef.pickupModelPrefab.transform); val.cameraPositionTransform = new GameObject("CameraPosition").transform; val.cameraPositionTransform.SetParent(RazorPennyDef.pickupModelPrefab.transform); ItemAPI.Add(new CustomItem(RazorPennyDef, ItemDisplayTransformations())); ItemDef itemDef = Addressables.LoadAssetAsync<ItemDef>((object)"RoR2/DLC1/GoldOnHurt/GoldOnHurt.asset").WaitForCompletion(); ItemRelationshipProvider val2 = ScriptableObject.CreateInstance<ItemRelationshipProvider>(); ((Object)val2).name = "RazorPennyContagiousItemProvider"; val2.relationshipType = Addressables.LoadAssetAsync<ItemRelationshipType>((object)"RoR2/DLC1/Common/ContagiousItem.asset").WaitForCompletion(); val2.relationships = (Pair[])(object)new Pair[1] { new Pair { itemDef1 = itemDef, itemDef2 = RazorPennyDef } }; ContentAddition.AddItemRelationshipProvider(val2); object obj = <>O.<0>__RecalculateStatsAPI_GetStatCoefficients; if (obj == null) { StatHookEventHandler val3 = RecalculateStatsAPI_GetStatCoefficients; <>O.<0>__RecalculateStatsAPI_GetStatCoefficients = val3; obj = (object)val3; } RecalculateStatsAPI.GetStatCoefficients += (StatHookEventHandler)obj; } private static void RecalculateStatsAPI_GetStatCoefficients(CharacterBody sender, StatHookEventArgs args) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)sender.inventory)) { int itemCountEffective = sender.inventory.GetItemCountEffective(RazorPennyDef.itemIndex); if (itemCountEffective > 0) { args.critAdd += 7f; } } } public static ItemDisplayRuleDict ItemDisplayTransformations() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Expected O, but got Unknown //IL_0018: 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_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0094: 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_009a: 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_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_0116: Unknown result type (might be due to invalid IL or missing references) //IL_012c: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_0152: Unknown result type (might be due to invalid IL or missing references) //IL_015b: Unknown result type (might be due to invalid IL or missing references) //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_0198: Unknown result type (might be due to invalid IL or missing references) //IL_01ae: Unknown result type (might be due to invalid IL or missing references) //IL_01b3: Unknown result type (might be due to invalid IL or missing references) //IL_01c9: Unknown result type (might be due to invalid IL or missing references) //IL_01ce: Unknown result type (might be due to invalid IL or missing references) //IL_01d3: Unknown result type (might be due to invalid IL or missing references) //IL_01d4: Unknown result type (might be due to invalid IL or missing references) //IL_01ef: Unknown result type (might be due to invalid IL or missing references) //IL_01f8: Unknown result type (might be due to invalid IL or missing references) //IL_0230: 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_024b: Unknown result type (might be due to invalid IL or missing references) //IL_0250: 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_026b: Unknown result type (might be due to invalid IL or missing references) //IL_0270: Unknown result type (might be due to invalid IL or missing references) //IL_0271: Unknown result type (might be due to invalid IL or missing references) //IL_028c: 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_02cd: Unknown result type (might be due to invalid IL or missing references) //IL_02d2: Unknown result type (might be due to invalid IL or missing references) //IL_02e8: Unknown result type (might be due to invalid IL or missing references) //IL_02ed: Unknown result type (might be due to invalid IL or missing references) //IL_0303: Unknown result type (might be due to invalid IL or missing references) //IL_0308: Unknown result type (might be due to invalid IL or missing references) //IL_030d: Unknown result type (might be due to invalid IL or missing references) //IL_030e: Unknown result type (might be due to invalid IL or missing references) //IL_0329: Unknown result type (might be due to invalid IL or missing references) //IL_0332: Unknown result type (might be due to invalid IL or missing references) //IL_036a: Unknown result type (might be due to invalid IL or missing references) //IL_036f: Unknown result type (might be due to invalid IL or missing references) //IL_0385: Unknown result type (might be due to invalid IL or missing references) //IL_038a: Unknown result type (might be due to invalid IL or missing references) //IL_03a0: Unknown result type (might be due to invalid IL or missing references) //IL_03a5: Unknown result type (might be due to invalid IL or missing references) //IL_03aa: Unknown result type (might be due to invalid IL or missing references) //IL_03ab: Unknown result type (might be due to invalid IL or missing references) //IL_03c6: Unknown result type (might be due to invalid IL or missing references) //IL_03cf: Unknown result type (might be due to invalid IL or missing references) //IL_0407: Unknown result type (might be due to invalid IL or missing references) //IL_040c: Unknown result type (might be due to invalid IL or missing references) //IL_0422: Unknown result type (might be due to invalid IL or missing references) //IL_0427: Unknown result type (might be due to invalid IL or missing references) //IL_043d: Unknown result type (might be due to invalid IL or missing references) //IL_0442: Unknown result type (might be due to invalid IL or missing references) //IL_0447: Unknown result type (might be due to invalid IL or missing references) //IL_0448: Unknown result type (might be due to invalid IL or missing references) //IL_0463: Unknown result type (might be due to invalid IL or missing references) //IL_046c: Unknown result type (might be due to invalid IL or missing references) //IL_04a4: Unknown result type (might be due to invalid IL or missing references) //IL_04a9: Unknown result type (might be due to invalid IL or missing references) //IL_04bf: Unknown result type (might be due to invalid IL or missing references) //IL_04c4: Unknown result type (might be due to invalid IL or missing references) //IL_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_04e4: Unknown result type (might be due to invalid IL or missing references) //IL_04e5: Unknown result type (might be due to invalid IL or missing references) //IL_0500: 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_0541: Unknown result type (might be due to invalid IL or missing references) //IL_0546: Unknown result type (might be due to invalid IL or missing references) //IL_055c: Unknown result type (might be due to invalid IL or missing references) //IL_0561: Unknown result type (might be due to invalid IL or missing references) //IL_0577: Unknown result type (might be due to invalid IL or missing references) //IL_057c: Unknown result type (might be due to invalid IL or missing references) //IL_0581: Unknown result type (might be due to invalid IL or missing references) //IL_0582: Unknown result type (might be due to invalid IL or missing references) //IL_059d: Unknown result type (might be due to invalid IL or missing references) //IL_05a6: Unknown result type (might be due to invalid IL or missing references) //IL_05de: Unknown result type (might be due to invalid IL or missing references) //IL_05e3: Unknown result type (might be due to invalid IL or missing references) //IL_05f9: Unknown result type (might be due to invalid IL or missing references) //IL_05fe: Unknown result type (might be due to invalid IL or missing references) //IL_0614: Unknown result type (might be due to invalid IL or missing references) //IL_0619: Unknown result type (might be due to invalid IL or missing references) //IL_061e: Unknown result type (might be due to invalid IL or missing references) //IL_061f: Unknown result type (might be due to invalid IL or missing references) //IL_063a: Unknown result type (might be due to invalid IL or missing references) //IL_0643: Unknown result type (might be due to invalid IL or missing references) //IL_067b: Unknown result type (might be due to invalid IL or missing references) //IL_0680: Unknown result type (might be due to invalid IL or missing references) //IL_0696: Unknown result type (might be due to invalid IL or missing references) //IL_069b: Unknown result type (might be due to invalid IL or missing references) //IL_06b1: Unknown result type (might be due to invalid IL or missing references) //IL_06b6: Unknown result type (might be due to invalid IL or missing references) //IL_06bb: Unknown result type (might be due to invalid IL or missing references) //IL_06bc: Unknown result type (might be due to invalid IL or missing references) //IL_06d7: Unknown result type (might be due to invalid IL or missing references) //IL_06e0: Unknown result type (might be due to invalid IL or missing references) //IL_0718: Unknown result type (might be due to invalid IL or missing references) //IL_071d: 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_0738: 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_0758: Unknown result type (might be due to invalid IL or missing references) //IL_0759: Unknown result type (might be due to invalid IL or missing references) //IL_0774: Unknown result type (might be due to invalid IL or missing references) //IL_077d: Unknown result type (might be due to invalid IL or missing references) //IL_07b5: Unknown result type (might be due to invalid IL or missing references) //IL_07ba: Unknown result type (might be due to invalid IL or missing references) //IL_07d0: Unknown result type (might be due to invalid IL or missing references) //IL_07d5: Unknown result type (might be due to invalid IL or missing references) //IL_07eb: Unknown result type (might be due to invalid IL or missing references) //IL_07f0: Unknown result type (might be due to invalid IL or missing references) //IL_07f5: Unknown result type (might be due to invalid IL or missing references) //IL_07f6: Unknown result type (might be due to invalid IL or missing references) //IL_0811: Unknown result type (might be due to invalid IL or missing references) //IL_081a: Unknown result type (might be due to invalid IL or missing references) //IL_0852: Unknown result type (might be due to invalid IL or missing references) //IL_0857: Unknown result type (might be due to invalid IL or missing references) //IL_086d: Unknown result type (might be due to invalid IL or missing references) //IL_0872: Unknown result type (might be due to invalid IL or missing references) //IL_0888: Unknown result type (might be due to invalid IL or missing references) //IL_088d: Unknown result type (might be due to invalid IL or missing references) //IL_0892: Unknown result type (might be due to invalid IL or missing references) //IL_0893: Unknown result type (might be due to invalid IL or missing references) //IL_08ae: Unknown result type (might be due to invalid IL or missing references) //IL_08b7: Unknown result type (might be due to invalid IL or missing references) //IL_08ef: Unknown result type (might be due to invalid IL or missing references) //IL_08f4: Unknown result type (might be due to invalid IL or missing references) //IL_090a: Unknown result type (might be due to invalid IL or missing references) //IL_090f: Unknown result type (might be due to invalid IL or missing references) //IL_0925: Unknown result type (might be due to invalid IL or missing references) //IL_092a: Unknown result type (might be due to invalid IL or missing references) //IL_092f: Unknown result type (might be due to invalid IL or missing references) //IL_0930: Unknown result type (might be due to invalid IL or missing references) //IL_094b: Unknown result type (might be due to invalid IL or missing references) //IL_0954: Unknown result type (might be due to invalid IL or missing references) //IL_098c: Unknown result type (might be due to invalid IL or missing references) //IL_0991: 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_09ac: 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_09cc: Unknown result type (might be due to invalid IL or missing references) //IL_09cd: Unknown result type (might be due to invalid IL or missing references) ItemDisplayRuleDict val = new ItemDisplayRuleDict((ItemDisplayRule[])null); val.Add("mdlRailGunner", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("RazorPenny.prefab"), childName = "Backpack", localPos = new Vector3(-0.27356f, 0.2252f, -0.154f), localAngles = new Vector3(34.11581f, 55.09098f, 51.73f), localScale = new Vector3(0.3f, 0.3f, 0.3f) } }); val.Add("mdlCommandoDualies", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("RazorPenny.prefab"), childName = "UpperArmL", localPos = new Vector3(0.07009f, 0.3995f, 0.02139f), localAngles = new Vector3(51.00508f, 227.0994f, 168.4932f), localScale = new Vector3(0.3f, 0.3f, 0.3f) } }); val.Add("mdlHuntress", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("RazorPenny.prefab"), childName = "Pelvis", localPos = new Vector3(0.18543f, -0.04743f, 0.05304f), localAngles = new Vector3(17.80074f, 46.31346f, 263.4986f), localScale = new Vector3(0.3f, 0.3f, 0.3f) } }); val.Add("mdlBandit2", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("RazorPenny.prefab"), childName = "Pelvis", localPos = new Vector3(0.18913f, -0.03552f, -0.06692f), localAngles = new Vector3(38.06308f, 52.30616f, 202.6207f), localScale = new Vector3(0.3f, 0.3f, 0.3f) } }); val.Add("mdlToolbot", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("RazorPenny.prefab"), childName = "Hip", localPos = new Vector3(-0.68692f, -0.12292f, -0.76982f), localAngles = new Vector3(300.7301f, 125.6211f, 331.606f), localScale = new Vector3(3f, 3f, 3f) } }); val.Add("mdlEngi", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("RazorPenny.prefab"), childName = "Chest", localPos = new Vector3(0.00181f, 0.34032f, -0.27679f), localAngles = new Vector3(42.79879f, 8.28229f, 3.33728f), localScale = new Vector3(0.3f, 0.3f, 0.3f) } }); val.Add("mdlMage", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("RazorPenny.prefab"), childName = "Chest", localPos = new Vector3(0.22407f, 0.0553f, -0.22967f), localAngles = new Vector3(312.2103f, 292.5466f, 0.61502f), localScale = new Vector3(0.3f, 0.3f, 0.3f) } }); val.Add("mdlMerc", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("RazorPenny.prefab"), childName = "UpperArmL", localPos = new Vector3(0.05402f, -0.01413f, -0.05768f), localAngles = new Vector3(324.4029f, 216.5361f, 155.4175f), localScale = new Vector3(0.3f, 0.3f, 0.3f) } }); val.Add("mdlLoader", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("RazorPenny.prefab"), childName = "MechBase", localPos = new Vector3(-0.00482f, 0.48952f, -0.1405f), localAngles = new Vector3(20.56559f, 319.641f, 31.04041f), localScale = new Vector3(0.3f, 0.3f, 0.3f) } }); val.Add("mdlCaptain", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("RazorPenny.prefab"), childName = "Stomach", localPos = new Vector3(-0.16847f, 0.12629f, 0.12408f), localAngles = new Vector3(285.865f, 163.129f, 53.06815f), localScale = new Vector3(0.3f, 0.3f, 0.3f) } }); val.Add("mdlVoidSurvivor", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("RazorPenny.prefab"), childName = "ForeArmL", localPos = new Vector3(0.08556f, -0.01749f, 0.0192f), localAngles = new Vector3(11.09823f, 241.8175f, 28.03457f), localScale = new Vector3(0.3f, 0.3f, 0.3f) } }); val.Add("mdlSeeker", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("RazorPenny.prefab"), childName = "LowerArmL", localPos = new Vector3(-0.0753f, 0.10456f, -0.02496f), localAngles = new Vector3(29.59687f, 87.57333f, 189.9938f), localScale = new Vector3(0.3f, 0.3f, 0.3f) } }); val.Add("mdlDroneTech", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("RazorPenny.prefab"), childName = "LowerArmL", localPos = new Vector3(-0.09707f, 0.06112f, -0.0221f), localAngles = new Vector3(37.58004f, 69.06066f, 341.6664f), localScale = new Vector3(0.3f, 0.3f, 0.3f) } }); val.Add("mdlDrifter", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("RazorPenny.prefab"), childName = "UpperArmR", localPos = new Vector3(-0.11092f, 0.14737f, 0.00301f), localAngles = new Vector3(301.7656f, 344.2759f, 125.7951f), localScale = new Vector3(0.075f, 0.075f, 0.075f) } }); val.Add("mdlAcolyteUnion", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("RazorPenny.prefab"), childName = "HandR", localPos = new Vector3(0.13545f, 0.01318f, -0.1073f), localAngles = new Vector3(349.646f, 283.4493f, 328.2784f), localScale = new Vector3(0.3f, 0.3f, 0.3f) } }); val.Add("mdlEnforcer", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("RazorPenny.prefab"), childName = "UpperArmL", localPos = new Vector3(-0.10996f, 0.00966f, 0.14652f), localAngles = new Vector3(24.57791f, 69.82506f, 32.16931f), localScale = new Vector3(0.3f, 0.3f, 0.3f) } }); return val; } public static void CreateLang() { LanguageAPI.Add("SEEKINTHEVOID_RAZORPENNY_NAME", "Razor Penny"); LanguageAPI.Add("SEEKINTHEVOID_RAZORPENNY_LORE", "<style=cMono>//--AUTO-TRANSCRIPTION FROM UES [Redacted]--//</style>\r\n\r\n\"Hey, doesn't this one look kinda familiar?\"\r\n\r\n\"What?\"\r\n\r\n\"I mean, I swear we've had coins like this before. In the past.\"\r\n\r\n\"It's a damn metal circle. Of course it's gonna look like a coin.\"\r\n\r\n\"Well yeah, but...\"\r\n\r\n\"And why the hell is it so sharp? You'll cut yourself on that.\"\r\n\r\n\"No I wont?\"\r\n\r\n\"...\"\r\n\r\n\"...Ah, shit...\"\r\n\r\n\"You cut yourself. Didn't you.\""); LanguageAPI.Add("SEEKINTHEVOID_RAZORPENNY_PICKUP", "Gain a small critical chance to strike. Critical strikes drop gold. <style=cIsVoid>Corrupts all Roll of Pennies</style>."); LanguageAPI.Add("SEEKINTHEVOID_RAZORPENNY_DESC", "Gain <style=cIsDamage>7%</style> <style=cIsDamage>critical strike</style> chance. Critical strikes drop <style=cIsUtility>1</style> <style=cStack>(+1 per stack)</style> gold. <style=cIsUtility>Scales over time.</style> <style=cIsVoid>Corrupts all Roll of Pennies</style>."); } } [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInPlugin("acanthi.SeekingTheVoid", "SeekingTheVoid", "1.0.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] public class SeekingTheVoid : BaseUnityPlugin { public const string PluginGUID = "acanthi.SeekingTheVoid"; public const string PluginAuthor = "acanthi"; public const string PluginName = "SeekingTheVoid"; public const string PluginVersion = "1.0.0"; public static AssetBundle SeekingTheVoidAssets; public static bool isCoralEnabled; public static bool isPairyEnabled; public static float gupSizeModifier; public static bool isToxicEnabled; public static bool isPennyEnabled; public static bool isPeriaptEnabled; public void Awake() { Log.Init(((BaseUnityPlugin)this).Logger); using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("SeekingTheVoid.seekingthevoid_assets")) { SeekingTheVoidAssets = AssetBundle.LoadFromStream(stream); } ((MonoBehaviour)this).StartCoroutine(ShaderSwapper.UpgradeStubbedShadersAsync(SeekingTheVoidAssets)); CreateConfig(); NetworkingAPI.RegisterMessageType<ClientBuffMessage>(); NetworkingAPI.RegisterMessageType<SpawnShitMessage>(); if (isCoralEnabled) { CoastalCoral.Init(); } if (isPairyEnabled) { StrawPairy.Init(); } if (isToxicEnabled) { ToxicodendronBrine.Init(); } if (isPennyEnabled) { RazorPenny.Init(); } if (isPeriaptEnabled) { ConversionPeriapt.Init(); } } private void CreateConfig() { isCoralEnabled = ((BaseUnityPlugin)this).Config.Bind<bool>("Coastal Coral", "Enabled", true, "Is this item enabled?").Value; CoastalCoral.baseJumps = ((BaseUnityPlugin)this).Config.Bind<int>("Coastal Coral", "Base Jumps", 2, "Base jump charges granted.").Value; CoastalCoral.stackJumps = ((BaseUnityPlugin)this).Config.Bind<int>("Coastal Coral", "Jumps Per Stack", 2, "Jump charges granted per stack.").Value; CoastalCoral.costToJump = ((BaseUnityPlugin)this).Config.Bind<int>("Coastal Coral", "Charges Spent To Jump", 2, "How many charges you need to spend to jump.").Value; isToxicEnabled = ((BaseUnityPlugin)this).Config.Bind<bool>("Toxicodendron Brine", "Enabled", true, "Is this item enabled?").Value; isPennyEnabled = ((BaseUnityPlugin)this).Config.Bind<bool>("Razor Penny", "Enabled", true, "Is this item enabled?").Value; isPeriaptEnabled = ((BaseUnityPlugin)this).Config.Bind<bool>("Conversion Periapt", "Enabled", true, "Is this item enabled?").Value; isPairyEnabled = ((BaseUnityPlugin)this).Config.Bind<bool>("Straw-Pair-y", "Enabled", false, "Is this item enabled? (Disabled by default, and isnt a part of the theme of this mod. An extra item for those gup lovers out there.)").Value; gupSizeModifier = ((BaseUnityPlugin)this).Config.Bind<float>("Straw-Pair-y", "Gup Size Modifier", 0.7f, "Multiplicative size value for the ally Gup.").Value; } } public static class StrawPairy { public class GupChildDecayBehavior : BaseItemBodyBehavior { [ItemDefAssociation(useOnServer = true, useOnClient = false)] private static ItemDef GetItemDef() { return GeepGipDecayDef; } private int GetStackCount() { return base.stack; } public void FixedUpdate() { //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) if (base.stack > 0 && Object.op_Implicit((Object)(object)((BaseItemBodyBehavior)this).body) && (((BaseItemBodyBehavior)this).body.bodyIndex == geepBodyIndex || ((BaseItemBodyBehavior)this).body.bodyIndex == gipBodyIndex)) { Inventory component = ((Component)((BaseItemBodyBehavior)this).body.master).gameObject.GetComponent<Inventory>(); if (Object.op_Implicit((Object)(object)component)) { component.GiveItem(Items.HealthDecay, base.stack); component.RemoveItem(GeepGipDecayDef.itemIndex, base.stack); } } } } public class StrawPairyBehavior : BaseItemBodyBehavior { private static float timeBetweenGupResummons = 30f; private static float timeBetweenGupRetryResummons = 30f; private float gupResummonCooldown = 0f; [ItemDefAssociation(useOnServer = true, useOnClient = false)] private static ItemDef GetItemDef() { return StrawPairyDef; } private int GetStackCount() {