Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of SeekingTheVoid v1.5.1
SeekingTheVoid.dll
Decompiled 3 months ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Logging; using EntityStates; using EntityStates.Gup; using HG; using HG.Reflection; using Microsoft.CodeAnalysis; using On.EntityStates; using On.EntityStates.Gup; using 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_0056: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00ed: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_0104: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Unknown result type (might be due to invalid IL or missing references) //IL_011d: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) //IL_0151: Unknown result type (might be due to invalid IL or missing references) //IL_0159: Unknown result type (might be due to invalid IL or missing references) //IL_015e: Unknown result type (might be due to invalid IL or missing references) //IL_0167: Unknown result type (might be due to invalid IL or missing references) //IL_017b: Unknown result type (might be due to invalid IL or missing references) //IL_0192: Unknown result type (might be due to invalid IL or missing references) //IL_0194: Unknown result type (might be due to invalid IL or missing references) //IL_01a1: Unknown result type (might be due to invalid IL or missing references) //IL_01a6: Unknown result type (might be due to invalid IL or missing references) //IL_01b2: Unknown result type (might be due to invalid IL or missing references) //IL_01c1: Unknown result type (might be due to invalid IL or missing references) //IL_01cc: Unknown result type (might be due to invalid IL or missing references) //IL_01dc: Unknown result type (might be due to invalid IL or missing references) //IL_01ec: Unknown result type (might be due to invalid IL or missing references) //IL_0207: Unknown result type (might be due to invalid IL or missing references) //IL_0214: Unknown result type (might be due to invalid IL or missing references) if (!NetworkClient.active || !((NetworkBehaviour)((BaseItemBodyBehavior)this).body).hasAuthority || !Object.op_Implicit((Object)(object)((BaseItemBodyBehavior)this).body.characterMotor)) { return; } Quaternion val = Quaternion.Euler(0f, Random.Range(-45f, 45f), 0f); Vector3 val2 = default(Vector3); ((Vector3)(ref val2))..ctor(((BaseItemBodyBehavior)this).body.inputBank.aimDirection.x, 0f, ((BaseItemBodyBehavior)this).body.inputBank.aimDirection.z); Vector3 velocity = ((BaseItemBodyBehavior)this).body.characterMotor.velocity; bool flag = false; float magnitude = ((Vector3)(ref velocity)).magnitude; float num = Mathf.InverseLerp(0f, 50f, magnitude); float num2 = Mathf.Lerp(1f, 2f, num); Vector3 val3 = val * val2; val3 = Vector3.RotateTowards(val3, velocity, MathF.PI / 12f, 0f); Vector3 val4 = ((Component)this).gameObject.transform.position + val3 * (Random.Range(15f, 30f) * num2); NodeGraph groundNodes = SceneInfo.instance.groundNodes; if ((Object)(object)groundNodes == (Object)null) { Debug.LogError((object)"SeekingTheVoid:: nodeIndex returned null! Report this to acanthi pls :3"); return; } NodeIndex val5 = groundNodes.FindClosestNode(val4, (HullClassification)0, float.PositiveInfinity); bool flag2 = false; if (groundNodes.GetNodePosition(val5, ref val4)) { float num3 = HullDef.Find((HullClassification)0).radius * 0.7f; bool flag3 = false; if (!HGPhysics.DoesOverlapSphere(val4 + Vector3.up * (num3 + 0.25f), num3, LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.world)).mask) | LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.defaultLayer)).mask) | LayerMask.op_Implicit(CommonMasks.fakeActorLayers) | LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.entityPrecise)).mask) | LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.debris)).mask), (QueryTriggerInteraction)0)) { NetMessageExtensions.Send((INetMessage)(object)new SpawnShitMessage(val4, ((Component)((BaseItemBodyBehavior)this).body).GetComponent<NetworkIdentity>().netId), (NetworkDestination)2); } } } } [CompilerGenerated] private static class <>O { public static hook_ProcessJump_bool <0>__CoralJumpHook; public static StatHookEventHandler <1>__RecalculateStatsAPI_GetStatCoefficients; } public static ItemDef CoastalCoralDef; public static GameObject CCSpawnVFX; public static GameObject CCPickupVFX; public static GameObject CCPickupOrb; public static int baseJumps; public static int stackJumps; public static int costToJump; public static BuffDef coralJump; public static void Init() { //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_009a: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_0179: Unknown result type (might be due to invalid IL or missing references) //IL_0183: Expected O, but got Unknown //IL_0189: Unknown result type (might be due to invalid IL or missing references) //IL_018e: Unknown result type (might be due to invalid IL or missing references) //IL_01b0: Unknown result type (might be due to invalid IL or missing references) //IL_01b5: Unknown result type (might be due to invalid IL or missing references) //IL_01ce: Unknown result type (might be due to invalid IL or missing references) //IL_01e8: Unknown result type (might be due to invalid IL or missing references) //IL_01ea: Unknown result type (might be due to invalid IL or missing references) //IL_020b: Unknown result type (might be due to invalid IL or missing references) //IL_0210: Unknown result type (might be due to invalid IL or missing references) //IL_0216: Expected O, but got Unknown //IL_022c: Unknown result type (might be due to invalid IL or missing references) //IL_0231: Unknown result type (might be due to invalid IL or missing references) //IL_0237: Expected O, but got Unknown CreateLang(); CreateEffect(); CreateBuff(); CreatePickup(); CoastalCoralDef = ScriptableObject.CreateInstance<ItemDef>(); ((Object)CoastalCoralDef).name = "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 float gupSizeModifier; 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; gupSizeModifier = ((BaseUnityPlugin)this).Config.Bind<float>("Straw-Pair-y", "Gup Size Modifier", 0.7f, "Multiplicative size value for the ally Gup.").Value; } } public static class StrawPairy { public class GupChildDecayBehavior : BaseItemBodyBehavior { [ItemDefAssociation(useOnServer = true, useOnClient = false)] private static ItemDef GetItemDef() { return GeepGipDecayDef; } private int GetStackCount() { return base.stack; } public void FixedUpdate() { //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) 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); CharacterBody body2 = ((BaseItemBodyBehavior)this).body; } 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_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Expected O, but got Unknown //IL_0100: Unknown result type (might be due to invalid IL or missing references) //IL_0107: 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; } gupResummonCooldown -= Time.fixedDeltaTime; if (gupResummonCooldown <= 0f) { SpawnCard val = ((!Object.op_Implicit((Object)(object)((Component)bodyMaster).GetComponent<PlayerCharacterMasterController>())) ? GuppyAllySpawnCard : GupAllySpawnCard); DirectorSpawnRequest val2 = new DirectorSpawnRequest(val, new DirectorPlacementRule { placementMode = (PlacementMode)1, minDistance = 10f, maxDistance = 45f, spawnOnTarget = ((Component)this).transform }, RoR2Application.rng); val2.summonerBodyObject = ((Component)this).gameObject; val2.onSpawnedServer = OnGupMasterSpawned; DirectorCore.instance.TrySpawnObject(val2); if (deployableCount < 1) { gupResummonCooldown = timeBetweenGupRetryResummons; } else { gupResummonCooldown = timeBetweenGupResummons; } } 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 hook_OnEnter <1>__BaseSplitDeath_OnEnter; } 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 SpawnCard GuppyAllySpawnCard; 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 //IL_027f: Unknown result type (might be due to invalid IL or missing references) //IL_0284: Unknown result type (might be due to invalid IL or missing references) //IL_028a: 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, ItemDisplayTransformations())); object obj2 = <>O.<1>__BaseSplitDeath_OnEnter; if (obj2 == null) { hook_OnEnter val3 = BaseSplitDeath_OnEnter; <>O.<1>__BaseSplitDeath_OnEnter = val3; obj2 = (object)val3; } BaseSplitDeath.OnEnter += (hook_OnEnter)obj2; } private static void BaseSplitDeath_OnEnter(orig_OnEnter orig, BaseSplitDeath self) { orig.Invoke(self); if (((EntityState)self).characterBody.baseNameToken == "GUPPY_BODY_NAME") { self.spawnCount = 0; self.characterSpawnCard = null; } } 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_0032: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: 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_0134: Unknown result type (might be due to invalid IL or missing references) //IL_0139: Unknown result type (might be due to invalid IL or missing references) //IL_0238: Unknown result type (might be due to invalid IL or missing references) //IL_0288: Unknown result type (might be due to invalid IL or missing references) //IL_02b4: Unknown result type (might be due to invalid IL or missing references) //IL_02dc: Unknown result type (might be due to invalid IL or missing references) //IL_033c: Unknown result type (might be due to invalid IL or missing references) //IL_0341: Unknown result type (might be due to invalid IL or missing references) GameObject val = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/DLC1/Gup/GupBody.prefab").WaitForCompletion(); GameObject val2 = PrefabAPI.InstantiateClone(val, "modifiedGupBody", false); ModelLocator component = val2.GetComponent<ModelLocator>(); Transform modelTransform = component.modelTransform; modelTransform.localScale *= SeekingTheVoid.gupSizeModifier; val2.GetComponent<CharacterBody>().portraitIcon = (Texture)(object)SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<Texture2D>("GupAlly.png"); val2.GetComponent<CharacterDeathBehavior>().deathStateMachine = val2.GetComponent<EntityStateMachine>(); val2.GetComponent<NetworkStateMachine>().stateMachines[0] = val2.GetComponent<EntityStateMachine>(); PrefabAPI.RegisterNetworkPrefab(val2); ContentAddition.AddBody(val2); GameObject val3 = PrefabAPI.InstantiateClone(val, "guppyBody", false); ModelLocator component2 = val3.GetComponent<ModelLocator>(); Transform modelTransform2 = component2.modelTransform; modelTransform2.localScale *= 0.25f; val3.GetComponent<CharacterBody>().portraitIcon = (Texture)(object)SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<Texture2D>("GupAlly.png"); val3.GetComponent<CharacterDeathBehavior>().deathStateMachine = val3.GetComponent<EntityStateMachine>(); val3.GetComponent<NetworkStateMachine>().stateMachines[0] = val3.GetComponent<EntityStateMachine>(); val3.GetComponent<CharacterBody>().baseNameToken = "GUPPY_BODY_NAME"; PrefabAPI.RegisterNetworkPrefab(val3); ContentAddition.AddBody(val3); GameObject val4 = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/DLC1/Gup/GupMaster.prefab").WaitForCompletion(); GameObject val5 = PrefabAPI.InstantiateClone(val4, "modifiedGupMaster", false); AISkillDriver[] components = val5.GetComponents<AISkillDriver>(); AISkillDriver[] array = components; foreach (AISkillDriver val6 in array) { val6.selectionRequiresTargetNonFlier = true; if (val6.minDistance > 0f) { val6.minDistance *= SeekingTheVoid.gupSizeModifier; } if (val6.maxDistance > 0f && val6.maxDistance < float.PositiveInfinity) { val6.maxDistance *= SeekingTheVoid.gupSizeModifier; } if (val6.maxDistance > 200f) { val6.maxDistance = 200f; } } val5.AddComponent<Deployable>(); val5.AddComponent<AIOwnership>(); AISkillDriver val7 = val5.AddComponent<AISkillDriver>(); val7.customName = "ReturnToLeaderDefault"; val7.skillSlot = (SkillSlot)(-1); val7.requireSkillReady = false; val7.minDistance = 20f; val7.maxDistance = float.PositiveInfinity; val7.selectionRequiresAimTarget = false; val7.selectionRequiresOnGround = false; val7.selectionRequiresTargetLoS = false; val7.selectionRequiresTargetNonFlier = false; val7.maxTimesSelected = -1; val7.moveTargetType = (TargetType)2; val7.moveInputScale = 1f; val7.aimVectorDampTimeOverride = -1f; val7.aimVectorMaxSpeedOverride = -1f; val7.aimType = (AimType)1; val7.ignoreNodeGraph = false; val7.shouldSprint = true; val7.shouldFireEquipment = false; val7.shouldTapButton = false; val7.buttonPressType = (ButtonPressType)0; val7.driverUpdateTimerOverride = -1f; val7.resetCurrentEnemyOnNextDriverSelection = false; val7.noRepeat = false; val5.GetComponent<CharacterMaster>().bodyPrefab = val2; PrefabAPI.RegisterNetworkPrefab(val5); GameObject val8 = PrefabAPI.InstantiateClone(val5, "guppyMaster", false); val8.GetComponent<CharacterMaster>().bodyPrefab = val3; PrefabAPI.RegisterNetworkPrefab(val8); SpawnCard val9 = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/Base/BeetleGland/cscBeetleGuardAlly.asset").WaitForCompletion(); GupAllySpawnCard = Object.Instantiate<SpawnCard>(val9); GupAllySpawnCard.prefab = val5; GuppyAllySpawnCard = Object.Instantiate<SpawnCard>(val9); GuppyAllySpawnCard.prefab = val8; } 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) //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>("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) } }); val.Add("mdlGup", (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = SeekingTheVoid.SeekingTheVoidAssets.LoadAsset<GameObject>("StrawPairy.prefab"), childName = "Head", localPos = new Vector3(0f, 0.69f, 0f), localAngles = new Vector3(0f, 0f, 32f), localScale = new Vector3(0.5f, 0.5f, 0.5f) } }); return val; } public static void CreateLang() { LanguageAPI.Add("GUPPY_BODY_NAME", "Guppy"); 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)