Decompiled source of Himothy Cards v1.8.0
PedoCards-main.dll
Decompiled a day 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.Collections.ObjectModel; using System.Diagnostics; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using HarmonyLib; using Microsoft.CodeAnalysis; using ModdingUtils.MonoBehaviours; using PSA.Extensions; using PedoCards_main.Cards; using PedoCards_main.MonoBehaviors; using PedoCards_main.MonoBehaviours; using Sonigon; using Sonigon.Internal; using SoundImplementation; using UnboundLib; using UnboundLib.Cards; using UnboundLib.Utils; using UnityEngine; using UnityEngine.Events; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("PedoCards-main")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+e1ba9a1df0324f4f7a70205a6531ad0e38e66a84")] [assembly: AssemblyProduct("PedoCards-main")] [assembly: AssemblyTitle("PedoCards-main")] [assembly: AssemblyVersion("1.0.0.0")] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } } public class chasehornytest : MonoBehaviour { public UnityEvent turnOnEvent; public UnityEvent turnOffEvent; public UnityEvent switchTargetEvent; private Player player; private LineEffect lineEffect; private bool isOn; private Player currentTarget; private void Start() { lineEffect = ((Component)this).GetComponentInChildren<LineEffect>(true); player = ((Component)this).GetComponentInParent<Player>(); } private void Update() { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) Player val = PlayerManager.instance.GetClosestPlayerInTeam(((Component)this).transform.position, PlayerManager.instance.GetOtherTeam(player.teamID), true); if (Object.op_Implicit((Object)(object)val) && (Vector2.Angle(Vector2.op_Implicit(((Component)val).transform.position - ((Component)this).transform.position), Vector2.op_Implicit(player.data.input.direction)) > 70f || player.data.input.direction == Vector3.zero)) { val = null; } if (Object.op_Implicit((Object)(object)val)) { if ((Object)(object)currentTarget != (Object)(object)player) { currentTarget = player; switchTargetEvent.Invoke(); lineEffect.Play(((Component)this).transform, ((Component)val).transform, 0f); } if (!isOn) { isOn = true; turnOnEvent.Invoke(); } } else { if (isOn) { isOn = false; turnOffEvent.Invoke(); } if (lineEffect.isPlaying) { lineEffect.Stop(); ((Component)lineEffect).gameObject.SetActive(false); } currentTarget = null; } } } namespace PedoCards_main { internal static class Terms { public static string charHealth = "Max Health"; public static string charSpeed = "Movement Speed"; public static string charJump = "Jump Count"; public static string charSize = "Character Size"; public static string charRegen = "Health Regeneration"; public static string charProtection = "Damage Reduction"; public static string charThorns = "Thorns"; public static string charAntiThorns = "Thorns Pierce"; public static string charPierce = "Damage Reduction Pierce"; public static string gunReload = "Reload Time"; public static string gunDamage = "Gun Damage"; public static string gunProjectile = "Bullet Count"; public static string gunSpread = "Bullet Spread"; public static string gunBurst = "Burst Count"; public static string gunAmmo = "Max Ammo"; public static string gunAttackSpeed = "Attack Delay"; public static string gunDrag = "Bullet Drag"; public static string gunBounces = "Bullet Bounces"; public static string gunKnockback = "Bullet Knockback"; public static string gunDamageGrowth = "Bullet Damage Growth"; public static string gunSpeedGrowth = "Bullet Speed Growth"; public static string blockCount = "Blocks"; public static string blockCooldown = "Block Cooldown"; public static string blockForceV = "Vertical Block Force"; public static string blockForceH = "Horizontal Block Force"; public static string extraLifesteal = "Lifesteal"; public static string extraDecay = "Decay"; public static CardInfoStat LesserCurse = new CardInfoStat { positive = false, stat = "Curse Card", amount = "Lesser", simepleAmount = (SimpleAmount)0 }; public static CardInfoStat GreaterCurse = new CardInfoStat { positive = false, stat = "Curse Card", amount = "Greater", simepleAmount = (SimpleAmount)0 }; public static CardInfoStat LesserCurseRemoval = new CardInfoStat { positive = false, stat = "Curse Removal", amount = "Lesser", simepleAmount = (SimpleAmount)0 }; public static CardInfoStat GreaterCurseRemoval = new CardInfoStat { positive = false, stat = "Curse Removal", amount = "Greater", simepleAmount = (SimpleAmount)0 }; } [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInPlugin("com.harmlessheep.rounds.PedoCards", "Pedo Cards", "1.1.1")] [BepInProcess("Rounds.exe")] public class PedoCards : BaseUnityPlugin { private const string ModId = "com.harmlessheep.rounds.PedoCards"; private const string ModName = "Pedo Cards"; public const string Version = "1.1.1"; public const string ModInitials = "PeCa"; public static PedoCards instance { get; private set; } private void Awake() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown Harmony val = new Harmony("com.harmlessheep.rounds.PedoCards"); val.PatchAll(); } private void Start() { instance = this; CustomCard.BuildCard<EvasiveManeuvers>(); CustomCard.BuildCard<Firework>(); CustomCard.BuildCard<Bullseye>(); CustomCard.BuildCard<Frostbite>(); CustomCard.BuildCard<Jetpack>(); CustomCard.BuildCard<DropShot>(); CustomCard.BuildCard<SpringLoaded>(); CustomCard.BuildCard<Hyperball>(); CustomCard.BuildCard<Cloud>(); CustomCard.BuildCard<Unicellular>(); CustomCard.BuildCard<EyeForAnEye>(); CustomCard.BuildCard<Vampire>(); CustomCard.BuildCard<SawedOffBarrelPeCa>(); CustomCard.BuildCard<Springboots>(); CustomCard.BuildCard<Obese>(); CustomCard.BuildCard<Flutter>(); CustomCard.BuildCard<Acid>(); CustomCard.BuildCard<Bravery>(); CustomCard.BuildCard<Moonboot>(); CustomCard.BuildCard<Float>(); CustomCard.BuildCard<Thorny>(); CustomCard.BuildCard<DoubleEdgedBullets>(); CustomCard.BuildCard<RocketJump>(); CustomCard.BuildCard<Absorb>(); CustomCard.BuildCard<SlowMo>(); CustomCard.BuildCard<RapidFire>(); CustomCard.BuildCard<Bite>(); CustomCard.BuildCard<WildAim>(); CustomCard.BuildCard<ExorcismV2>(); } } } namespace PedoCards_main.MonoTemplates { internal class WhenInLineOfSightTemplate { } } namespace PedoCards_main.MonoBehaviours { public class AcidMono : RayHitPoison { [Header("Sounds")] public SoundEvent? soundEventDamageOverTime; [Header("Settings")] public float time = 4f; public float interval = 0.4f; public Color color = Color.green; private void Start() { if ((Object)(object)((Component)this).GetComponentInParent<ProjectileHit>() != (Object)null) { ((Component)this).GetComponentInParent<ProjectileHit>().bulletCanDealDeamage = false; } } public override HasToReturn DoHitEffect(HitInfo hit) { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007d: 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_00bd: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)hit.transform)) { return (HasToReturn)1; } RayHitPoison[] componentsInChildren = ((Component)((Component)this).transform.root).GetComponentsInChildren<RayHitPoison>(); ProjectileHit componentInParent = ((Component)this).GetComponentInParent<ProjectileHit>(); DamageOverTime component = ((Component)hit.transform).GetComponent<DamageOverTime>(); if (Object.op_Implicit((Object)(object)component)) { component.TakeDamageOverTime(Vector2.op_Implicit(componentInParent.damage * ((Component)this).transform.forward / (float)componentsInChildren.Length), Vector2.op_Implicit(((Component)this).transform.position), time, interval, color, soundEventDamageOverTime, ((Component)this).GetComponentInParent<ProjectileHit>().ownWeapon, ((Component)this).GetComponentInParent<ProjectileHit>().ownPlayer, true); } return (HasToReturn)1; } public void Destroy() { Object.Destroy((Object)(object)this); } } internal class AdrenalineMono : MonoBehaviour { public static readonly float AppliedStatBonus1 = 100f; private float StatBonusPercentage; private float TimeInLineOfSight; private Player player; private Gun gun; private Gun gunAmmo; private CharacterStatModifiers statModifiers; private bool isActive; private LineEffect lineEffect; private LineRenderer lineRenderer; private LineRenderer lr; private Vector3 target; private Vector3 myPosition; private Vector3 myOffset; private bool drawLine; private float baseplayerspeed; private static FieldInfo playerVelocityField = typeof(PlayerVelocity).GetField("velocity", BindingFlags.Instance | BindingFlags.NonPublic); private void Start() { baseplayerspeed = player.data.stats.movementSpeed; player = ((Component)this).GetComponentInParent<Player>(); } private void FixedUpdate() { player.data.stats.movementSpeed = baseplayerspeed * 1f + (1f - player.data.health / player.data.maxHealth) * 0.5f; } } public class EyeForAnEyeMono : MonoBehaviour { private Gun gun; public Player player; private void Start() { player = ((Component)this).GetComponent<Player>(); gun = player.data.weaponHandler.gun; Gun obj = gun; obj.ShootPojectileAction = (Action<GameObject>)Delegate.Combine(obj.ShootPojectileAction, new Action<GameObject>(ShootAction)); } private void ShootAction(GameObject projectile) { //IL_0011: 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_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) ((Damagable)player.data.healthHandler).TakeDamage(Vector2.one * gun.damage * 55f * 0.1f / (float)(1 + (gun.numberOfProjectiles - 1) / 6), Vector2.zero, (GameObject)null, (Player)null, false, false); } private void OnDestroy() { Gun obj = gun; obj.ShootPojectileAction = (Action<GameObject>)Delegate.Remove(obj.ShootPojectileAction, new Action<GameObject>(ShootAction)); } } public class DoubleEdgedBulletsMono : MonoBehaviour { private Gun gun; public Player player; private void Start() { player = ((Component)this).GetComponent<Player>(); gun = player.data.weaponHandler.gun; Gun obj = gun; obj.ShootPojectileAction = (Action<GameObject>)Delegate.Combine(obj.ShootPojectileAction, new Action<GameObject>(ShootAction)); } private void ShootAction(GameObject projectile) { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0044: 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_0060: Unknown result type (might be due to invalid IL or missing references) ((Damagable)player.data.healthHandler).TakeDamage(Vector2.one * player.data.weaponHandler.gun.damage * 55f * 0.2f / (float)(1 + (gun.numberOfProjectiles - 1) / 6), Vector2.zero, (GameObject)null, (Player)null, false, false); } private void OnDestroy() { Gun obj = gun; obj.ShootPojectileAction = (Action<GameObject>)Delegate.Remove(obj.ShootPojectileAction, new Action<GameObject>(ShootAction)); } } internal class ExorcismMono : MonoBehaviour { public static readonly float AppliedStatBonus1 = 100f; public static readonly float AppliedStatBonus2 = 2f; public static readonly float AppliedStatBonus3 = 80f; public static readonly float AppliedStatBonus4 = 500f; private float StatBonusPercentage; private float TimeInLineOfSight; private Player player; private Gun gun; private Gun gunAmmo; private CharacterStatModifiers statModifiers; private bool isActive; private LineEffect lineEffect; private LineRenderer lineRenderer; private LineRenderer lr; private Vector3 target; private Vector3 myPosition; private Vector3 myOffset; private bool drawLine; private float prevBonus1; private float newBonus1; private static FieldInfo playerVelocityField = typeof(PlayerVelocity).GetField("velocity", BindingFlags.Instance | BindingFlags.NonPublic); private void Start() { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0034: 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_0099: Expected O, but got Unknown prevBonus1 = 1f; newBonus1 = 1f; player = ((Component)this).GetComponentInParent<Player>(); myPosition = ((Component)player).transform.position; lineRenderer = ((Component)this).gameObject.AddComponent<LineRenderer>(); lineRenderer.startWidth = 0.15f; lineRenderer.endWidth = lineRenderer.startWidth; lineRenderer.positionCount = 2; ((Renderer)lineRenderer).material = new Material(Shader.Find("Sprites/Default")); } private void OnDisable() { turnOff(); } private void FixedUpdate() { //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00d0: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_0264: Unknown result type (might be due to invalid IL or missing references) //IL_0298: Unknown result type (might be due to invalid IL or missing references) bool flag = false; drawLine = false; foreach (Player player in PlayerManager.instance.players) { if (player.teamID != this.player.teamID && PlayerManager.instance.CanSeePlayer(Vector2.op_Implicit(((Component)this.player).transform.position), player).canSee) { flag = true; drawLine = true; break; } } foreach (Player player2 in PlayerManager.instance.players) { target = ((Component)this.player).transform.position; myOffset = ((Component)player2).transform.position; if (drawLine) { ((Renderer)lineRenderer).enabled = true; lineRenderer.SetPosition(0, target); lineRenderer.SetPosition(1, myOffset); } else { ((Renderer)lineRenderer).enabled = false; } } newBonus1 = 1f + AppliedStatBonus1 * 0.01f * StatBonusPercentage; CharacterStatModifiers stats = this.player.data.stats; stats.movementSpeed /= prevBonus1; CharacterStatModifiers stats2 = this.player.data.stats; stats2.movementSpeed *= newBonus1; prevBonus1 = newBonus1; if (drawLine) { TimeInLineOfSight += 2f; } else { TimeInLineOfSight -= 6f; } if (TimeInLineOfSight > 1000f) { TimeInLineOfSight = 1000f; } if (TimeInLineOfSight < 0f) { TimeInLineOfSight = 0f; } StatBonusPercentage = TimeInLineOfSight / 1000f; lineRenderer.startColor = new Color(255f, 0f, (float)Math.Round(255f * (1f - StatBonusPercentage))); lineRenderer.endColor = new Color(255f, 0f, (float)Math.Round(255f * (1f - StatBonusPercentage))); if (drawLine) { turnOn(); } else { turnOff(); } } private void turnOn() { if (!isActive) { isActive = true; } } private void turnOff() { if (isActive) { isActive = false; CharacterStatModifiers stats = player.data.stats; stats.movementSpeed /= 1f + AppliedStatBonus1 * 0.01f * StatBonusPercentage; } } } public class FrostbiteMono : RayHitPoison { [Header("Sounds")] public SoundEvent soundEventDamageOverTime; [Header("Settings")] public float time = 2f; public float interval = 0.5f; public Color color = Color.cyan; private void Start() { if ((Object)(object)((Component)this).GetComponentInParent<ProjectileHit>() != (Object)null) { ((Component)this).GetComponentInParent<ProjectileHit>().bulletCanDealDeamage = false; } } public override HasToReturn DoHitEffect(HitInfo hit) { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007d: 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_00bd: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)hit.transform)) { return (HasToReturn)1; } RayHitPoison[] componentsInChildren = ((Component)((Component)this).transform.root).GetComponentsInChildren<RayHitPoison>(); ProjectileHit componentInParent = ((Component)this).GetComponentInParent<ProjectileHit>(); DamageOverTime component = ((Component)hit.transform).GetComponent<DamageOverTime>(); if (Object.op_Implicit((Object)(object)component)) { component.TakeDamageOverTime(Vector2.op_Implicit(componentInParent.damage * ((Component)this).transform.forward / (float)componentsInChildren.Length), Vector2.op_Implicit(((Component)this).transform.position), time, interval, color, soundEventDamageOverTime, ((Component)this).GetComponentInParent<ProjectileHit>().ownWeapon, ((Component)this).GetComponentInParent<ProjectileHit>().ownPlayer, true); } return (HasToReturn)1; } public void Destroy() { Object.Destroy((Object)(object)this); } } internal class HornyMonoChase : MonoBehaviour { public static readonly float speedPercentBonus = 100f; private Player player; private bool isActive; private LineEffect lineEffect; private LineRenderer lineRenderer; private Vector3 target; private Vector3 myPosition; private Vector3 myOffset; private bool drawLine; private static FieldInfo playerVelocityField = typeof(PlayerVelocity).GetField("velocity", BindingFlags.Instance | BindingFlags.NonPublic); private void Start() { //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001e: 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_0083: Expected O, but got Unknown //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) player = ((Component)this).GetComponentInParent<Player>(); myPosition = ((Component)player).transform.position; lineRenderer = ((Component)this).gameObject.AddComponent<LineRenderer>(); lineRenderer.startWidth = 0.15f; lineRenderer.endWidth = lineRenderer.startWidth; lineRenderer.positionCount = 2; ((Renderer)lineRenderer).material = new Material(Shader.Find("Sprites/Default")); lineRenderer.startColor = new Color(255f, 0f, 255f); lineRenderer.endColor = new Color(255f, 0f, 255f); } private void OnDisable() { turnOff(); } private void FixedUpdate() { //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_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_0146: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0172: Unknown result type (might be due to invalid IL or missing references) //IL_0185: 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_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_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Unknown result type (might be due to invalid IL or missing references) bool flag = false; drawLine = false; if (player.data.input.direction != Vector3.zero) { foreach (Player player in PlayerManager.instance.players) { if (player.teamID != this.player.teamID && Vector2.Angle(Vector2.op_Implicit(((Component)player).transform.position - ((Component)this.player).transform.position), Vector2.op_Implicit(this.player.data.input.direction)) <= 70f && PlayerManager.instance.CanSeePlayer(Vector2.op_Implicit(((Component)this.player).transform.position), player).canSee) { flag = true; drawLine = true; break; } } } foreach (Player player2 in PlayerManager.instance.players) { target = ((Component)this.player).transform.position; myOffset = ((Component)player2).transform.position; if (drawLine) { ((Renderer)lineRenderer).enabled = true; lineRenderer.SetPosition(0, target); lineRenderer.SetPosition(1, myOffset); } else { ((Renderer)lineRenderer).enabled = false; } } if (flag) { turnOn(); } else { turnOff(); } } private void turnOn() { if (!isActive) { isActive = true; CharacterStatModifiers stats = player.data.stats; stats.movementSpeed *= 1f + speedPercentBonus * 0.01f; } } private void turnOff() { if (isActive) { isActive = false; CharacterStatModifiers stats = player.data.stats; stats.movementSpeed /= 1f + speedPercentBonus * 0.01f; } } } internal class HornyMonoFlee : MonoBehaviour { public static readonly float speedPercentBonus = 100f; private Player player; private bool isActive; private LineEffect lineEffect; private LineRenderer lineRenderer; private Vector3 target; private Vector3 myPosition; private Vector3 myOffset; private bool drawLine; private static FieldInfo playerVelocityField = typeof(PlayerVelocity).GetField("velocity", BindingFlags.Instance | BindingFlags.NonPublic); private void Start() { //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001e: 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_0083: Expected O, but got Unknown //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) player = ((Component)this).GetComponentInParent<Player>(); myPosition = ((Component)player).transform.position; lineRenderer = ((Component)this).gameObject.AddComponent<LineRenderer>(); lineRenderer.startWidth = 0.15f; lineRenderer.endWidth = lineRenderer.startWidth; lineRenderer.positionCount = 2; ((Renderer)lineRenderer).material = new Material(Shader.Find("Sprites/Default")); lineRenderer.startColor = new Color(255f, 16f, 240f); lineRenderer.endColor = new Color(255f, 16f, 240f); } private void OnDisable() { turnOff(); } private void FixedUpdate() { //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_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_0146: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0172: Unknown result type (might be due to invalid IL or missing references) //IL_0185: 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_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_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Unknown result type (might be due to invalid IL or missing references) bool flag = false; drawLine = false; if (player.data.input.direction != Vector3.zero) { foreach (Player player in PlayerManager.instance.players) { if (player.teamID != this.player.teamID && Vector2.Angle(Vector2.op_Implicit(((Component)player).transform.position - ((Component)this.player).transform.position), Vector2.op_Implicit(this.player.data.input.direction)) <= 70f && PlayerManager.instance.CanSeePlayer(Vector2.op_Implicit(((Component)this.player).transform.position), player).canSee) { flag = true; drawLine = true; break; } } } foreach (Player player2 in PlayerManager.instance.players) { target = ((Component)this.player).transform.position; myOffset = ((Component)player2).transform.position; if (drawLine) { ((Renderer)lineRenderer).enabled = true; lineRenderer.SetPosition(0, target); lineRenderer.SetPosition(1, myOffset); } else { ((Renderer)lineRenderer).enabled = false; } } if (flag) { turnOn(); } else { turnOff(); } } private void turnOn() { if (!isActive) { isActive = true; CharacterStatModifiers stats = player.data.stats; stats.movementSpeed *= 1f + speedPercentBonus * 0.01f; } } private void turnOff() { if (isActive) { isActive = false; CharacterStatModifiers stats = player.data.stats; stats.movementSpeed /= 1f + speedPercentBonus * 0.01f; } } } public class NanobotsMono : RayHitPoison { [Header("Sounds")] public SoundEvent soundEventDamageOverTime; [Header("Settings")] public float time = 10f; public float interval = 0.2f; public Color color = Color.gray; private void Start() { if ((Object)(object)((Component)this).GetComponentInParent<ProjectileHit>() != (Object)null) { ((Component)this).GetComponentInParent<ProjectileHit>().bulletCanDealDeamage = false; } } public override HasToReturn DoHitEffect(HitInfo hit) { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007d: 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_00bd: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)hit.transform)) { return (HasToReturn)1; } RayHitPoison[] componentsInChildren = ((Component)((Component)this).transform.root).GetComponentsInChildren<RayHitPoison>(); ProjectileHit componentInParent = ((Component)this).GetComponentInParent<ProjectileHit>(); DamageOverTime component = ((Component)hit.transform).GetComponent<DamageOverTime>(); if (Object.op_Implicit((Object)(object)component)) { component.TakeDamageOverTime(Vector2.op_Implicit(componentInParent.damage * ((Component)this).transform.forward / (float)componentsInChildren.Length), Vector2.op_Implicit(((Component)this).transform.position), time, interval, color, soundEventDamageOverTime, ((Component)this).GetComponentInParent<ProjectileHit>().ownWeapon, ((Component)this).GetComponentInParent<ProjectileHit>().ownPlayer, true); } return (HasToReturn)1; } public void Destroy() { Object.Destroy((Object)(object)this); } } public class PeaceTreatyMono : MonoBehaviour { private Gun gun; public Player player; private void Start() { player = ((Component)this).GetComponent<Player>(); gun = player.data.weaponHandler.gun; Gun obj = gun; obj.ShootPojectileAction = (Action<GameObject>)Delegate.Combine(obj.ShootPojectileAction, new Action<GameObject>(ShootAction)); } private void ShootAction(GameObject projectile) { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) ((Damagable)player.data.healthHandler).TakeDamage(Vector2.right * 18.75f * gun.damage, Vector2.zero, (GameObject)null, (Player)null, false, false); } private void OnDestroy() { Gun obj = gun; obj.ShootPojectileAction = (Action<GameObject>)Delegate.Remove(obj.ShootPojectileAction, new Action<GameObject>(ShootAction)); } } public class ForcedReloadMono : MonoBehaviour { private Gun gun; public Player player; private void Start() { player = ((Component)this).GetComponent<Player>(); gun = player.data.weaponHandler.gun; Gun obj = gun; obj.ShootPojectileAction = (Action<GameObject>)Delegate.Combine(obj.ShootPojectileAction, new Action<GameObject>(ShootAction)); bool flag = false; } public void Update() { Gun obj = gun; obj.currentCharge += 20f; } private void ShootAction(GameObject projectile) { bool flag = false; } private void BlockAction(Player player) { bool flag = true; } private void OnDestroy() { Gun obj = gun; obj.ShootPojectileAction = (Action<GameObject>)Delegate.Remove(obj.ShootPojectileAction, new Action<GameObject>(ShootAction)); } } public class VampireMono : MonoBehaviour { internal Player player; internal Gun gun; internal GunAmmo gunAmmo; internal Gravity gravity; internal HealthHandler healthHandler; internal CharacterData data; internal Block block; private readonly float updateDelay = 0.1f; private float startTime; public int numcheck; public bool active; private void Start() { data = ((Component)this).GetComponentInParent<CharacterData>(); HealthHandler val = data.healthHandler; val.reviveAction = (Action)Delegate.Combine(val.reviveAction, new Action(ResetTimer)); } private void OnDestroy() { HealthHandler val = data.healthHandler; val.reviveAction = (Action)Delegate.Combine(val.reviveAction, new Action(ResetTimer)); } public void Destroy() { Object.Destroy((Object)(object)this); } public void Awake() { player = ((Component)this).gameObject.GetComponent<Player>(); gun = ((Component)((Component)player).GetComponent<Holding>().holdable).GetComponent<Gun>(); data = ((Component)player).GetComponent<CharacterData>(); healthHandler = ((Component)player).GetComponent<HealthHandler>(); gravity = ((Component)player).GetComponent<Gravity>(); block = ((Component)player).GetComponent<Block>(); gunAmmo = ((Component)gun).GetComponentInChildren<GunAmmo>(); numcheck = 0; } private void Update() { if (!(Time.time >= startTime + updateDelay)) { return; } ResetTimer(); for (int i = 0; i <= player.data.currentCards.Count - 1; i++) { if (player.data.currentCards[i].cardName == "Vampire") { numcheck++; } } if (numcheck > 0) { ResetTimer(); if (player.data.health < player.data.maxHealth && !active) { active = true; ((Component)((Component)player).transform).gameObject.AddComponent<VampireRegenMono>(); } } } private void ResetTimer() { startTime = Time.time; numcheck = 0; } } public class VampireMonoV2 : MonoBehaviour { public Player player; private readonly float updateDelay = 0.1f; private readonly float effectCooldown = 0.5f; private float startTime; private float timeOfLastEffect; public int numcheck; private void Awake() { player = ((Component)this).GetComponent<Player>(); } private void Start() { ResetEffectTimer(); ResetTimer(); } public void Destroy() { Object.Destroy((Object)(object)this); } private void Update() { //IL_00d3: 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) if (!(Time.time >= startTime + updateDelay)) { return; } ResetTimer(); if (!(Time.time >= timeOfLastEffect + effectCooldown)) { return; } for (int i = 0; i <= player.data.currentCards.Count - 1; i++) { if (player.data.currentCards[i].cardName == "Vampire") { numcheck++; } } if (numcheck > 0) { ResetEffectTimer(); ((Damagable)player.data.healthHandler).TakeDamage(Vector2.right * 0.018f * player.data.maxHealth, Vector2.zero, (GameObject)null, (Player)null, true, true); } } private void ResetTimer() { startTime = Time.time; } private void ResetEffectTimer() { timeOfLastEffect = Time.time; numcheck = 0; } } public class VampireRegenMono : ReversibleEffect { private readonly Color color = Color.magenta; private ReversibleColorEffect colorEffect; private VampireMono effect; private readonly float updateDelay = 0.1f; private float startTime; public override void OnOnEnable() { } public override void OnStart() { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) ((Damagable)base.player.data.healthHandler).TakeDamage(Vector2.right * 10f, Vector2.zero, (GameObject)null, (Player)null, true, false); effect = ((Component)base.player).GetComponent<VampireMono>(); ResetTimer(); } public override void OnUpdate() { if (Time.time >= startTime + updateDelay) { ResetTimer(); if (base.player.data.health >= base.player.data.maxHealth) { ((ReversibleEffect)this).Destroy(); } if (((Component)this).GetComponent<Player>().data.dead || ((Component)this).GetComponent<Player>().data.health <= 0f || !((Component)((Component)this).GetComponent<Player>()).gameObject.activeInHierarchy) { ResetTimer(); ((ReversibleEffect)this).Destroy(); } } } public override void OnOnDisable() { } private void ResetTimer() { startTime = Time.time; } } public class DamageOverTimeTemplate : RayHitPoison { [Header("Sounds")] public SoundEvent soundEventDamageOverTime; [Header("Settings")] public float time = 3f; public float interval = 0.5f; public Color color = Color.green; private void Start() { if ((Object)(object)((Component)this).GetComponentInParent<ProjectileHit>() != (Object)null) { ((Component)this).GetComponentInParent<ProjectileHit>().bulletCanDealDeamage = false; } } public override HasToReturn DoHitEffect(HitInfo hit) { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007d: 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_00bd: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)hit.transform)) { return (HasToReturn)1; } RayHitPoison[] componentsInChildren = ((Component)((Component)this).transform.root).GetComponentsInChildren<RayHitPoison>(); ProjectileHit componentInParent = ((Component)this).GetComponentInParent<ProjectileHit>(); DamageOverTime component = ((Component)hit.transform).GetComponent<DamageOverTime>(); if (Object.op_Implicit((Object)(object)component)) { component.TakeDamageOverTime(Vector2.op_Implicit(componentInParent.damage * ((Component)this).transform.forward / (float)componentsInChildren.Length), Vector2.op_Implicit(((Component)this).transform.position), time, interval, color, soundEventDamageOverTime, ((Component)this).GetComponentInParent<ProjectileHit>().ownWeapon, ((Component)this).GetComponentInParent<ProjectileHit>().ownPlayer, true); } return (HasToReturn)1; } public void Destroy() { Object.Destroy((Object)(object)this); } } internal class Flee_ChaseTemplate : MonoBehaviour { public static readonly float AppliedStatBonus1 = 60f; private Player player; private bool isActive; private LineEffect lineEffect; private LineRenderer lineRenderer; private Vector3 target; private Vector3 myPosition; private Vector3 myOffset; private bool drawLine; private static FieldInfo playerVelocityField = typeof(PlayerVelocity).GetField("velocity", BindingFlags.Instance | BindingFlags.NonPublic); private void Start() { //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001e: 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_0083: Expected O, but got Unknown //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) player = ((Component)this).GetComponentInParent<Player>(); myPosition = ((Component)player).transform.position; lineRenderer = ((Component)this).gameObject.AddComponent<LineRenderer>(); lineRenderer.startWidth = 0.15f; lineRenderer.endWidth = lineRenderer.startWidth; lineRenderer.positionCount = 2; ((Renderer)lineRenderer).material = new Material(Shader.Find("Sprites/Default")); lineRenderer.startColor = new Color(127f, 255f, 255f); lineRenderer.endColor = new Color(127f, 255f, 255f); } private void OnDisable() { turnOff(); } private void FixedUpdate() { //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_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_0146: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0172: Unknown result type (might be due to invalid IL or missing references) //IL_0185: 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_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_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Unknown result type (might be due to invalid IL or missing references) bool flag = false; drawLine = false; if (player.data.input.direction != Vector3.zero) { foreach (Player player in PlayerManager.instance.players) { if (player.teamID != this.player.teamID && Vector2.Angle(Vector2.op_Implicit(((Component)player).transform.position - ((Component)this.player).transform.position), Vector2.op_Implicit(this.player.data.input.direction)) <= 70f && PlayerManager.instance.CanSeePlayer(Vector2.op_Implicit(((Component)this.player).transform.position), player).canSee) { flag = true; drawLine = true; break; } } } foreach (Player player2 in PlayerManager.instance.players) { target = ((Component)this.player).transform.position; myOffset = ((Component)player2).transform.position; if (drawLine) { ((Renderer)lineRenderer).enabled = true; lineRenderer.SetPosition(0, target); lineRenderer.SetPosition(1, myOffset); } else { ((Renderer)lineRenderer).enabled = false; } } if (flag) { turnOn(); } else { turnOff(); } } private void turnOn() { if (!isActive) { isActive = true; CharacterStatModifiers stats = player.data.stats; stats.movementSpeed *= 1f + AppliedStatBonus1 * 0.01f; } } private void turnOff() { if (isActive) { isActive = false; CharacterStatModifiers stats = player.data.stats; stats.movementSpeed /= 1f + AppliedStatBonus1 * 0.01f; } } } internal class InLineOfSightTemplate : MonoBehaviour { public static readonly float AppliedStatBonus1 = 60f; private Player player; private bool isActive; private LineEffect lineEffect; private LineRenderer lineRenderer; private Vector3 target; private Vector3 myPosition; private Vector3 myOffset; private bool drawLine; private static FieldInfo playerVelocityField = typeof(PlayerVelocity).GetField("velocity", BindingFlags.Instance | BindingFlags.NonPublic); private void Start() { //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001e: 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_0083: Expected O, but got Unknown //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) player = ((Component)this).GetComponentInParent<Player>(); myPosition = ((Component)player).transform.position; lineRenderer = ((Component)this).gameObject.AddComponent<LineRenderer>(); lineRenderer.startWidth = 0.15f; lineRenderer.endWidth = lineRenderer.startWidth; lineRenderer.positionCount = 2; ((Renderer)lineRenderer).material = new Material(Shader.Find("Sprites/Default")); lineRenderer.startColor = new Color(127f, 255f, 255f); lineRenderer.endColor = new Color(127f, 255f, 255f); } private void OnDisable() { turnOff(); } private void FixedUpdate() { //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00d0: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) bool flag = false; drawLine = false; foreach (Player player in PlayerManager.instance.players) { if (player.teamID != this.player.teamID && PlayerManager.instance.CanSeePlayer(Vector2.op_Implicit(((Component)this.player).transform.position), player).canSee) { flag = true; drawLine = true; break; } } foreach (Player player2 in PlayerManager.instance.players) { target = ((Component)this.player).transform.position; myOffset = ((Component)player2).transform.position; if (drawLine) { ((Renderer)lineRenderer).enabled = true; lineRenderer.SetPosition(0, target); lineRenderer.SetPosition(1, myOffset); } else { ((Renderer)lineRenderer).enabled = false; } } if (flag) { turnOn(); } else { turnOff(); } } private void turnOn() { if (!isActive) { isActive = true; CharacterStatModifiers stats = player.data.stats; stats.movementSpeed *= 1f + AppliedStatBonus1 * 0.01f; } } private void turnOff() { if (isActive) { isActive = false; CharacterStatModifiers stats = player.data.stats; stats.movementSpeed /= 1f + AppliedStatBonus1 * 0.01f; } } } public class ShootingDealsSelfDamageTemplate : MonoBehaviour { private Gun gun; public Player player; private void Start() { player = ((Component)this).GetComponent<Player>(); gun = player.data.weaponHandler.gun; Gun obj = gun; obj.ShootPojectileAction = (Action<GameObject>)Delegate.Combine(obj.ShootPojectileAction, new Action<GameObject>(ShootAction)); } private void ShootAction(GameObject projectile) { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) ((Damagable)player.data.healthHandler).TakeDamage(Vector2.right * 18.75f * gun.damage, Vector2.zero, (GameObject)null, (Player)null, false, false); } private void OnDestroy() { Gun obj = gun; obj.ShootPojectileAction = (Action<GameObject>)Delegate.Remove(obj.ShootPojectileAction, new Action<GameObject>(ShootAction)); } } public class TakeDamageOverTimeTemplate_Bad : MonoBehaviour { public Player player; private readonly float updateDelay = 0.1f; private readonly float effectCooldown = 0.5f; private float startTime; private float timeOfLastEffect; public int numcheck; private void Awake() { player = ((Component)this).GetComponent<Player>(); } private void Start() { ResetEffectTimer(); ResetTimer(); } public void Destroy() { Object.Destroy((Object)(object)this); } private void Update() { //IL_00d3: 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_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00ec: Unknown result type (might be due to invalid IL or missing references) if (!(Time.time >= startTime + updateDelay)) { return; } ResetTimer(); if (!(Time.time >= timeOfLastEffect + effectCooldown)) { return; } for (int i = 0; i <= player.data.currentCards.Count - 1; i++) { if (player.data.currentCards[i].cardName == "Vampire") { numcheck++; } } if (numcheck > 0) { ResetEffectTimer(); ((Damagable)player.data.healthHandler).TakeDamage(Vector2.right * 10f / 2f, Vector2.zero, (GameObject)null, (Player)null, true, false); } } private void ResetTimer() { startTime = Time.time; } private void ResetEffectTimer() { timeOfLastEffect = Time.time; numcheck = 0; } } } namespace PedoCards_main.MonoBehaviors { public class AbsorbMono : MonoBehaviour { private class AbsorbSpawner : MonoBehaviour { private void Start() { //IL_001b: Unknown result type (might be due to invalid IL or missing references) ((Component)this).gameObject.transform.localScale = new Vector3(1f, 1f, 1f); ((Component)this).gameObject.AddComponent<RemoveAfterSeconds>().seconds = 2f; ExtensionMethods.SetFieldValue((object)((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent<LineEffect>(), "inited", (object)false); typeof(LineEffect).InvokeMember("Init", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.InvokeMethod, null, ((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent<LineEffect>(), new object[0]); ((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent<LineEffect>().radius = 4.3f; ExtensionMethods.SetFieldValue((object)((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent<LineEffect>(), "startWidth", (object)1f); ((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent<LineEffect>().Play(); } } private readonly float maxDistance = 8f; public Block block; public Player player; public CharacterData data; public Gun gun; private Action<BlockTriggerType> gravy; private Action<BlockTriggerType> basic; private static GameObject Absorbvisu; private readonly float updateDelay = 0.1f; private readonly float effectCooldown; private float startTime; private float timeOfLastEffect; private bool canTrigger; private bool hasTriggered; public int numcheck; public static SoundEvent fieldsound; private SoundParameterIntensity soundParameterIntensity = new SoundParameterIntensity(0.2f, (UpdateMode)0); [Obsolete] public static GameObject AbsorbVisual { get { //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_0107: Unknown result type (might be due to invalid IL or missing references) //IL_0149: 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_0158: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)Absorbvisu != (Object)null) { return Absorbvisu; } IEnumerable<CardInfo> first = ((ObservableCollection<CardInfo>)typeof(CardManager).GetField("activeCards", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null)).ToList(); List<CardInfo> second = (List<CardInfo>)typeof(CardManager).GetField("inactiveCards", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null); Absorbvisu = Object.Instantiate<GameObject>(((Component)(from card in first.Concat(second).ToList() where card.cardName.ToLower() == "overpower" select card).First()).GetComponent<CharacterStatModifiers>().AddObjectToPlayer.GetComponent<SpawnObjects>().objectToSpawn[0], new Vector3(0f, 100000f, 0f), Quaternion.identity); ((Object)Absorbvisu).name = "E_Absorb"; Object.DontDestroyOnLoad((Object)(object)Absorbvisu); ParticleSystem[] componentsInChildren = Absorbvisu.GetComponentsInChildren<ParticleSystem>(); for (int i = 0; i < componentsInChildren.Length; i++) { componentsInChildren[i].startColor = Color.magenta; } ((Component)Absorbvisu.transform.GetChild(1)).GetComponent<LineEffect>().colorOverTime.colorKeys = (GradientColorKey[])(object)new GradientColorKey[1] { new GradientColorKey(Color.magenta, 0f) }; Object.Destroy((Object)(object)((Component)Absorbvisu.transform.GetChild(2)).gameObject); ((Component)Absorbvisu.transform.GetChild(1)).GetComponent<LineEffect>().offsetMultiplier = 0f; ((Component)Absorbvisu.transform.GetChild(1)).GetComponent<LineEffect>().playOnAwake = true; Object.Destroy((Object)(object)Absorbvisu.GetComponent<FollowPlayer>()); Absorbvisu.GetComponent<DelayEvent>().time = 0f; Object.Destroy((Object)(object)Absorbvisu.GetComponent<SoundUnityEventPlayer>()); Object.Destroy((Object)(object)Absorbvisu.GetComponent<Explosion>()); Object.Destroy((Object)(object)Absorbvisu.GetComponent<RemoveAfterSeconds>()); Absorbvisu.AddComponent<AbsorbSpawner>(); return Absorbvisu; } set { } } private void Start() { player = ((Component)this).GetComponent<Player>(); block = ((Component)this).GetComponent<Block>(); data = ((Component)this).GetComponent<CharacterData>(); gun = ((Component)this).GetComponent<Gun>(); ResetEffectTimer(); ResetTimer(); canTrigger = true; hasTriggered = false; basic = block.BlockAction; if (Object.op_Implicit((Object)(object)block)) { gravy = GetDoBlockAction(player, block).Invoke; block.BlockAction = (Action<BlockTriggerType>)Delegate.Combine(block.BlockAction, gravy); } } public void Destroy() { Object.Destroy((Object)(object)this); } public void OnDestroy() { block.BlockAction = basic; } private void Update() { if (!(Time.time >= startTime + updateDelay)) { return; } for (int i = 0; i <= player.data.currentCards.Count - 1; i++) { if (player.data.currentCards[i].cardName == "Absorb") { numcheck++; } } if (numcheck > 0) { ResetTimer(); if (Time.time >= timeOfLastEffect) { canTrigger = true; } else { canTrigger = false; } } else { Object.Destroy((Object)(object)this); } } public Action<BlockTriggerType> GetDoBlockAction(Player player, Block block) { Block block2 = block; Player player2 = player; return delegate(BlockTriggerType trigger) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Invalid comparison between Unknown and I4 //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: 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_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Unknown result type (might be due to invalid IL or missing references) //IL_018b: Unknown result type (might be due to invalid IL or missing references) //IL_0190: Unknown result type (might be due to invalid IL or missing references) //IL_019e: Unknown result type (might be due to invalid IL or missing references) //IL_01a3: Unknown result type (might be due to invalid IL or missing references) if ((int)trigger != 1) { if (!Object.op_Implicit((Object)(object)fieldsound)) { } soundParameterIntensity.intensity = ((Component)this).transform.localScale.x * Optionshandler.vol_Master * Optionshandler.vol_Sfx / 1.3f; SoundManager.Instance.Play(fieldsound, ((Component)this).transform, (SoundParameterBase[])(object)new SoundParameterBase[1] { (SoundParameterBase)soundParameterIntensity }); Object.Instantiate<GameObject>(AbsorbVisual, ((Component)this.player).transform.position, Quaternion.identity); Vector2 val = Vector2.op_Implicit(((Component)block2).transform.position); Player[] array = PlayerManager.instance.players.ToArray(); for (int i = 0; i < array.Length; i++) { if (array[i].teamID != player2.teamID && Vector2.Distance(val, Vector2.op_Implicit(((Component)array[i]).transform.position)) < maxDistance && PlayerManager.instance.CanSeePlayer(Vector2.op_Implicit(((Component)player2).transform.position), array[i]).canSee) { ((Damagable)((Component)((Component)array[i]).transform).GetComponent<HealthHandler>()).TakeDamage(this.player.data.weaponHandler.gun.damage * 55f * 0.5f * Vector2.down, Vector2.op_Implicit(((Component)array[i]).transform.position), ((Component)this.player.data.weaponHandler).gameObject, this.player, true, false); CharacterData obj = this.player.data; obj.health += this.player.data.weaponHandler.gun.damage * 55f * 0.5f; if (this.player.data.health > this.player.data.maxHealth) { this.player.data.health = this.player.data.maxHealth; } hasTriggered = true; } } if (hasTriggered) { hasTriggered = false; canTrigger = false; ResetEffectTimer(); } } }; } private void ResetTimer() { startTime = Time.time; numcheck = 0; } private void ResetEffectTimer() { timeOfLastEffect = Time.time; } } public class BiteMono : MonoBehaviour { private class BiteSpawner : MonoBehaviour { private void Start() { //IL_001b: Unknown result type (might be due to invalid IL or missing references) ((Component)this).gameObject.transform.localScale = new Vector3(1f, 1f, 1f); ((Component)this).gameObject.AddComponent<RemoveAfterSeconds>().seconds = 2f; ExtensionMethods.SetFieldValue((object)((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent<LineEffect>(), "inited", (object)false); typeof(LineEffect).InvokeMember("Init", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.InvokeMethod, null, ((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent<LineEffect>(), new object[0]); ((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent<LineEffect>().radius = 4.3f; ExtensionMethods.SetFieldValue((object)((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent<LineEffect>(), "startWidth", (object)1f); ((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent<LineEffect>().Play(); } } private readonly float maxDistance = 8f; public Block block; public Player player; public CharacterData data; public Gun gun; private Action<BlockTriggerType> gravy; private Action<BlockTriggerType> basic; private static GameObject Bitevisu; private readonly float updateDelay = 0.1f; private readonly float effectCooldown; private float startTime; private float timeOfLastEffect; private bool canTrigger; private bool hasTriggered; public int numcheck; public static SoundEvent fieldsound; private SoundParameterIntensity soundParameterIntensity = new SoundParameterIntensity(0.2f, (UpdateMode)0); [Obsolete] public static GameObject BiteVisual { get { //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_0107: Unknown result type (might be due to invalid IL or missing references) //IL_0149: 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_0158: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)Bitevisu != (Object)null) { return Bitevisu; } IEnumerable<CardInfo> first = ((ObservableCollection<CardInfo>)typeof(CardManager).GetField("activeCards", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null)).ToList(); List<CardInfo> second = (List<CardInfo>)typeof(CardManager).GetField("inactiveCards", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null); Bitevisu = Object.Instantiate<GameObject>(((Component)(from card in first.Concat(second).ToList() where card.cardName.ToLower() == "overpower" select card).First()).GetComponent<CharacterStatModifiers>().AddObjectToPlayer.GetComponent<SpawnObjects>().objectToSpawn[0], new Vector3(0f, 100000f, 0f), Quaternion.identity); ((Object)Bitevisu).name = "E_Bite"; Object.DontDestroyOnLoad((Object)(object)Bitevisu); ParticleSystem[] componentsInChildren = Bitevisu.GetComponentsInChildren<ParticleSystem>(); for (int i = 0; i < componentsInChildren.Length; i++) { componentsInChildren[i].startColor = Color.red; } ((Component)Bitevisu.transform.GetChild(1)).GetComponent<LineEffect>().colorOverTime.colorKeys = (GradientColorKey[])(object)new GradientColorKey[1] { new GradientColorKey(Color.magenta, 0f) }; Object.Destroy((Object)(object)((Component)Bitevisu.transform.GetChild(2)).gameObject); ((Component)Bitevisu.transform.GetChild(1)).GetComponent<LineEffect>().offsetMultiplier = 0f; ((Component)Bitevisu.transform.GetChild(1)).GetComponent<LineEffect>().playOnAwake = true; Object.Destroy((Object)(object)Bitevisu.GetComponent<FollowPlayer>()); Bitevisu.GetComponent<DelayEvent>().time = 0f; Object.Destroy((Object)(object)Bitevisu.GetComponent<SoundUnityEventPlayer>()); Object.Destroy((Object)(object)Bitevisu.GetComponent<Explosion>()); Object.Destroy((Object)(object)Bitevisu.GetComponent<RemoveAfterSeconds>()); Bitevisu.AddComponent<BiteSpawner>(); return Bitevisu; } set { } } private void Start() { player = ((Component)this).GetComponent<Player>(); block = ((Component)this).GetComponent<Block>(); data = ((Component)this).GetComponent<CharacterData>(); gun = ((Component)this).GetComponent<Gun>(); ResetEffectTimer(); ResetTimer(); canTrigger = true; hasTriggered = false; basic = block.BlockAction; if (Object.op_Implicit((Object)(object)block)) { gravy = GetDoBlockAction(player, block).Invoke; block.BlockAction = (Action<BlockTriggerType>)Delegate.Combine(block.BlockAction, gravy); } } public void Destroy() { Object.Destroy((Object)(object)this); } public void OnDestroy() { block.BlockAction = basic; } private void Update() { if (!(Time.time >= startTime + updateDelay)) { return; } for (int i = 0; i <= player.data.currentCards.Count - 1; i++) { if (player.data.currentCards[i].cardName == "Bite") { numcheck++; } } if (numcheck > 0) { ResetTimer(); if (Time.time >= timeOfLastEffect) { canTrigger = true; } else { canTrigger = false; } } else { Object.Destroy((Object)(object)this); } } public Action<BlockTriggerType> GetDoBlockAction(Player player, Block block) { Block block2 = block; Player player2 = player; return delegate(BlockTriggerType trigger) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Invalid comparison between Unknown and I4 //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: 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_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Unknown result type (might be due to invalid IL or missing references) //IL_0186: Unknown result type (might be due to invalid IL or missing references) //IL_018b: Unknown result type (might be due to invalid IL or missing references) //IL_0199: Unknown result type (might be due to invalid IL or missing references) //IL_019e: Unknown result type (might be due to invalid IL or missing references) if ((int)trigger != 1) { if (!Object.op_Implicit((Object)(object)fieldsound)) { } soundParameterIntensity.intensity = ((Component)this).transform.localScale.x * Optionshandler.vol_Master * Optionshandler.vol_Sfx / 1.3f; SoundManager.Instance.Play(fieldsound, ((Component)this).transform, (SoundParameterBase[])(object)new SoundParameterBase[1] { (SoundParameterBase)soundParameterIntensity }); Object.Instantiate<GameObject>(BiteVisual, ((Component)this.player).transform.position, Quaternion.identity); Vector2 val = Vector2.op_Implicit(((Component)block2).transform.position); Player[] array = PlayerManager.instance.players.ToArray(); for (int i = 0; i < array.Length; i++) { if (array[i].teamID != player2.teamID && Vector2.Distance(val, Vector2.op_Implicit(((Component)array[i]).transform.position)) < maxDistance && PlayerManager.instance.CanSeePlayer(Vector2.op_Implicit(((Component)player2).transform.position), array[i]).canSee) { ((Damagable)((Component)((Component)array[i]).transform).GetComponent<HealthHandler>()).TakeDamage(this.player.data.stats.lifeSteal * 55f * 0.5f * Vector2.down, Vector2.op_Implicit(((Component)array[i]).transform.position), ((Component)this.player.data.weaponHandler).gameObject, this.player, true, false); hasTriggered = true; } } if (hasTriggered) { hasTriggered = false; canTrigger = false; ResetEffectTimer(); } } }; } private void ResetTimer() { startTime = Time.time; numcheck = 0; } private void ResetEffectTimer() { timeOfLastEffect = Time.time; } } public class ThornyMono : MonoBehaviour { private class ThornySpawner : MonoBehaviour { private void Start() { //IL_001b: Unknown result type (might be due to invalid IL or missing references) ((Component)this).gameObject.transform.localScale = new Vector3(1f, 1f, 1f); ((Component)this).gameObject.AddComponent<RemoveAfterSeconds>().seconds = 2f; ExtensionMethods.SetFieldValue((object)((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent<LineEffect>(), "inited", (object)false); typeof(LineEffect).InvokeMember("Init", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.InvokeMethod, null, ((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent<LineEffect>(), new object[0]); ((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent<LineEffect>().radius = 4.3f; ExtensionMethods.SetFieldValue((object)((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent<LineEffect>(), "startWidth", (object)1f); ((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent<LineEffect>().Play(); } } private readonly float maxDistance = 8f; public Block block; public Player player; public CharacterData data; public Gun gun; private Action<BlockTriggerType> gravy; private Action<BlockTriggerType> basic; private static GameObject Thornyvisu; private readonly float updateDelay = 0.1f; private readonly float effectCooldown; private float startTime; private float timeOfLastEffect; private bool canTrigger; private bool hasTriggered; public int numcheck; public static SoundEvent fieldsound; private SoundParameterIntensity soundParameterIntensity = new SoundParameterIntensity(0.2f, (UpdateMode)0); [Obsolete] public static GameObject ThornyVisual { get { //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: 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_0167: Unknown result type (might be due to invalid IL or missing references) //IL_0171: Unknown result type (might be due to invalid IL or missing references) //IL_0176: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)Thornyvisu != (Object)null) { return Thornyvisu; } IEnumerable<CardInfo> first = ((ObservableCollection<CardInfo>)typeof(CardManager).GetField("activeCards", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null)).ToList(); List<CardInfo> second = (List<CardInfo>)typeof(CardManager).GetField("inactiveCards", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null); Thornyvisu = Object.Instantiate<GameObject>(((Component)(from card in first.Concat(second).ToList() where card.cardName.ToLower() == "overpower" select card).First()).GetComponent<CharacterStatModifiers>().AddObjectToPlayer.GetComponent<SpawnObjects>().objectToSpawn[0], new Vector3(0f, 100000f, 0f), Quaternion.identity); ((Object)Thornyvisu).name = "E_Thorny"; Object.DontDestroyOnLoad((Object)(object)Thornyvisu); ParticleSystem[] componentsInChildren = Thornyvisu.GetComponentsInChildren<ParticleSystem>(); for (int i = 0; i < componentsInChildren.Length; i++) { componentsInChildren[i].startColor = new Color(88f, 57f, 39f); } ((Component)Thornyvisu.transform.GetChild(1)).GetComponent<LineEffect>().colorOverTime.colorKeys = (GradientColorKey[])(object)new GradientColorKey[1] { new GradientColorKey(new Color(88f, 57f, 39f), 0f) }; Object.Destroy((Object)(object)((Component)Thornyvisu.transform.GetChild(2)).gameObject); ((Component)Thornyvisu.transform.GetChild(1)).GetComponent<LineEffect>().offsetMultiplier = 0f; ((Component)Thornyvisu.transform.GetChild(1)).GetComponent<LineEffect>().playOnAwake = true; Object.Destroy((Object)(object)Thornyvisu.GetComponent<FollowPlayer>()); Thornyvisu.GetComponent<DelayEvent>().time = 0f; Object.Destroy((Object)(object)Thornyvisu.GetComponent<SoundUnityEventPlayer>()); Object.Destroy((Object)(object)Thornyvisu.GetComponent<Explosion>()); Thornyvisu.AddComponent<ThornySpawner>(); return Thornyvisu; } set { } } private void Start() { player = ((Component)this).GetComponent<Player>(); block = ((Component)this).GetComponent<Block>(); data = ((Component)this).GetComponent<CharacterData>(); gun = ((Component)this).GetComponent<Gun>(); ResetEffectTimer(); ResetTimer(); canTrigger = true; hasTriggered = false; basic = block.BlockAction; if (Object.op_Implicit((Object)(object)block)) { gravy = GetDoBlockAction(player, block).Invoke; block.BlockAction = (Action<BlockTriggerType>)Delegate.Combine(block.BlockAction, gravy); } } public void Destroy() { Object.Destroy((Object)(object)this); } public void OnDestroy() { block.BlockAction = basic; } private void Update() { if (!(Time.time >= startTime + updateDelay)) { return; } for (int i = 0; i <= player.data.currentCards.Count - 1; i++) { if (player.data.currentCards[i].cardName == "Thorny") { numcheck++; } } if (numcheck > 0) { ResetTimer(); if (Time.time >= timeOfLastEffect) { canTrigger = true; } else { canTrigger = false; } } else { Object.Destroy((Object)(object)this); } } public Action<BlockTriggerType> GetDoBlockAction(Player player, Block block) { Block block2 = block; Player player2 = player; return delegate(BlockTriggerType trigger) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Invalid comparison between Unknown and I4 //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: 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_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Unknown result type (might be due to invalid IL or missing references) //IL_0197: Unknown result type (might be due to invalid IL or missing references) //IL_019c: Unknown result type (might be due to invalid IL or missing references) //IL_01aa: Unknown result type (might be due to invalid IL or missing references) //IL_01af: Unknown result type (might be due to invalid IL or missing references) if ((int)trigger != 1) { if (!Object.op_Implicit((Object)(object)fieldsound)) { } soundParameterIntensity.intensity = ((Component)this).transform.localScale.x * Optionshandler.vol_Master * Optionshandler.vol_Sfx / 1.3f; SoundManager.Instance.Play(fieldsound, ((Component)this).transform, (SoundParameterBase[])(object)new SoundParameterBase[1] { (SoundParameterBase)soundParameterIntensity }); Object.Instantiate<GameObject>(ThornyVisual, ((Component)this.player).transform.position, Quaternion.identity); Vector2 val = Vector2.op_Implicit(((Component)block2).transform.position); Player[] array = PlayerManager.instance.players.ToArray(); for (int i = 0; i < array.Length; i++) { if (array[i].teamID != player2.teamID && Vector2.Distance(val, Vector2.op_Implicit(((Component)array[i]).transform.position)) < maxDistance && PlayerManager.instance.CanSeePlayer(Vector2.op_Implicit(((Component)player2).transform.position), array[i]).canSee) { ((Damagable)((Component)((Component)array[i]).transform).GetComponent<HealthHandler>()).TakeDamage((1f - this.player.data.health / this.player.data.maxHealth) * 120f * Vector2.down, Vector2.op_Implicit(((Component)array[i]).transform.position), ((Component)this.player.data.weaponHandler).gameObject, this.player, true, false); hasTriggered = true; } } if (hasTriggered) { hasTriggered = false; canTrigger = false; ResetEffectTimer(); } } }; } private void ResetTimer() { startTime = Time.time; numcheck = 0; } private void ResetEffectTimer() { timeOfLastEffect = Time.time; } } } namespace PedoCards_main.Cards { internal class Absorb : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { block.cdAdd = 0.5f; statModifiers.health = 1.25f; cardInfo.allowMultiple = false; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { ((Component)player).gameObject.AddComponent<AbsorbMono>(); } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } protected override string GetTitle() { return "Absorb"; } protected override string GetDescription() { return "Blocking does damage to nearby enemies, equal to 50% of your gun damage. You regenerate the damage you deal."; } protected override GameObject GetCardArt() { return null; } protected override Rarity GetRarity() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (Rarity)1; } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0057: 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_005f: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[2] { new CardInfoStat { positive = true, stat = "Health", amount = "+25%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Block cooldown", amount = "+0.5s", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)4; } public override string GetModName() { return "PeCa"; } } internal class Acid : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; gun.unblockable = true; gun.attackSpeed = 0.8f; gun.reloadTimeAdd = 0.5f; statModifiers.health = 1.3f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Expected O, but got Unknown //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Expected O, but got Unknown gun.projectileColor = Color.green; List<ObjectsToSpawn> list = gun.objectsToSpawn.ToList(); ObjectsToSpawn val = new ObjectsToSpawn(); val.AddToProjectile = new GameObject("Acid-blob", new Type[1] { typeof(AcidMono) }); list.Add(val); gun.objectsToSpawn = list.ToArray(); } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } protected override string GetTitle() { return "Acid"; } protected override string GetDescription() { return "Bullets penetrate blocking. Bullets deals damage over 4 seconds."; } protected override GameObject GetCardArt() { return null; } protected override Rarity GetRarity() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (Rarity)1; } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0057: 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_005f: Expected O, but got Unknown //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0078: 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_0085: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[3] { new CardInfoStat { positive = true, stat = "Health", amount = "+30%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "ATKSPD", amount = "-20%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Reload time", amount = "+0.5s", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)5; } public override string GetModName() { return "PeCa"; } } internal class Adrenaline : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { ((Component)player).gameObject.AddComponent<AdrenalineMono>(); } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } protected override string GetTitle() { return "Adrenaline"; } protected override string GetDescription() { return "Adrenaline"; } protected override GameObject GetCardArt() { return null; } protected override Rarity GetRarity() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (Rarity)0; } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0057: 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_005f: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[2] { new CardInfoStat { positive = true, stat = "Effect", amount = "No", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Reload time", amount = "+0.25s", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)8; } public override string GetModName() { return "PeCa"; } } internal class BiggerThanYou : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; statModifiers.sizeMultiplier = 1.5f; statModifiers.movementSpeed = 0.6f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { CharacterStatModifiersExtension.GetAdditionalData(characterStats).damageReduction = 2f; CharacterStatModifiersExtension.GetAdditionalData(characterStats).damageReductionFlat = 0f; } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } protected override string GetTitle() { return "Bigger Than You"; } protected override string GetDescription() { return "+50% size"; } protected override GameObject GetCardArt() { return null; } protected override Rarity GetRarity() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (Rarity)2; } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0057: 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_005f: Expected O, but got Unknown //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0078: 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_0085: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[3] { new CardInfoStat { positive = true, stat = "Damage Reduction", amount = "+50%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Damage Reduction Flat", amount = "+55", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Movement speed", amount = "-40%", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)2; } public override string GetModName() { return "PeCa"; } } internal class Bite : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { block.cdAdd = 0.5f; statModifiers.lifeSteal = 1.5f; cardInfo.allowMultiple = false; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { ((Component)player).gameObject.AddComponent<BiteMono>(); } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } protected override string GetTitle() { return "Bite"; } protected override string GetDescription() { return "Blocking does damage to nearby enemies, proportional to your lifesteal."; } protected override GameObject GetCardArt() { return null; } protected override Rarity GetRarity() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (Rarity)1; } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0057: 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_005f: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[2] { new CardInfoStat { positive = true, stat = "Lifesteal", amount = "+50%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Block cooldown", amount = "+0.5s", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)4; } public override string GetModName() { return "PeCa"; } } internal class Bravery : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; gun.reloadTimeAdd = 0.5f; statModifiers.health = 0.625f; block.cdMultiplier = 0.4f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } protected override string GetTitle() { return "Bravery"; } protected override string GetDescription() { return ""; } protected override GameObject GetCardArt() { return null; } protected override Rarity GetRarity() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (Rarity)2; } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0057: 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_005f: Expected O, but got Unknown //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0078: 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_0085: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[3] { new CardInfoStat { positive = true, stat = "Block cooldown", amount = "-60%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "HP", amount = "-75%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Reload time", amount = "+0.5s", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)0; } public override string GetModName() { return "PeCa"; } } internal class BulletEject : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.useCharge = true; gun.chargeNumberOfProjectilesTo = 6f; gun.chargeSpreadTo = 0.2f; gun.chargeEvenSpreadTo = 1f; gun.chargeSpeedTo = 1f; gun.chargeDamageMultiplier = 1f; gun.reloadTimeAdd = 0.5f; gun.ammo = 3; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } protected override string GetTitle() { return "Bullet Eject"; } protecte