Some mods may be broken due to the recent Alloyed Collective update.
Decompiled source of SeekingTheVoid v1.3.2
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.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 HG; using HG.Reflection; using Microsoft.CodeAnalysis; using On.EntityStates; using On.RoR2; using R2API; using R2API.Networking; using R2API.Networking.Interfaces; using RoR2; using RoR2.CharacterAI; using RoR2.ExpansionManagement; using RoR2.Items; using RoR2.Navigation; using RoR2.Orbs; using RoR2.Projectile; 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] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] [Microsoft.CodeAnalysis.Embedded] [CompilerGenerated] 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_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: 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_00c3: Unknown result type (might be due to invalid IL or missing references) //IL_00d0: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Unknown result type (might be due to invalid IL or missing references) //IL_014c: Unknown result type (might be due to invalid IL or missing references) //IL_0163: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_0172: Unknown result type (might be due to invalid IL or missing references) //IL_0177: Unknown result type (might be due to invalid IL or missing references) //IL_0183: 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_019d: 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_01bd: Unknown result type (might be due to invalid IL or missing references) //IL_01d8: Unknown result type (might be due to invalid IL or missing references) //IL_01e5: Unknown result type (might be due to invalid IL or missing references) if (!NetworkClient.active) { 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 = "SEEKINTHEVOID_COASTALCORAL_NAME"; 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) 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) } }); return val; } } 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); } } [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInPlugin("acanthi.SeekingTheVoid", "SeekingTheVoid", "1.0.0")] [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 bool isToxicEnabled; 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(); } } 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; ToxicodendronBrine.itemMode = ((BaseUnityPlugin)this).Config.Bind<int>("Toxicodendron Brine", "Item Mode", 0, "0 = Main Version, 1 = Alternate version (Read Webpage!)").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; } } 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) 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, 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() { return base.stack; } private void SummonedMaster_onBodyStart(CharacterBody body) { SetTeamFilter(((Component)body).gameObject); body.master.onBodyStart -= SummonedMaster_onBodyStart; } private void SetTeamFilter(GameObject bodyObject) { //IL_001f: Unknown result type (might be due to invalid IL or missing references) TeamFilter component = bodyObject.GetComponent<TeamFilter>(); if (Object.op_Implicit((Object)(object)component)) { component.teamIndex = ((BaseItemBodyBehavior)this).body.teamComponent.teamIndex; } } public void FixedUpdate() { //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Unknown result type (might be due to invalid IL or missing references) //IL_00df: Unknown result type (might be due to invalid IL or missing references) //IL_00ea: Unknown result type (might be due to invalid IL or missing references) //IL_0100: Expected O, but got Unknown //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_0102: Expected O, but got Unknown CharacterMaster bodyMaster = ((BaseItemBodyBehavior)this).body.master; if (!Object.op_Implicit((Object)(object)bodyMaster) || bodyMaster.IsDeployableLimited(GupDeployable)) { return; } int deployableCount = bodyMaster.GetDeployableCount(GupDeployable); if (deployableCount >= 1) { return; } Debug.Log((object)("Deployable Count :: " + deployableCount)); gupResummonCooldown -= Time.fixedDeltaTime; if (gupResummonCooldown <= 0f) { Log.Message("Attempting to Gup..."); DirectorSpawnRequest val = new DirectorSpawnRequest(GupAllySpawnCard, new DirectorPlacementRule { placementMode = (PlacementMode)1, minDistance = 10f, maxDistance = 45f, spawnOnTarget = ((Component)this).transform }, RoR2Application.rng); val.summonerBodyObject = ((Component)this).gameObject; val.onSpawnedServer = OnGupMasterSpawned; DirectorCore.instance.TrySpawnObject(val); if (deployableCount < 1) { gupResummonCooldown = timeBetweenGupRetryResummons; Debug.Log((object)gupResummonCooldown); } else { gupResummonCooldown = timeBetweenGupResummons; Debug.Log((object)gupResummonCooldown); } } void OnGupMasterSpawned(SpawnResult spawnResult) { //IL_0001: 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_010d: Unknown result type (might be due to invalid IL or missing references) //IL_0117: Expected O, but got Unknown //IL_0118: Unknown result type (might be due to invalid IL or missing references) GameObject spawnedInstance = spawnResult.spawnedInstance; if (Object.op_Implicit((Object)(object)spawnedInstance)) { CharacterMaster component = spawnedInstance.GetComponent<CharacterMaster>(); if (Object.op_Implicit((Object)(object)component)) { GameObject bodyObject = component.GetBodyObject(); if (Object.op_Implicit((Object)(object)bodyObject)) { SetTeamFilter(bodyObject); } else { component.onBodyStart += SummonedMaster_onBodyStart; } component.inventory.GiveItem(Items.BoostDamage, 10 * GetStackCount()); component.inventory.GiveItem(Items.BoostHp, 10); component.inventory.GiveItem(GeepGipDecayDef, 45); Deployable component2 = ((Component)component).gameObject.GetComponent<Deployable>(); bodyMaster.AddDeployable(component2, GupDeployable); component2.onUndeploy.AddListener((UnityAction)delegate { Log.Message("Help Me..."); component.TrueKill(); }); AIOwnership component3 = spawnResult.spawnedInstance.GetComponent<AIOwnership>(); if (Object.op_Implicit((Object)(object)component3)) { component3.ownerMaster = ((BaseItemBodyBehavior)this).body.master; } } } } } } [CompilerGenerated] private static class <>O { public static GetDeployableSameSlotLimit <0>__GetGupCount; } public static ItemDef StrawPairyDef; public static ItemDef GeepGipDecayDef; public static BodyIndex geepBodyIndex; public static BodyIndex gipBodyIndex; public static DeployableSlot GupDeployable; public static SpawnCard GupAllySpawnCard; public static void Init() { //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_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_0123: Unknown result type (might be due to invalid IL or missing references) //IL_0153: Unknown result type (might be due to invalid IL or missing references) //IL_0187: Unknown result type (might be due to invalid IL or missing references) //IL_0191: Expected O, but got Unknown //IL_0210: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Expected O, but got Unknown //IL_0264: Unknown result type (might be due to invalid IL or missing references) //IL_026e: Expected O, but got Unknown CreateLang(); SetupSpawnCard(); StrawPairyDef = ScriptableObject.CreateInstance<ItemDef>(); object obj = <>O.<0>__GetGupCount; if (obj == null) { GetDeployableSameSlotLimit val = GetGupCount; <>O.<0>__GetGupCount = val; obj = (object)val; } GupDeployable = DeployableAPI.RegisterDeployableSlot((GetDeployableSameSlotLimit)obj); ((Object)StrawPairyDef).name = "SEEKINTHEVOID_STRAWPAIRY_NAME"; StrawPairyDef.nameToken = "SEEKINTHEVOID_STRAWPAIRY_NAME"; StrawPairyDef.pickupToken = "SEEKINTHEVOID_STRAWPAIRY_PICKUP"; StrawPairyDef.descriptionToken = "SEEKINTHEVOID_STRAWPAIRY_DESC"; StrawPairyDef.loreToken = "SEEKINTHEVOID_STRAWPAIRY_LORE"; ItemDef strawPairyDef = StrawPairyDef; ItemTag[] array = new ItemTag[3]; RuntimeHelpers.InitializeArray(array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); strawPairyDef.tags = (ItemTag[])(object)array; StrawPairyDef._itemTierDef = Addressables.LoadAssetAsync<ItemTierDef>((object)"RoR2/Base/Common/Tier2Def.asset").WaitForCompletion(); StrawPairyDef.requiredExpansion = Addressables.LoadAssetAsync<ExpansionDef>((object)"RoR2/DLC1/Common/DLC1.asset").WaitForCompletion(); StrawPairyDef.pickupIconSprite = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<Sprite>("StrawPairy.png"); StrawPairyDef.pickupModelPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("StrawPairy.prefab"); ModelPanelParameters val2 = StrawPairyDef.pickupModelPrefab.AddComponent<ModelPanelParameters>(); val2.focusPointTransform = new GameObject("FocusPoint").transform; val2.focusPointTransform.SetParent(StrawPairyDef.pickupModelPrefab.transform); val2.cameraPositionTransform = new GameObject("CameraPosition").transform; val2.cameraPositionTransform.SetParent(StrawPairyDef.pickupModelPrefab.transform); ItemAPI.Add(new CustomItem(StrawPairyDef, ItemDisplayTransformations())); GeepGipDecayDef = ScriptableObject.CreateInstance<ItemDef>(); ((Object)GeepGipDecayDef).name = "SEEKINTHEVOID_GUPCHILDDECAY_NAME"; GeepGipDecayDef.nameToken = "SEEKINTHEVOID_GUPCHILDDECAY_NAME"; GeepGipDecayDef.pickupToken = "SEEKINTHEVOID_GUPCHILDDECAY_PICKUP"; GeepGipDecayDef.descriptionToken = "SEEKINTHEVOID_GUPCHILDDECAY_DESC"; GeepGipDecayDef.loreToken = "SEEKINTHEVOID_GUPCHILDDECAY_LORE"; GeepGipDecayDef.hidden = true; GeepGipDecayDef.canRemove = false; GeepGipDecayDef.tier = (ItemTier)5; GeepGipDecayDef.deprecatedTier = (ItemTier)5; ItemDef geepGipDecayDef = GeepGipDecayDef; ItemTag[] array2 = new ItemTag[3]; RuntimeHelpers.InitializeArray(array2, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); geepGipDecayDef.tags = (ItemTag[])(object)array2; ((ResourceAvailability)(ref BodyCatalog.availability)).CallWhenAvailable((Action)delegate { //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_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) geepBodyIndex = BodyCatalog.FindBodyIndexCaseInsensitive("GeepBody"); gipBodyIndex = BodyCatalog.FindBodyIndexCaseInsensitive("GipBody"); }); ItemAPI.Add(new CustomItem(GeepGipDecayDef, ItemDisplayTransformationsEmpty())); } private static void SetupSpawnCard() { //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_003b: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) GameObject val = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/DLC1/Gup/GupMaster.prefab").WaitForCompletion(); GameObject val2 = PrefabAPI.InstantiateClone(val, "modifiedGupMaster", false); val2.AddComponent<Deployable>(); val2.AddComponent<AIOwnership>(); PrefabAPI.RegisterNetworkPrefab(val2); SpawnCard val3 = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/Base/BeetleGland/cscBeetleGuardAlly.asset").WaitForCompletion(); GupAllySpawnCard = Object.Instantiate<SpawnCard>(val3); GupAllySpawnCard.prefab = val2; } private static int GetGupCount(CharacterMaster master, int countMultiplier) { return 1; } public static ItemDisplayRuleDict ItemDisplayTransformationsEmpty() { //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 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) ItemDisplayRuleDict val = new ItemDisplayRuleDict((ItemDisplayRule[])null); val.Add("mdlRailGunner", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("StrawPairy.prefab"), childName = "Pelvis", localPos = new Vector3(0.2431f, 0.13818f, 0.04886f), localAngles = new Vector3(16.89807f, 48.65277f, 199.8044f), localScale = new Vector3(0.35f, 0.35f, 0.35f) } }); val.Add("mdlCommandoDualies", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("StrawPairy.prefab"), childName = "Pelvis", localPos = new Vector3(0.11195f, -0.02541f, -0.16878f), localAngles = new Vector3(33.70332f, 260.7876f, 191.66f), localScale = new Vector3(0.25f, 0.25f, 0.25f) } }); val.Add("mdlHuntress", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("StrawPairy.prefab"), childName = "Chest", localPos = new Vector3(0.13092f, 0.09336f, 0.18086f), localAngles = new Vector3(357.252f, 42.7274f, 9.73612f), localScale = new Vector3(0.35f, 0.35f, 0.35f) } }); val.Add("mdlBandit2", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("StrawPairy.prefab"), childName = "Head", localPos = new Vector3(0.12111f, 0.1301f, -0.07137f), localAngles = new Vector3(319.1881f, 357.8232f, 24.08452f), localScale = new Vector3(0.25f, 0.25f, 0.25f) } }); val.Add("mdlToolbot", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("StrawPairy.prefab"), childName = "Chest", localPos = new Vector3(2.28961f, 2.66646f, 2.4769f), localAngles = new Vector3(320.192f, 35.66992f, 0.91258f), localScale = new Vector3(2f, 2f, 2f) } }); val.Add("mdlEngi", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("StrawPairy.prefab"), childName = "Pelvis", localPos = new Vector3(0.11195f, -0.02541f, -0.16878f), localAngles = new Vector3(33.70332f, 260.7876f, 191.66f), localScale = new Vector3(0.25f, 0.25f, 0.25f) } }); val.Add("mdlMage", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("StrawPairy.prefab"), childName = "Chest", localPos = new Vector3(0.08819f, 0.14239f, 0.16317f), localAngles = new Vector3(354.4081f, 268.3398f, 353.9101f), localScale = new Vector3(0.25f, 0.25f, 0.25f) } }); val.Add("mdlMerc", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("StrawPairy.prefab"), childName = "Head", localPos = new Vector3(0.00634f, 0.00334f, 0.18894f), localAngles = new Vector3(351.389f, 309.4684f, 11.42171f), localScale = new Vector3(0.2f, 0.2f, 0.2f) } }); val.Add("mdlLoader", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("StrawPairy.prefab"), childName = "Chest", localPos = new Vector3(0.14503f, 0.21651f, 0.24265f), localAngles = new Vector3(359.8532f, 34.27069f, 359.8857f), localScale = new Vector3(0.25f, 0.25f, 0.25f) } }); val.Add("mdlCaptain", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("StrawPairy.prefab"), childName = "Pelvis", localPos = new Vector3(0.04155f, -0.03521f, -0.22135f), localAngles = new Vector3(27.20395f, 296.7981f, 187.8858f), localScale = new Vector3(0.25f, 0.25f, 0.25f) } }); val.Add("mdlVoidSurvivor", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("StrawPairy.prefab"), childName = "Chest", localPos = new Vector3(0.02515f, 0.23371f, -0.18064f), localAngles = new Vector3(322.1277f, 243.4333f, 79.9745f), localScale = new Vector3(0.35f, 0.35f, 0.35f) } }); val.Add("mdlSeeker", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("StrawPairy.prefab"), childName = "Pack", localPos = new Vector3(-0.168f, 0.15328f, -0.21157f), localAngles = new Vector3(325.4123f, 44.25535f, 1.24796f), localScale = new Vector3(0.25f, 0.25f, 0.25f) } }); val.Add("mdlChef", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("StrawPairy.prefab"), childName = "Chest", localPos = new Vector3(-0.29829f, 0.09506f, -0.30026f), localAngles = new Vector3(281.5359f, 342.4525f, 130.0393f), localScale = new Vector3(0.25f, 0.25f, 0.25f) } }); val.Add("mdlDroneTech", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("StrawPairy.prefab"), childName = "Pelvis", localPos = new Vector3(0.11195f, -0.02541f, -0.16878f), localAngles = new Vector3(33.70332f, 260.7876f, 191.66f), localScale = new Vector3(0.25f, 0.25f, 0.25f) } }); val.Add("mdlDrifter", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("StrawPairy.prefab"), childName = "Pelvis", localPos = new Vector3(0.11195f, -0.02541f, -0.16878f), localAngles = new Vector3(33.70332f, 260.7876f, 191.66f), localScale = new Vector3(0.25f, 0.25f, 0.25f) } }); return val; } public static void CreateLang() { LanguageAPI.Add("SEEKINTHEVOID_STRAWPAIRY_NAME", "Straw'Pair'y"); LanguageAPI.Add("SEEKINTHEVOID_STRAWPAIRY_LORE", "Order: Strawberries, 2 Qty.\r\nTracking Number: 25***********\r\nEstimated Delivery: 01/19/2055\r\nShipping Method: Standard\r\nShipping Address: Fridge Lunch Pale, 305 Odysseus St., Casper Plaza, Venus\r\nShipping Details:\r\n\r\nA gift for my love! Together forever <3"); LanguageAPI.Add("SEEKINTHEVOID_STRAWPAIRY_PICKUP", "Everybody's favorite friend!"); LanguageAPI.Add("SEEKINTHEVOID_STRAWPAIRY_DESC", "Every 30 seconds, <style=cIsUtility>summon a Gup</style> with bonus <style=cIsDamage>100%</style> <style=cStack>(+100% per stack)</style> damage and <style=cIsHealing>100%</style> health. Can have up to <style=cIsUtility>1</style> Gup at a time."); } } public static class ToxicodendronBrine { public class ToxicodendronBrineBehavior : BaseItemBodyBehavior { private float fractureChance = 10f; [ItemDefAssociation(useOnServer = true, useOnClient = false)] private static ItemDef GetItemDef() { return ToxicodendronBrineDef; } private int GetStackCount() { return base.stack; } private void OnEnable() { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Expected O, but got Unknown //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Expected O, but got Unknown if (itemMode == 0) { GlobalEventManager.OnHitEnemy += new hook_OnHitEnemy(OnDamageDealt); CharacterBody.OnKilledOtherServer += new hook_OnKilledOtherServer(CharacterBody_OnKilledOtherServer); } else { GlobalEventManager.onServerDamageDealt += OnDamageDealtAlt; } } private void CharacterBody_OnKilledOtherServer(orig_OnKilledOtherServer orig, CharacterBody self, DamageReport report) { //IL_004d: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self, report); if (Object.op_Implicit((Object)(object)self.inventory) && self.inventory.GetItemCountEffective(ToxicodendronBrineDef) > 0 && report.victimBody.activeBuffsList.Contains(Buffs.Poisoned.buffIndex)) { TriggerPoisonSpread(self, report); Debug.Log((object)"Enemy has Poison..."); float num = report.attackerBody.skillLocator.GetSkill((SkillSlot)0).rechargeStopwatch * 0.2f; float num2 = report.attackerBody.skillLocator.GetSkill((SkillSlot)1).rechargeStopwatch * 0.2f; float num3 = report.attackerBody.skillLocator.GetSkill((SkillSlot)2).rechargeStopwatch * 0.2f; float num4 = report.attackerBody.skillLocator.GetSkill((SkillSlot)3).rechargeStopwatch * 0.2f; GenericSkill skill = report.attackerBody.skillLocator.GetSkill((SkillSlot)0); skill.rechargeStopwatch += num; GenericSkill skill2 = report.attackerBody.skillLocator.GetSkill((SkillSlot)1); skill2.rechargeStopwatch += num2; GenericSkill skill3 = report.attackerBody.skillLocator.GetSkill((SkillSlot)2); skill3.rechargeStopwatch += num3; GenericSkill skill4 = report.attackerBody.skillLocator.GetSkill((SkillSlot)3); skill4.rechargeStopwatch += num4; } } private void TriggerPoisonSpread(CharacterBody self, DamageReport report) { //IL_0032: 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_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0081: 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: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Expected O, but got Unknown //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: 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_00f7: Unknown result type (might be due to invalid IL or missing references) int itemCountEffective = self.inventory.GetItemCountEffective(Items.TriggerEnemyDebuffs); List<SplitDebuffInformation> list = new List<SplitDebuffInformation>(); _ = report.damageInfo; DotController val = DotController.FindDotController(((Component)report.victimBody).gameObject); SplitDebuffInformation val2 = default(SplitDebuffInformation); val2.attacker = ((Component)this).gameObject; val2.attackerMaster = self.master; val2.index = Buffs.Poisoned.buffIndex; val2.isTimed = true; val2.duration = 10f; val2.count = 1; SplitDebuffInformation item = val2; list.Add(item); SphereSearch val3 = new SphereSearch(); List<HurtBox> list2 = CollectionPool<HurtBox, List<HurtBox>>.RentCollection(); val3.mask = ((LayerIndex)(ref LayerIndex.entityPrecise)).mask; val3.origin = ((Component)report.victimBody).gameObject.transform.position; val3.radius = 20f + 5f * (float)itemCountEffective; val3.queryTriggerInteraction = (QueryTriggerInteraction)0; val3.RefreshCandidates(); val3.FilterCandidatesByHurtBoxTeam(TeamMask.GetEnemyTeams(self.teamComponent.teamIndex)); val3.OrderCandidatesByDistance(); val3.FilterCandidatesByDistinctHurtBoxEntities(); val3.GetHurtBoxes(list2); val3.ClearCandidates(); int num = itemCountEffective; for (int i = 0; i < list2.Count; i++) { HurtBox val4 = list2[i]; CharacterBody body = val4.healthComponent.body; if (Object.op_Implicit((Object)(object)val4) && Object.op_Implicit((Object)(object)val4.healthComponent) && val4.healthComponent.alive && (Object)(object)body != (Object)(object)report.victimBody && (Object)(object)body != (Object)(object)this) { self.CreateVineOrbChain(((Component)report.victimBody).gameObject, val4, list); num--; if (num == 0) { return; } } } CollectionPool<HurtBox, List<HurtBox>>.ReturnCollection(list2); } private void OnDamageDealt(orig_OnHitEnemy orig, GlobalEventManager self, DamageInfo damageInfo, GameObject victim) { //IL_0073: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self, damageInfo, victim); if (!Object.op_Implicit((Object)(object)damageInfo.attacker)) { return; } CharacterBody component = damageInfo.attacker.GetComponent<CharacterBody>(); if (Object.op_Implicit((Object)(object)component)) { Inventory inventory = component.inventory; if (Object.op_Implicit((Object)(object)inventory) && damageInfo.damage / component.damage >= 4f && inventory.GetItemCountEffective(ToxicodendronBrineDef.itemIndex) > 0) { DotController.InflictDot(victim, ((Component)component).gameObject, (DotIndex)4, 10f, 1f, (uint?)1u); } } } private void OnDamageDealtAlt(DamageReport report) { //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Invalid comparison between Unknown and I4 //IL_037a: Unknown result type (might be due to invalid IL or missing references) //IL_0380: Invalid comparison between Unknown and I4 //IL_03b8: 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_008d: Unknown result type (might be due to invalid IL or missing references) //IL_03dc: Unknown result type (might be due to invalid IL or missing references) //IL_00eb: Unknown result type (might be due to invalid IL or missing references) //IL_01d8: Unknown result type (might be due to invalid IL or missing references) //IL_01df: Expected O, but got Unknown //IL_01ed: Unknown result type (might be due to invalid IL or missing references) //IL_01f2: Unknown result type (might be due to invalid IL or missing references) //IL_0209: Unknown result type (might be due to invalid IL or missing references) //IL_020e: Unknown result type (might be due to invalid IL or missing references) //IL_022d: Unknown result type (might be due to invalid IL or missing references) //IL_0247: Unknown result type (might be due to invalid IL or missing references) //IL_024c: Unknown result type (might be due to invalid IL or missing references) //IL_0121: Unknown result type (might be due to invalid IL or missing references) //IL_0126: Unknown result type (might be due to invalid IL or missing references) //IL_0128: Unknown result type (might be due to invalid IL or missing references) //IL_0132: Unknown result type (might be due to invalid IL or missing references) //IL_0162: Unknown result type (might be due to invalid IL or missing references) //IL_017f: Unknown result type (might be due to invalid IL or missing references) //IL_0181: 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_01a3: Unknown result type (might be due to invalid IL or missing references) //IL_01a7: Unknown result type (might be due to invalid IL or missing references) //IL_0154: Unknown result type (might be due to invalid IL or missing references) //IL_02fb: Unknown result type (might be due to invalid IL or missing references) //IL_0302: Expected O, but got Unknown //IL_0314: Unknown result type (might be due to invalid IL or missing references) //IL_0319: Unknown result type (might be due to invalid IL or missing references) CharacterMaster attackerMaster = report.attackerMaster; if (!Object.op_Implicit((Object)(object)attackerMaster)) { return; } Inventory inventory = attackerMaster.inventory; if (!Object.op_Implicit((Object)(object)inventory)) { return; } int itemCountEffective = inventory.GetItemCountEffective(Items.TriggerEnemyDebuffs); if ((int)report.dotType == 8) { List<SplitDebuffInformation> list = new List<SplitDebuffInformation>(); DotController val = DotController.FindDotController(((Component)report.victimBody).gameObject); BuffIndex[] debuffAndDotsIndicesExcludingNoxiousThorns = BuffCatalog.debuffAndDotsIndicesExcludingNoxiousThorns; BuffIndex[] array = debuffAndDotsIndicesExcludingNoxiousThorns; foreach (BuffIndex val2 in array) { BuffDef buffDef = BuffCatalog.GetBuffDef(val2); int buffCount = report.victimBody.GetBuffCount(buffDef); if (buffCount > 0) { int num = Mathf.RoundToInt(report.damageInfo.damage / (report.attackerBody.baseDamage * 4f)); Debug.Log((object)num); int count = inventory.GetItemCountEffective(ToxicodendronBrineDef.itemIndex) * num; bool isTimed = false; float duration = 0f; if (buffDef.isDOT && (Object)(object)val != (Object)null) { DotIndex dotDefIndex = DotController.GetDotDefIndex(buffDef); DotController.GetDotDef(dotDefIndex); isTimed = val.GetDotStackTotalDurationForIndex(dotDefIndex, ref duration); } else if (buffDef.isDebuff) { isTimed = report.victimBody.GetTimedBuffTotalDurationForIndex(val2, ref duration); } SplitDebuffInformation val3 = default(SplitDebuffInformation); val3.attacker = ((Component)this).gameObject; val3.attackerMaster = attackerMaster; val3.index = val2; val3.isTimed = isTimed; val3.duration = duration; val3.count = count; SplitDebuffInformation item = val3; list.Add(item); } } if (list.Count == 0) { return; } SphereSearch val4 = new SphereSearch(); List<HurtBox> list2 = CollectionPool<HurtBox, List<HurtBox>>.RentCollection(); val4.mask = ((LayerIndex)(ref LayerIndex.entityPrecise)).mask; val4.origin = ((Component)report.victimBody).gameObject.transform.position; val4.radius = 15f + 5f * (float)(itemCountEffective - 1); val4.queryTriggerInteraction = (QueryTriggerInteraction)0; val4.RefreshCandidates(); val4.FilterCandidatesByHurtBoxTeam(TeamMask.GetEnemyTeams(report.attackerBody.teamComponent.teamIndex)); val4.OrderCandidatesByDistance(); val4.FilterCandidatesByDistinctHurtBoxEntities(); val4.GetHurtBoxes(list2); val4.ClearCandidates(); if (!list2.Contains(report.victimBody.mainHurtBox)) { list2.Prepend(report.victimBody.mainHurtBox); } int num2 = 4; for (int j = 0; j < list2.Count; j++) { HurtBox val5 = list2[j]; CharacterBody body = val5.healthComponent.body; if (Object.op_Implicit((Object)(object)val5) && Object.op_Implicit((Object)(object)val5.healthComponent) && val5.healthComponent.alive) { VineOrb val6 = new VineOrb(); ((Orb)val6).origin = ((Component)report.victimBody).gameObject.transform.position; ((Orb)val6).target = val5; val6.splitDebuffInformation = list; OrbManager.instance.AddOrb((Orb)(object)val6); num2--; if (num2 == 0) { return; } } } CollectionPool<HurtBox, List<HurtBox>>.ReturnCollection(list2); } if ((int)report.dotType != -1 || report.damageInfo.procCoefficient <= 0f || inventory.GetItemCountEffective(ToxicodendronBrineDef.itemIndex) < 1) { return; } fractureChance = Util.ConvertAmpli