using System; using System.Collections; 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 ModdingUtils.RoundsEffects; using ModdingUtils.Utils; using PedoCards_main.Cards; using PedoCards_main.MonoBehaviours; using Photon.Pun; using SanyaCards.Cards; using SanyaCards.Monos; 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(true); player = ((Component)this).GetComponentInParent(); } 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 SanyaCards.Monos { internal class GlueBulletMono : RayHitEffect { private class GlueMono : MonoBehaviour { public float glueMultiplier; private Player target; private Vector2 myPosition; private Vector2 myOffset; private static FieldInfo playerVelocityField = typeof(PlayerVelocity).GetField("velocity", BindingFlags.Instance | BindingFlags.NonPublic); private LineRenderer lineRenderer; private void Awake() { //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0028: 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_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Expected O, but got Unknown //IL_00bf: 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) target = ((Component)((Component)this).transform.parent).GetComponent(); myPosition = Vector2.op_Implicit(((Component)this).transform.position); myOffset = Vector2.op_Implicit(((Component)this).transform.position - ((Component)target).transform.position); lineRenderer = ((Component)this).gameObject.AddComponent(); lineRenderer.startWidth = 0.1f; lineRenderer.endWidth = lineRenderer.startWidth; lineRenderer.positionCount = 2; ((Renderer)lineRenderer).material = new Material(Shader.Find("Sprites/Default")); lineRenderer.startColor = Color.white; lineRenderer.endColor = Color.white; } private void OnDisable() { Object.Destroy((Object)(object)((Component)this).gameObject); } private void FixedUpdate() { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_005e: 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_006e: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_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) //IL_0095: 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_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_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_00d5: Unknown result type (might be due to invalid IL or missing references) Vector2 val = Vector2.op_Implicit(((Component)target).transform.position); PlayerVelocity playerVel = target.data.playerVel; float x = ((Component)target).transform.localScale.x; x *= x; Vector2 val2 = (myPosition - (val + myOffset)) * 15f * glueMultiplier; Vector2 val3 = (Vector2)playerVelocityField.GetValue(playerVel); val3 += val2 * (Time.fixedDeltaTime / x); playerVelocityField.SetValue(playerVel, val3); lineRenderer.SetPosition(0, Vector2.op_Implicit(myPosition)); lineRenderer.SetPosition(1, Vector2.op_Implicit(val + myOffset)); if (target.data.dead || target.data.health <= 0f || !((Component)target).gameObject.activeInHierarchy) { Object.Destroy((Object)(object)((Component)this).gameObject); } } } [CompilerGenerated] private sealed class d__1 : IEnumerator, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; private GlueMono[] 5__1; private int 5__2; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__1(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { 5__1 = null; <>1__state = -2; } private bool MoveNext() { if (<>1__state != 0) { return false; } <>1__state = -1; 5__1 = Object.FindObjectsOfType(); 5__2 = 0; while (5__2 < 5__1.Length) { Object.Destroy((Object)(object)((Component)5__1[5__2]).gameObject); 5__2++; } return false; } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } public override HasToReturn DoHitEffect(HitInfo hit) { //IL_0013: 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_0114: 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_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Expected O, but got Unknown //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00eb: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)hit.transform == (Object)null) { return (HasToReturn)1; } if ((Object)(object)((Component)hit.transform).GetComponent() == (Object)null) { return (HasToReturn)1; } if (((Component)hit.transform).GetComponentInChildren().IsBlocking()) { return (HasToReturn)1; } if (!((Component)hit.transform).gameObject.activeSelf) { GlueMono[] componentsInChildren = ((Component)hit.transform).GetComponentsInChildren(); for (int i = 0; i < componentsInChildren.Length; i++) { Object.Destroy((Object)(object)((Component)componentsInChildren[i]).gameObject); } return (HasToReturn)1; } GameObject val = new GameObject("Glue"); val.transform.position = Vector2.op_Implicit(hit.point); val.transform.SetParent(hit.transform, true); val.AddComponent().glueMultiplier = ((Component)this).transform.localScale.x; Object.Destroy((Object)(object)val, Random.Range(4.75f, 5.25f)); return (HasToReturn)1; } [IteratorStateMachine(typeof(d__1))] internal static IEnumerator OnPointEnd() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__1(0); } } } namespace SanyaCards.Cards { internal class Glue : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.attackSpeed = 1.2f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Expected O, but got Unknown //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Expected O, but got Unknown //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0052: 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) bool flag = true; ObjectsToSpawn[] objectsToSpawn = gun.objectsToSpawn; foreach (ObjectsToSpawn val in objectsToSpawn) { if ((Object)(object)val.AddToProjectile != (Object)null && ((Object)val.AddToProjectile).name == "SAN-NAH_glueBullet") { Transform transform = val.AddToProjectile.transform; transform.localScale += Vector3.right; flag = false; break; } } if (flag) { GameObject val2 = new GameObject("SAN-NAH_glueBullet"); ((Object)val2).hideFlags = (HideFlags)61; val2.AddComponent(); List list = gun.objectsToSpawn.ToList(); list.Add(new ObjectsToSpawn { AddToProjectile = val2, scaleFromDamage = 1f }); 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 "Glue"; } protected override string GetDescription() { return "Your bullets pull enemies back to where they hit. Glue stickiness depends on bullet damage."; } 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 = "Glue Stickiness", amount = "+1", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "ATKSPD", amount = "-20%", 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/SANYA"; } } } namespace PedoCards_main { public class RocketLauncherMono : MonoBehaviour { private SyncProjectile sync; private MoveTransform move; private Gun gun; private ProjectileHit bullet; public Player player; private readonly float updateDelay = 0.1f; private float startTime; private void Start() { gun = ((Component)this).GetComponent(); bullet = ((Component)((Component)this).transform.parent).GetComponent(); move = ((Component)this).GetComponentInParent(); sync = ((Component)this).GetComponentInParent(); sync.active = true; ResetTimer(); } public void Destroy() { Object.Destroy((Object)(object)this); } private void ResetTimer() { startTime = Time.time; } private void Update() { if (Time.time >= startTime + updateDelay && (Object)(object)((Component)this).gameObject.transform.parent != (Object)null) { ResetTimer(); MoveTransform val = move; if (Mathf.Abs(val.velocity.x) < 100f) { val.velocity.x = val.velocity.x * 1.275f; } MoveTransform val2 = move; val2.velocity.y = val2.velocity.y * 0.875f; move.velocity.z = 0f; } } } 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", "2.1.0")] [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 = "2.1.0"; 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(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); CustomCard.BuildCard(); Cards.instance.AddCardValidationFunction((Func)BulletCalibration.Validation); } } } namespace PedoCards_main.MonoTemplates { internal class WhenInLineOfSightTemplate { } } namespace PedoCards_main.MonoBehaviours { 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().seconds = 2f; ExtensionMethods.SetFieldValue((object)((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent(), "inited", (object)false); typeof(LineEffect).InvokeMember("Init", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.InvokeMethod, null, ((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent(), new object[0]); ((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent().radius = 4.3f; ExtensionMethods.SetFieldValue((object)((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent(), "startWidth", (object)1f); ((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent().Play(); } } private readonly float maxDistance = 8f; public Block block; public Player player; public CharacterData data; public Gun gun; private Action gravy; private Action 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 first = ((ObservableCollection)typeof(CardManager).GetField("activeCards", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null)).ToList(); List second = (List)typeof(CardManager).GetField("inactiveCards", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null); Absorbvisu = Object.Instantiate(((Component)(from card in first.Concat(second).ToList() where card.cardName.ToLower() == "overpower" select card).First()).GetComponent().AddObjectToPlayer.GetComponent().objectToSpawn[0], new Vector3(0f, 100000f, 0f), Quaternion.identity); ((Object)Absorbvisu).name = "E_Absorb"; Object.DontDestroyOnLoad((Object)(object)Absorbvisu); ParticleSystem[] componentsInChildren = Absorbvisu.GetComponentsInChildren(); for (int i = 0; i < componentsInChildren.Length; i++) { componentsInChildren[i].startColor = Color.white; } ((Component)Absorbvisu.transform.GetChild(1)).GetComponent().colorOverTime.colorKeys = (GradientColorKey[])(object)new GradientColorKey[1] { new GradientColorKey(Color.white, 0f) }; Object.Destroy((Object)(object)((Component)Absorbvisu.transform.GetChild(2)).gameObject); ((Component)Absorbvisu.transform.GetChild(1)).GetComponent().offsetMultiplier = 0f; ((Component)Absorbvisu.transform.GetChild(1)).GetComponent().playOnAwake = true; Object.Destroy((Object)(object)Absorbvisu.GetComponent()); Absorbvisu.GetComponent().time = 0f; Object.Destroy((Object)(object)Absorbvisu.GetComponent()); Object.Destroy((Object)(object)Absorbvisu.GetComponent()); Object.Destroy((Object)(object)Absorbvisu.GetComponent()); Absorbvisu.AddComponent(); return Absorbvisu; } set { } } private void Start() { player = ((Component)this).GetComponent(); block = ((Component)this).GetComponent(); data = ((Component)this).GetComponent(); gun = ((Component)this).GetComponent(); ResetEffectTimer(); ResetTimer(); canTrigger = true; hasTriggered = false; basic = block.BlockAction; if (Object.op_Implicit((Object)(object)block)) { gravy = GetDoBlockAction(player, block).Invoke; block.BlockAction = (Action)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 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(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()).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 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() != (Object)null) { ((Component)this).GetComponentInParent().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(); ProjectileHit componentInParent = ((Component)this).GetComponentInParent(); DamageOverTime component = ((Component)hit.transform).GetComponent(); 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().ownWeapon, ((Component)this).GetComponentInParent().ownPlayer, true); } return (HasToReturn)1; } public void Destroy() { Object.Destroy((Object)(object)this); } } internal class AcidShieldMono : ShieldTemplateMono { public static readonly float abilityCooldown = 4f; public static readonly float abilityDuration = 4f; public static readonly float abilityRadius = 5.8f; public static readonly bool FollowPlayer = false; public static readonly float SizeAffectedByPlayer = 0f; public static readonly float abilityThickness = 0.15f; protected override void Start() { //IL_004b: Unknown result type (might be due to invalid IL or missing references) baseAbilityCooldown = abilityCooldown; baseAbilityDuration = abilityDuration; baseAbilityRadius = abilityRadius; baseFollowPlayer = FollowPlayer; baseSizeAffectedByPlayer = SizeAffectedByPlayer; baseThickness = abilityThickness; base.Start(); setColor(Color.green); } protected override bool bulletValidation(ProjectileHit projectile) { return projectile.ownPlayer.teamID != base.player.teamID; } protected override void affectBullet(ProjectileHit projectile) { //IL_0035: 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_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_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_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) float num = Mathf.Pow(0.25f, Time.fixedDeltaTime); float num2 = Mathf.Pow(0.75f, Time.fixedDeltaTime); projectile.damage *= num; ((Component)projectile).transform.localScale = Vector3.one * (projectile.damage / 55f); float num3 = projectile.damage / 55f; MoveTransform component = ((Component)projectile).gameObject.GetComponent(); float num4 = ((Vector3)(ref component.velocity)).sqrMagnitude * (1f - num2) / num3; if (num4 > ((Vector3)(ref component.velocity)).magnitude) { component.velocity = Vector3.zero; } else { component.velocity -= ((Vector3)(ref component.velocity)).normalized * num4; } if (projectile.damage < 5f) { Object.Destroy((Object)(object)((Component)projectile).gameObject); } } } 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(); } private void FixedUpdate() { player.data.stats.movementSpeed = baseplayerspeed * 1f + (1f - player.data.health / player.data.maxHealth) * 0.5f; } } internal class BarrierMono : ShieldTemplateMono { public static float barrierHealth; public static float barrierSize; public static readonly float abilityCooldown = 15f; public static readonly float abilityRadius = 4.3f; public static readonly float abilitybaseThickness = 0.3f; public static float abilityThickness = 0.4f; public static readonly float barrierInitialHealth = 130f; public static readonly float barrierHealthFadingNormalized = 0.003f; public static readonly float InvincibilityTime = 0.02f; public static float BarrierCanHitAgainTime; public static float barrierCurrentAliveTime; public static readonly bool FollowPlayer = true; public static readonly float SizeAffectedByPlayer = 1f; private static MethodInfo destroyProjectileMethod = typeof(ProjectileHit).GetMethod("DestroyMe", BindingFlags.Instance | BindingFlags.NonPublic); protected override void Start() { //IL_0040: Unknown result type (might be due to invalid IL or missing references) baseAbilityCooldown = abilityCooldown; baseAbilityRadius = abilityRadius; baseFollowPlayer = FollowPlayer; baseSizeAffectedByPlayer = SizeAffectedByPlayer; baseThickness = abilityThickness; base.Start(); setColor(Color.cyan); } protected override void FixedUpdate() { if (base.player.data.dead || base.player.data.health <= 0f || !((Component)base.player).gameObject.activeInHierarchy) { barrierHealth = -1f; base.abilityActive = false; BarrierCanHitAgainTime = Time.time; } if (base.abilityActive) { float barrierMaxHealth = getBarrierMaxHealth(); barrierHealth -= barrierHealthFadingNormalized * (1f + (barrierCurrentAliveTime + 1f) * (barrierCurrentAliveTime + 1f) / 2f) * barrierMaxHealth * Time.fixedDeltaTime; setRadius(abilityRadius); barrierSize = abilityRadius; abilityThickness = abilitybaseThickness * barrierHealth / barrierMaxHealth; baseThickness = abilityThickness; barrierCurrentAliveTime += Time.fixedDeltaTime; } else { barrierCurrentAliveTime = 0f; } base.FixedUpdate(); } protected override IEnumerator abilityWaitDuration() { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Expected O, but got Unknown return (IEnumerator)new WaitUntil((Func)(() => barrierHealth <= 0f || base.player.data.dead || base.player.data.health <= 0f || !((Component)base.player).gameObject.activeInHierarchy)); } protected override bool bulletValidation(ProjectileHit projectile) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) return projectile.ownPlayer.teamID != base.player.teamID && PlayerManager.instance.CanSeePlayer(Vector2.op_Implicit(((Component)projectile).transform.position), base.player).canSee; } protected override void affectBullet(ProjectileHit projectile) { if (barrierHealth > projectile.damage) { if (Time.time > BarrierCanHitAgainTime && !(HealingVeilMono.HealingVeilSize > barrierSize)) { BarrierCanHitAgainTime = Time.time + InvincibilityTime; barrierHealth -= projectile.damage; } ProjectileCollision componentInChildren = ((Component)projectile).GetComponentInChildren(); if ((Object)(object)componentInChildren != (Object)null) { componentInChildren.Die(); } destroyProjectileMethod.Invoke(projectile, new object[0]); } else { projectile.damage -= barrierHealth; barrierHealth = 0f; } } protected override void onShieldEnable() { barrierHealth = getBarrierMaxHealth(); } private float getBarrierMaxHealth() { //IL_000c: Unknown result type (might be due to invalid IL or missing references) return ((Component)base.player).transform.localScale.x / base.player.data.stats.sizeMultiplier * barrierInitialHealth + 130f; } } 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().seconds = 2f; ExtensionMethods.SetFieldValue((object)((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent(), "inited", (object)false); typeof(LineEffect).InvokeMember("Init", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.InvokeMethod, null, ((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent(), new object[0]); ((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent().radius = 4.3f; ExtensionMethods.SetFieldValue((object)((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent(), "startWidth", (object)1f); ((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent().Play(); } } private readonly float maxDistance = 8f; public Block block; public Player player; public CharacterData data; public Gun gun; private Action gravy; private Action 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 first = ((ObservableCollection)typeof(CardManager).GetField("activeCards", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null)).ToList(); List second = (List)typeof(CardManager).GetField("inactiveCards", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null); Bitevisu = Object.Instantiate(((Component)(from card in first.Concat(second).ToList() where card.cardName.ToLower() == "overpower" select card).First()).GetComponent().AddObjectToPlayer.GetComponent().objectToSpawn[0], new Vector3(0f, 100000f, 0f), Quaternion.identity); ((Object)Bitevisu).name = "E_Bite"; Object.DontDestroyOnLoad((Object)(object)Bitevisu); ParticleSystem[] componentsInChildren = Bitevisu.GetComponentsInChildren(); for (int i = 0; i < componentsInChildren.Length; i++) { componentsInChildren[i].startColor = Color.red; } ((Component)Bitevisu.transform.GetChild(1)).GetComponent().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().offsetMultiplier = 0f; ((Component)Bitevisu.transform.GetChild(1)).GetComponent().playOnAwake = true; Object.Destroy((Object)(object)Bitevisu.GetComponent()); Bitevisu.GetComponent().time = 0f; Object.Destroy((Object)(object)Bitevisu.GetComponent()); Object.Destroy((Object)(object)Bitevisu.GetComponent()); Object.Destroy((Object)(object)Bitevisu.GetComponent()); Bitevisu.AddComponent(); return Bitevisu; } set { } } private void Start() { player = ((Component)this).GetComponent(); block = ((Component)this).GetComponent(); data = ((Component)this).GetComponent(); gun = ((Component)this).GetComponent(); ResetEffectTimer(); ResetTimer(); canTrigger = true; hasTriggered = false; basic = block.BlockAction; if (Object.op_Implicit((Object)(object)block)) { gravy = GetDoBlockAction(player, block).Invoke; block.BlockAction = (Action)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 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(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()).TakeDamage(this.player.data.stats.lifeSteal * 50f * 1.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 BloodyBulletDOTMono : RayHitPoison { [Header("Sounds")] public SoundEvent? soundEventDamageOverTime; [Header("Settings")] public float time = 3f; public float interval = 0.2f; public Color color = Color.red; private void Start() { if ((Object)(object)((Component)this).GetComponentInParent() != (Object)null) { ((Component)this).GetComponentInParent().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(); ProjectileHit componentInParent = ((Component)this).GetComponentInParent(); DamageOverTime component = ((Component)hit.transform).GetComponent(); 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().ownWeapon, ((Component)this).GetComponentInParent().ownPlayer, true); } return (HasToReturn)1; } public void Destroy() { Object.Destroy((Object)(object)this); } } public class BloodyBulletsEffect : ReversibleEffect { private readonly Color color = Color.red; private ReversibleColorEffect colorEffect; private readonly float updateDelay = 0.05f; private float startTime; private float count; public override void OnOnEnable() { if ((Object)(object)colorEffect != (Object)null) { ((ColorEffect)colorEffect).Destroy(); } } public override void OnStart() { //IL_0050: Unknown result type (might be due to invalid IL or missing references) base.characterStatModifiersModifier.movementSpeed_mult = 0.9f; base.characterStatModifiersModifier.jump_mult = 0.95f; ResetTimer(); count = 0f; colorEffect = ((Component)base.player).gameObject.AddComponent(); ((ColorEffect)colorEffect).SetColor(color); colorEffect.SetLivesToEffect(1); } public override void OnUpdate() { if (Time.time >= startTime + updateDelay) { ResetTimer(); count += 0.05f; if (count >= 2f) { ((ReversibleEffect)this).Destroy(); } if (((Component)this).GetComponent().data.dead || ((Component)this).GetComponent().data.health <= 0f || !((Component)((Component)this).GetComponent()).gameObject.activeInHierarchy) { ResetTimer(); ((ReversibleEffect)this).Destroy(); } } } public override void OnOnDisable() { if ((Object)(object)colorEffect != (Object)null) { ((ColorEffect)colorEffect).Destroy(); } } public override void OnOnDestroy() { if ((Object)(object)colorEffect != (Object)null) { ((ColorEffect)colorEffect).Destroy(); } } private void ResetTimer() { startTime = Time.time; } } public class BloodyBulletsSelfDamageMono : MonoBehaviour { private Gun gun; public Player player; private float nextTime; private float numcheck; private float oneProjectileAtATimePal; private void Start() { player = ((Component)this).GetComponent(); gun = player.data.weaponHandler.gun; Gun obj = gun; obj.ShootPojectileAction = (Action)Delegate.Combine(obj.ShootPojectileAction, new Action(ShootAction)); } private void Update() { if (!(Time.time >= nextTime)) { return; } for (int i = 0; i <= player.data.currentCards.Count - 1; i++) { if (player.data.currentCards[i].cardName == "Blood Siphon") { numcheck += 1f; } } if (numcheck > 0f) { ResetTimerLol(); } else { Object.Destroy((Object)(object)this); } } private void ResetTimerLol() { nextTime = Time.time + 0.1f; numcheck = 0f; } private void ShootAction(GameObject projectile) { //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) if (Time.time > oneProjectileAtATimePal) { oneProjectileAtATimePal = Time.time + 0.01f; float num = player.data.weaponHandler.gun.damage * 55f * 0.05f; num *= (float)gun.numberOfProjectiles; num /= (float)(1 + (gun.numberOfProjectiles - 1) / 8); num = Mathf.Clamp(num, 0.2f * (float)gun.numberOfProjectiles, 20f); ((Damagable)player.data.healthHandler).TakeDamage(Vector2.one * num, Vector2.zero, (GameObject)null, (Player)null, false, false); if (Mathf.Floor(player.data.health) <= 1f) { player.data.stats.AddSlowAddative(2f * gun.damage * (float)gun.numberOfProjectiles / (float)(1 + (gun.numberOfProjectiles - 1) / 8), 1f, false); Player component = ((Component)this).gameObject.GetComponent(); ((Component)component).gameObject.AddComponent(); } } } private void OnDestroy() { Gun obj = gun; obj.ShootPojectileAction = (Action)Delegate.Remove(obj.ShootPojectileAction, new Action(ShootAction)); } } public class CorrosiveJellyEffect : ReversibleEffect { public float damage; private readonly Color color = Color.magenta; private ReversibleColorEffect colorEffect; private readonly float updateDelay = 0.05f; private float startTime; private float count; public Player player; public override void OnOnEnable() { if ((Object)(object)colorEffect != (Object)null) { ((ColorEffect)colorEffect).Destroy(); } } public override void OnStart() { //IL_00c1: Unknown result type (might be due to invalid IL or missing references) player = ((Component)this).GetComponent(); float num = damage * 55f * 0.2f; float num2 = player.data.maxHealth - num; if (Mathf.Sign(num2) <= 0f) { base.characterDataModifier.maxHealth_add = 0f - player.data.maxHealth + 1f; } else { base.characterDataModifier.maxHealth_add = damage * 55f * 0.75f * -1f; } ResetTimer(); count = 0f; colorEffect = ((Component)player).gameObject.AddComponent(); ((ColorEffect)colorEffect).SetColor(color); colorEffect.SetLivesToEffect(1); } public override void OnUpdate() { if (Time.time >= startTime + updateDelay) { ResetTimer(); count += updateDelay; if (count >= 0.5f && (Object)(object)colorEffect != (Object)null) { ((ColorEffect)colorEffect).Destroy(); } if (count >= 6f) { ((ReversibleEffect)this).Destroy(); } if (player.data.dead || player.data.health <= 0f || !((Component)player).gameObject.activeInHierarchy) { ResetTimer(); ((ReversibleEffect)this).Destroy(); } } } public override void OnOnDisable() { if ((Object)(object)colorEffect != (Object)null) { ((ColorEffect)colorEffect).Destroy(); } } public override void OnOnDestroy() { if ((Object)(object)colorEffect != (Object)null) { ((ColorEffect)colorEffect).Destroy(); } } private void ResetTimer() { startTime = Time.time; } } public class CorrosiveJellyMono : HitSurfaceEffect { private class CorrosiveJellySpawner : 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(0.5f, 0.5f, 0.5f); ExtensionMethods.SetFieldValue((object)((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent(), "inited", (object)false); typeof(LineEffect).InvokeMember("Init", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.InvokeMethod, null, ((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent(), new object[0]); ((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent().radius = 0.8f; ExtensionMethods.SetFieldValue((object)((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent(), "startWidth", (object)1f); ((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent().Play(); } } private static GameObject CorrosiveJellyVisu; public Block block; public Player player; public CharacterData data; public Gun gun; public Color col; public static SoundEvent fieldsound; private SoundParameterIntensity soundParameterIntensity = new SoundParameterIntensity(0.4f, (UpdateMode)0); public static GameObject CorrosiveJellyVisual { 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_015d: 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_016c: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)CorrosiveJellyVisu != (Object)null) { return CorrosiveJellyVisu; } IEnumerable first = ((ObservableCollection)typeof(CardManager).GetField("activeCards", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null)).ToList(); List second = (List)typeof(CardManager).GetField("inactiveCards", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null); CorrosiveJellyVisu = Object.Instantiate(((Component)(from card in first.Concat(second).ToList() where card.cardName.ToLower() == "overpower" select card).First()).GetComponent().AddObjectToPlayer.GetComponent().objectToSpawn[0], new Vector3(0f, 100000f, 0f), Quaternion.identity); ((Object)CorrosiveJellyVisu).name = "E_Pulsar"; Object.DontDestroyOnLoad((Object)(object)CorrosiveJellyVisu); ParticleSystem[] componentsInChildren = CorrosiveJellyVisu.GetComponentsInChildren(); for (int i = 0; i < componentsInChildren.Length; i++) { componentsInChildren[i].startColor = Color.magenta; } ((Component)CorrosiveJellyVisu.transform.GetChild(1)).GetComponent().colorOverTime.colorKeys = (GradientColorKey[])(object)new GradientColorKey[1] { new GradientColorKey(new Color(1f, 1f, 1f, 1f), 0f) }; Object.Destroy((Object)(object)((Component)CorrosiveJellyVisu.transform.GetChild(2)).gameObject); ((Component)CorrosiveJellyVisu.transform.GetChild(1)).GetComponent().offsetMultiplier = 0f; ((Component)CorrosiveJellyVisu.transform.GetChild(1)).GetComponent().playOnAwake = true; Object.Destroy((Object)(object)CorrosiveJellyVisu.GetComponent()); CorrosiveJellyVisu.GetComponent().time = 0f; Object.Destroy((Object)(object)CorrosiveJellyVisu.GetComponent()); Object.Destroy((Object)(object)CorrosiveJellyVisu.GetComponent()); Object.Destroy((Object)(object)CorrosiveJellyVisu.GetComponent()); Object.Destroy((Object)(object)CorrosiveJellyVisu.GetComponent()); CorrosiveJellyVisu.AddComponent(); CorrosiveJellyVisu.AddComponent().seconds = 1f; return CorrosiveJellyVisu; } set { } } private void Awake() { player = ((Component)this).GetComponent(); block = ((Component)this).GetComponent(); data = ((Component)this).GetComponent(); gun = ((Component)this).GetComponent(); } public override void Hit(Vector2 position, Vector2 normal, Vector2 velocity) { //IL_0006: 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_000c: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) Object.Instantiate(CorrosiveJellyVisual, Vector2.op_Implicit(position), Quaternion.identity); Player[] array = PlayerManager.instance.players.ToArray(); for (int i = 0; i < array.Length; i++) { if (Vector2.Distance(position, Vector2.op_Implicit(((Component)array[i]).transform.position)) < 2f && array[i].data.health > 1f && !array[i].data.block.IsBlocking()) { ((Component)array[i]).gameObject.GetComponent(); Player component = ((Component)array[i]).gameObject.GetComponent(); ((Component)array[i]).gameObject.GetComponent(); ((Component)component).gameObject.AddComponent().damage = player.data.weaponHandler.gun.damage; } } } } public class DoubleEdgedBulletsMono : MonoBehaviour { private Gun gun; public Player player; private float nextTime; private float numcheck; private float oneProjectileAtATimePal; private void Start() { player = ((Component)this).GetComponent(); gun = player.data.weaponHandler.gun; Gun obj = gun; obj.ShootPojectileAction = (Action)Delegate.Combine(obj.ShootPojectileAction, new Action(ShootAction)); } private void Update() { if (!(Time.time >= nextTime)) { return; } for (int i = 0; i <= player.data.currentCards.Count - 1; i++) { if (player.data.currentCards[i].cardName == "Double Edged Bullets") { numcheck += 1f; } } if (numcheck > 0f) { ResetTimerLol(); } else { Object.Destroy((Object)(object)this); } } private void ResetTimerLol() { nextTime = Time.time + 0.1f; numcheck = 0f; } private void ShootAction(GameObject projectile) { //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) if (Time.time > oneProjectileAtATimePal) { oneProjectileAtATimePal = Time.time + 0.01f; float num = player.data.weaponHandler.gun.damage * 55f * 0.07f; num *= (float)gun.numberOfProjectiles; num /= (float)(1 + (gun.numberOfProjectiles - 1) / 8); num = Mathf.Clamp(num, 0.2f * (float)gun.numberOfProjectiles, 20f); ((Damagable)player.data.healthHandler).TakeDamage(Vector2.one * num, Vector2.zero, (GameObject)null, (Player)null, false, false); if (Mathf.Floor(player.data.health) <= 1f) { player.data.stats.AddSlowAddative(2f * gun.damage * (float)gun.numberOfProjectiles / (float)(1 + (gun.numberOfProjectiles - 1) / 8), 1f, false); Player component = ((Component)this).gameObject.GetComponent(); ((Component)component).gameObject.AddComponent(); } } } private void OnDestroy() { Gun obj = gun; obj.ShootPojectileAction = (Action)Delegate.Remove(obj.ShootPojectileAction, new Action(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(); myPosition = ((Component)player).transform.position; lineRenderer = ((Component)this).gameObject.AddComponent(); 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 FireworkEffect : ReversibleEffect { private readonly Color color = Color.magenta; private ReversibleColorEffect colorEffect; private readonly float updateDelay = 0.01f; private float startTime; private float actualstartTime; public override void OnOnEnable() { if ((Object)(object)colorEffect != (Object)null) { ((ColorEffect)colorEffect).Destroy(); } } public override void OnStart() { //IL_0066: Unknown result type (might be due to invalid IL or missing references) base.data.currentJumps = base.data.jumps; base.healthHandlerModifier.regen_add = 6f; base.gravityModifier.gravityForce_mult = 0.25f; ResetTimer(); actualstartTime = Time.time; colorEffect = ((Component)base.player).gameObject.AddComponent(); ((ColorEffect)colorEffect).SetColor(color); colorEffect.SetLivesToEffect(1); } public override void OnUpdate() { if (Time.time >= startTime + updateDelay && Time.time >= actualstartTime + 0.5f) { ResetTimer(); if (((Component)this).GetComponent().data.isGrounded || ((Component)this).GetComponent().data.isWallGrab) { ((ReversibleEffect)this).Destroy(); } if (((Component)this).GetComponent().data.dead || ((Component)this).GetComponent().data.health <= 0f || !((Component)((Component)this).GetComponent()).gameObject.activeInHierarchy) { ResetTimer(); ((ReversibleEffect)this).Destroy(); } } } public override void OnOnDisable() { if ((Object)(object)colorEffect != (Object)null) { ((ColorEffect)colorEffect).Destroy(); } } public override void OnOnDestroy() { if ((Object)(object)colorEffect != (Object)null) { ((ColorEffect)colorEffect).Destroy(); } } private void ResetTimer() { startTime = Time.time; } } public class FireworkMono : MonoBehaviour { public Block block; public Player player; public CharacterData data; public Gun gun; private HealthHandler health; private Action gravy; private Action basic; private float timeOfLastEffect; protected readonly float AbilityCooldown = 1f; private float abilityUseTime; private float mass; private float nextTime; private float numcheck; private CodeAnimation anim; private CharacterStatModifiers stats; private Player componentInParent; private void Start() { player = ((Component)this).GetComponent(); block = ((Component)this).GetComponent(); data = ((Component)this).GetComponent(); gun = ((Component)this).GetComponent(); health = ((Component)this).GetComponent(); anim = ((Component)this).GetComponentInChildren(); stats = ((Component)this).GetComponent(); Block val = player.data.block; val.BlockAction = (Action)Delegate.Combine(val.BlockAction, new Action(OnBlock)); componentInParent = ((Component)this).GetComponentInParent(); } private void Update() { if (!(Time.time >= nextTime)) { return; } for (int i = 0; i <= player.data.currentCards.Count - 1; i++) { if (player.data.currentCards[i].cardName == "Firework") { numcheck += 1f; } } if (numcheck > 0f) { ResetTimerLol(); } else { Object.Destroy((Object)(object)this); } } private void ResetTimerLol() { nextTime = Time.time + 0.1f; numcheck = 0f; } public void Destroy() { Object.Destroy((Object)(object)this); } protected virtual void OnDestroy() { Block val = player.data.block; val.BlockAction = (Action)Delegate.Remove(val.BlockAction, new Action(OnBlock)); } private void OnBlock(BlockTriggerType triggerType) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) if ((int)triggerType == 0 && !(Time.time < abilityUseTime)) { Player component = ((Component)this).gameObject.GetComponent(); if (!Object.op_Implicit((Object)(object)((Component)component).gameObject.GetComponent())) { ((Component)component).gameObject.AddComponent(); } data.currentJumps = data.jumps; abilityUseTime = Time.time + AbilityCooldown; } } protected virtual IEnumerator abilityWaitDuration() { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Expected O, but got Unknown return (IEnumerator)new WaitUntil((Func)(() => true)); } } public class FrostbiteDamageMono : RayHitPoison { [Header("Sounds")] public SoundEvent? soundEventDamageOverTime; [Header("Settings")] public float time = 4f; public float interval = 1f; public Color color = Color.cyan; private void Start() { if ((Object)(object)((Component)this).GetComponentInParent() != (Object)null) { ((Component)this).GetComponentInParent().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(); ProjectileHit componentInParent = ((Component)this).GetComponentInParent(); DamageOverTime component = ((Component)hit.transform).GetComponent(); 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().ownWeapon, ((Component)this).GetComponentInParent().ownPlayer, true); } return (HasToReturn)1; } public void Destroy() { Object.Destroy((Object)(object)this); } } public class FrostbiteMono : RayHitEffect { public static SoundEvent fieldsound; public Block block; public Player player; public CharacterData data; public Gun gun; private void Awake() { player = ((Component)this).GetComponent(); block = ((Component)this).GetComponent(); data = ((Component)this).GetComponent(); gun = ((Component)this).GetComponent(); } public override HasToReturn DoHitEffect(HitInfo hit) { //IL_0044: 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_0047: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)hit.transform)) { return (HasToReturn)1; } Debug.Log((object)"Fourth"); ((Component)hit.transform).gameObject.AddComponent().gunSlow = gun.slow; return (HasToReturn)1; } public void Destroy() { Object.Destroy((Object)(object)this); } } public class FrostbiteSlowMono : ReversibleEffect { public Vector2 gunSlowDamage; public float gunSlow; private readonly Color color = Color.cyan; private ReversibleColorEffect colorEffect; public readonly float updateDelay = 0.5f; public readonly float effectCooldown = 2f; public float slowDealt = 0f; private float startTime; private SoundEvent soundCharacterSlowFreeze; public override void OnOnEnable() { if ((Object)(object)colorEffect != (Object)null) { ((ColorEffect)colorEffect).Destroy(); } } public override void OnStart() { //IL_0030: Unknown result type (might be due to invalid IL or missing references) Debug.Log((object)"Sixth"); ResetTimer(); colorEffect = ((Component)base.player).gameObject.AddComponent(); ((ColorEffect)colorEffect).SetColor(color); colorEffect.SetLivesToEffect(1); } public override void OnUpdate() { Debug.Log((object)gunSlow); float num = gunSlow; float num2 = 1f; float num3 = num; float num4 = num3 / effectCooldown * updateDelay; if (!(Time.time >= startTime + updateDelay)) { return; } ResetTimer(); if (slowDealt < num3) { if ((Object)(object)soundCharacterSlowFreeze != (Object)null && base.data.isPlaying && !base.data.dead) { SoundManager.Instance.Play(soundCharacterSlowFreeze, ((Component)this).transform); } slowDealt += num4; float num5 = Mathf.Clamp((0.5f + num / 2f) * (0.5f + num2 / 2f) - 0.3f, 0.4f, 0.8f); base.data.stats.AddSlowAddative(num4 * num2 * 2f, num5, false); } if (slowDealt >= num3) { ((ReversibleEffect)this).Destroy(); ((ColorEffect)colorEffect).Destroy(); } if (base.player.data.dead || base.player.data.health <= 0f || !((Component)base.player).gameObject.activeInHierarchy) { ResetTimer(); ((ReversibleEffect)this).Destroy(); } } public override void OnOnDisable() { if ((Object)(object)colorEffect != (Object)null) { ((ColorEffect)colorEffect).Destroy(); ResetTimer(); } } public override void OnOnDestroy() { if ((Object)(object)colorEffect != (Object)null) { ((ColorEffect)colorEffect).Destroy(); ResetTimer(); } } private void ResetTimer() { startTime = Time.time; } } public class GroundedEffect : ReversibleEffect { private readonly Color color = new Color(150f, 75f, 0f); private ReversibleColorEffect colorEffect; private readonly float updateDelay = 0.05f; private float startTime; private float count; public override void OnOnEnable() { if ((Object)(object)colorEffect != (Object)null) { ((ColorEffect)colorEffect).Destroy(); } } public override void OnStart() { //IL_005c: Unknown result type (might be due to invalid IL or missing references) base.gravityModifier.gravityForce_mult = 5f; base.characterDataModifier.numberOfJumps_mult = 0; base.characterStatModifiersModifier.movementSpeed_mult = 0.75f; ResetTimer(); count = 0f; colorEffect = ((Component)base.player).gameObject.AddComponent(); ((ColorEffect)colorEffect).SetColor(color); colorEffect.SetLivesToEffect(1); } public override void OnUpdate() { if (Time.time >= startTime + updateDelay) { ResetTimer(); count += 0.05f; if (count >= 2.25f) { ((ReversibleEffect)this).Destroy(); } if (((Component)this).GetComponent().data.dead || ((Component)this).GetComponent().data.health <= 0f || !((Component)((Component)this).GetComponent()).gameObject.activeInHierarchy) { ResetTimer(); ((ReversibleEffect)this).Destroy(); } } } public override void OnOnDisable() { if ((Object)(object)colorEffect != (Object)null) { ((ColorEffect)colorEffect).Destroy(); } } public override void OnOnDestroy() { if ((Object)(object)colorEffect != (Object)null) { ((ColorEffect)colorEffect).Destroy(); } } private void ResetTimer() { startTime = Time.time; } } public class GroundedMono : MonoBehaviour { private class GroundedSpawner : 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().seconds = 2f; ExtensionMethods.SetFieldValue((object)((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent(), "inited", (object)false); typeof(LineEffect).InvokeMember("Init", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.InvokeMethod, null, ((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent(), new object[0]); ((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent().radius = 5.6f; ExtensionMethods.SetFieldValue((object)((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent(), "startWidth", (object)1f); ((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent().Play(); } } private readonly float maxDistance = 10f; public Block block; public Player player; public CharacterData data; public Gun gun; private Action gravy; private Action basic; private static GameObject Groundedvisu; 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 GroundedVisual { 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)Groundedvisu != (Object)null) { return Groundedvisu; } IEnumerable first = ((ObservableCollection)typeof(CardManager).GetField("activeCards", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null)).ToList(); List second = (List)typeof(CardManager).GetField("inactiveCards", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null); Groundedvisu = Object.Instantiate(((Component)(from card in first.Concat(second).ToList() where card.cardName.ToLower() == "overpower" select card).First()).GetComponent().AddObjectToPlayer.GetComponent().objectToSpawn[0], new Vector3(0f, 100000f, 0f), Quaternion.identity); ((Object)Groundedvisu).name = "E_Grounded"; Object.DontDestroyOnLoad((Object)(object)Groundedvisu); ParticleSystem[] componentsInChildren = Groundedvisu.GetComponentsInChildren(); for (int i = 0; i < componentsInChildren.Length; i++) { componentsInChildren[i].startColor = Color.gray; } ((Component)Groundedvisu.transform.GetChild(1)).GetComponent().colorOverTime.colorKeys = (GradientColorKey[])(object)new GradientColorKey[1] { new GradientColorKey(Color.white, 0f) }; Object.Destroy((Object)(object)((Component)Groundedvisu.transform.GetChild(2)).gameObject); ((Component)Groundedvisu.transform.GetChild(1)).GetComponent().offsetMultiplier = 0f; ((Component)Groundedvisu.transform.GetChild(1)).GetComponent().playOnAwake = true; Object.Destroy((Object)(object)Groundedvisu.GetComponent()); Groundedvisu.GetComponent().time = 0f; Object.Destroy((Object)(object)Groundedvisu.GetComponent()); Object.Destroy((Object)(object)Groundedvisu.GetComponent()); Object.Destroy((Object)(object)Groundedvisu.GetComponent()); Groundedvisu.AddComponent(); return Groundedvisu; } set { } } private void Start() { player = ((Component)this).GetComponent(); block = ((Component)this).GetComponent(); data = ((Component)this).GetComponent(); gun = ((Component)this).GetComponent(); ResetEffectTimer(); ResetTimer(); canTrigger = true; hasTriggered = false; basic = block.BlockAction; if (Object.op_Implicit((Object)(object)block)) { gravy = GetDoBlockAction(player, block).Invoke; block.BlockAction = (Action)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 == "Grounded") { numcheck++; } } if (numcheck > 0) { ResetTimer(); if (Time.time >= timeOfLastEffect) { canTrigger = true; } else { canTrigger = false; } } else { Object.Destroy((Object)(object)this); } } public Action 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_0185: Unknown result type (might be due to invalid IL or missing references) //IL_018a: Unknown result type (might be due to invalid IL or missing references) //IL_0198: Unknown result type (might be due to invalid IL or missing references) //IL_019d: 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(GroundedVisual, ((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) { if (!array[i].data.block.IsBlocking()) { ((Damagable)((Component)((Component)array[i]).transform).GetComponent()).TakeDamage(27.5f * Vector2.one, Vector2.op_Implicit(((Component)array[i]).transform.position), ((Component)this.player.data.weaponHandler).gameObject, this.player, true, false); if (Object.op_Implicit((Object)(object)((Component)((Component)array[i]).transform).gameObject.GetComponent())) { ((ReversibleEffect)((Component)((Component)array[i]).transform).gameObject.GetComponent()).Destroy(); } ((Component)((Component)array[i]).transform).gameObject.AddComponent(); } hasTriggered = true; } } if (hasTriggered) { hasTriggered = false; canTrigger = false; ResetEffectTimer(); } } }; } private void ResetTimer() { startTime = Time.time; numcheck = 0; } private void ResetEffectTimer() { timeOfLastEffect = Time.time; } } internal class HealingVeilMono : ShieldTemplateMono { public static float HealingVeilHealth; public static float HealingVeilSize; public static readonly float abilityCooldown = 15f; public static readonly float abilityRadius = 3.65f; public static readonly float HealingVeilInitialHealth = 75f; public static readonly float HealingVeilHealthFadingNormalized = 0.01f; public static float HealingVeilCurrentAliveTime; public static readonly bool FollowPlayer = true; public static readonly float SizeAffectedByPlayer = 1f; public static readonly float InvincibilityTime = 0.02f; public static readonly float abilitybaseThickness = 0.25f; public static float abilityThickness = 0.275f; public static float HealingVeilCanHitAgainTime; public static float TimeUntilCanHeal; private static MethodInfo destroyProjectileMethod = typeof(ProjectileHit).GetMethod("DestroyMe", BindingFlags.Instance | BindingFlags.NonPublic); protected override void Start() { //IL_0040: Unknown result type (might be due to invalid IL or missing references) baseAbilityCooldown = abilityCooldown; baseAbilityRadius = abilityRadius; baseFollowPlayer = FollowPlayer; baseSizeAffectedByPlayer = SizeAffectedByPlayer; baseThickness = abilityThickness; base.Start(); setColor(Color.green); } protected override void FixedUpdate() { //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_0198: Unknown result type (might be due to invalid IL or missing references) //IL_01a7: Unknown result type (might be due to invalid IL or missing references) //IL_01ac: Unknown result type (might be due to invalid IL or missing references) if (base.player.data.dead || base.player.data.health <= 0f || !((Component)base.player).gameObject.activeInHierarchy) { HealingVeilHealth = -1f; base.abilityActive = false; } if (base.abilityActive) { float healingVeilMaxHealth = getHealingVeilMaxHealth(); HealingVeilHealth -= HealingVeilHealthFadingNormalized * (1f + (HealingVeilCurrentAliveTime + 1f) * (HealingVeilCurrentAliveTime + 1f) / 2f) * healingVeilMaxHealth * Time.fixedDeltaTime; setRadius(abilityRadius); HealingVeilSize = abilityRadius; abilityThickness = abilitybaseThickness * HealingVeilHealth / healingVeilMaxHealth; baseThickness = abilityThickness; HealingVeilCurrentAliveTime += Time.fixedDeltaTime; } else { HealingVeilCurrentAliveTime = 0f; } if (HealingVeilHealth > 0f && !base.player.data.dead && !(base.player.data.health <= 0f) && ((Component)base.player).gameObject.activeInHierarchy) { float healingVeilMaxHealth2 = getHealingVeilMaxHealth(); Player[] array = PlayerManager.instance.players.ToArray(); if (Time.time > TimeUntilCanHeal) { for (int i = 0; i < array.Length; i++) { if (Vector2.Distance(Vector2.op_Implicit(((Component)base.player).transform.position), Vector2.op_Implicit(((Component)array[i]).transform.position)) < 0.5f + HealingVeilHealth / healingVeilMaxHealth2 * (abilityRadius - 0.5f)) { ((Component)array[i]).gameObject.GetComponent(); Player component = ((Component)array[i]).gameObject.GetComponent(); ((Component)array[i]).gameObject.GetComponent(); component.data.healthHandler.Heal(1.15f * (0.5f + HealingVeilHealth / healingVeilMaxHealth2 / 2f)); component.data.healthHandler.Heal(array[i].data.maxHealth * 0.0115f * (0.5f + HealingVeilHealth / healingVeilMaxHealth2 / 2f)); TimeUntilCanHeal = Time.time + 0.15f; } } } } base.FixedUpdate(); } protected override IEnumerator abilityWaitDuration() { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Expected O, but got Unknown return (IEnumerator)new WaitUntil((Func)(() => HealingVeilHealth <= 0f || base.player.data.dead || base.player.data.health <= 0f || !((Component)base.player).gameObject.activeInHierarchy)); } protected override bool bulletValidation(ProjectileHit projectile) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) return projectile.ownPlayer.teamID != base.player.teamID && PlayerManager.instance.CanSeePlayer(Vector2.op_Implicit(((Component)projectile).transform.position), base.player).canSee; } protected override void affectBullet(ProjectileHit projectile) { if (HealingVeilHealth > projectile.damage) { if (Time.time > HealingVeilCanHitAgainTime && !(BarrierMono.barrierSize > HealingVeilSize)) { HealingVeilCanHitAgainTime = Time.time + InvincibilityTime; HealingVeilHealth -= projectile.damage; } ProjectileCollision componentInChildren = ((Component)projectile).GetComponentInChildren(); if ((Object)(object)componentInChildren != (Object)null) { componentInChildren.Die(); } destroyProjectileMethod.Invoke(projectile, new object[0]); } else { projectile.damage -= HealingVeilHealth; HealingVeilHealth = 0f; } } protected override void onShieldEnable() { HealingVeilHealth = getHealingVeilMaxHealth(); } private float getHealingVeilMaxHealth() { //IL_000c: Unknown result type (might be due to invalid IL or missing references) return ((Component)base.player).transform.localScale.x / base.player.data.stats.sizeMultiplier * HealingVeilInitialHealth + 75f; } } 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(); myPosition = ((Component)player).transform.position; lineRenderer = ((Component)this).gameObject.AddComponent(); 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(); myPosition = ((Component)player).transform.position; lineRenderer = ((Component)this).gameObject.AddComponent(); 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; } } } internal class LandmineMono : MonoBehaviour { [CompilerGenerated] private sealed class d__4 : IEnumerator, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public LandmineMono <>4__this; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__4(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_015e: Unknown result type (might be due to invalid IL or missing references) //IL_0163: Unknown result type (might be due to invalid IL or missing references) //IL_0172: Unknown result type (might be due to invalid IL or missing references) //IL_017c: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_01e2: Unknown result type (might be due to invalid IL or missing references) if (<>1__state != 0) { return false; } <>1__state = -1; if (!<>4__this.LocationSet) { <>4__this.position = ((Component)<>4__this.player).transform.position; <>4__this.position2 = ((Component)<>4__this.player).transform; <>4__this.LocationSet = true; <>4__this.lineEffect.Play(((Component)<>4__this.player).transform); <>4__this.lineEffect.Play((Transform)null); ((Renderer)<>4__this.lineRenderer).material.color = Color.red; return false; } <>4__this.LocationSet = false; <>4__this.lineEffect.Stop(); ((Component)<>4__this.lineEffect).gameObject.SetActive(false); <>4__this.explosion.damage = 100f; <>4__this.explosion.force = 10000f; <>4__this.explosion.range = <>4__this.lineEffect.radius; Object.Instantiate(((Component)<>4__this.explosion).gameObject, <>4__this.position, Quaternion.identity).transform.localScale = Vector3.one * 2f; if ((Object)(object)<>4__this.soundDamage != (Object)null) { SoundManager.Instance.Play(<>4__this.soundDamage, ((Component)<>4__this.player).transform); } <>4__this.player.data.block.DoBlockAtPosition(false, true, (BlockTriggerType)4, <>4__this.position, false); return false; } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } private Player player; private bool LocationSet = false; private GameObject lineEffectGO; private LineRenderer lineRenderer; private LineEffect lineEffect; private Vector3 position; private Transform position2; private Explosion explosion; public SoundEvent soundDamage; private void Start() { //IL_0046: 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_0061: Expected O, but got Unknown //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00db: Expected O, but got Unknown //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_012b: 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_01d3: Unknown result type (might be due to invalid IL or missing references) player = ((Component)this).GetComponentInParent(); Block block = player.data.block; block.BlockAction = (Action)Delegate.Combine(block.BlockAction, new Action(OnBlock)); ((Component)this).transform.localPosition = Vector3.zero; lineEffectGO = new GameObject("LineEffect"); lineEffectGO.transform.SetParent(((Component)this).transform); lineEffectGO.transform.localPosition = Vector3.zero; lineRenderer = lineEffectGO.AddComponent(); lineEffect = lineEffectGO.AddComponent(); lineRenderer.startWidth = 0.2f; ((Renderer)lineRenderer).material = new Material(Shader.Find("Unlit/Color")); ((Renderer)lineRenderer).material.color = Color.red; lineRenderer.positionCount = 50; lineRenderer.useWorldSpace = true; lineRenderer.endWidth = lineRenderer.startWidth; lineEffect.lineType = (LineType)1; lineEffect.segments = lineRenderer.positionCount; lineEffect.globalTimeSpeed = 1f; lineEffect.loop = true; lineEffect.effects = (LineEffectInstance[])(object)new LineEffectInstance[0]; lineEffect.raycastCollision = false; lineEffect.radius = 4.5f; GameObject val = Object.Instantiate(((GameObject)Resources.Load("0 cards/Explosive bullet")).GetComponent().objectsToSpawn[0].effect); ((Object)val).hideFlags = (HideFlags)61; val.transform.position = new Vector3(1000f, 0f, 0f); ((Object)val).name = "LandmineExplosion"; Object.Destroy((Object)(object)val.GetComponent()); val.AddComponent().spawner = player; explosion = val.GetComponent(); explosion.scaleRadius = false; explosion.scaleDmg = false; explosion.scaleForce = false; explosion.ignoreTeam = true; explosion.ignoreWalls = false; explosion.immunity = 0.5f; explosion.soundDamage = soundDamage; explosion.stun = 0.5f; } private void OnDestroy() { Block block = player.data.block; block.BlockAction = (Action)Delegate.Remove(block.BlockAction, new Action(OnBlock)); } private void OnDisable() { if (LocationSet) { ((MonoBehaviour)this).StopAllCoroutines(); lineEffect.Stop(); ((Component)lineEffect).gameObject.SetActive(false); } } private void OnBlock(BlockTriggerType triggerType) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Invalid comparison between Unknown and I4 if ((int)triggerType <= 0) { ((MonoBehaviour)this).StartCoroutine(useAbility()); } } [IteratorStateMachine(typeof(d__4))] private IEnumerator useAbility() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__4(0) { <>4__this = this }; } protected virtual void FixedUpdate() { if (player.data.dead) { LocationSet = false; } } } public class LeadBulletsMono : RayHitPoison { [Header("Sounds")] public SoundEvent? soundEventDamageOverTime; [Header("Settings")] public float time = 2f; public float interval = 0.5f; public Color color = Color.grey; private void Start() { if ((Object)(object)((Component)this).GetComponentInParent() != (Object)null) { ((Component)this).GetComponentInParent().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(); ProjectileHit componentInParent = ((Component)this).GetComponentInParent(); DamageOverTime component = ((Component)hit.transform).GetComponent(); 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().ownWeapon, ((Component)this).GetComponentInParent().ownPlayer, true); } return (HasToReturn)1; } public void Destroy() { Object.Destroy((Object)(object)this); } } internal class MagneticBulletMono : MonoBehaviour { private MoveTransform moveTransform; private ProjectileHit bullet; public int ignoreTeamID; private static FieldInfo playerVelocityField = typeof(PlayerVelocity).GetField("velocity", BindingFlags.Instance | BindingFlags.NonPublic); private float nextTime; private float numcheck; private void Start() { if (!((Object)(object)((Component)this).transform.parent == (Object)null)) { moveTransform = ((Component)((Component)this).transform.parent).GetComponent(); bullet = ((Component)((Component)this).transform.parent).GetComponent(); } } private void FixedUpdate() { //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00df: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: 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_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_012d: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Unknown result type (might be due to invalid IL or missing references) //IL_015c: Unknown result type (might be due to invalid IL or missing references) //IL_015e: Unknown result type (might be due to invalid IL or missing references) //IL_0188: Unknown result type (might be due to invalid IL or missing references) //IL_018d: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)bullet == (Object)null) { return; } float num = 250f; float num2 = bullet.damage / 55f * bullet.dealDamageMultiplierr; num2 = Mathf.Min(2f, 3.37f * num2 + 0.05f); foreach (Player player in PlayerManager.instance.players) { if (!player.data.dead && player.teamID != ignoreTeamID) { Vector2 val = Vector2.op_Implicit(((Component)player).transform.position - ((Component)this).transform.position); float magnitude = ((Vector2)(ref val)).magnitude; Vector2 val2 = ((Vector2)(ref val)).normalized / Mathf.Max(5f, magnitude) * Time.fixedDeltaTime * num; float x = ((Component)player).transform.localScale.x; x = 1.7f; MoveTransform val3 = moveTransform; val3.velocity.x = val3.velocity.x + (x * val2).x; MoveTransform val4 = moveTransform; val4.velocity.y = val4.velocity.y + (x * val2).y; PlayerVelocity playerVel = player.data.playerVel; Vector2 val5 = (Vector2)playerVelocityField.GetValue(playerVel); } } } } internal class MagneticFieldMono : ShieldTemplateMono { public static readonly float abilityCooldown = 4f; public static readonly float abilityDuration = 4f; public static readonly float abilityRadius = 6.5f; public static readonly bool FollowPlayer = true; public static readonly float SizeAffectedByPlayer = 1f; public static readonly float abilityThickness = 0.15f; private MoveTransform move; private ProjectileHit bullet; public int ignoreTeamID; private static FieldInfo playerVelocityField = typeof(PlayerVelocity).GetField("velocity", BindingFlags.Instance | BindingFlags.NonPublic); protected override void Start() { //IL_004b: Unknown result type (might be due to invalid IL or missing references) baseAbilityCooldown = abilityCooldown; baseAbilityDuration = abilityDuration; baseAbilityRadius = abilityRadius; baseFollowPlayer = FollowPlayer; baseSizeAffectedByPlayer = SizeAffectedByPlayer; baseThickness = abilityThickness; base.Start(); setColor(Color.white); } protected override bool bulletValidation(ProjectileHit projectile) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) return projectile.ownPlayer.teamID != base.player.teamID && PlayerManager.instance.CanSeePlayer(Vector2.op_Implicit(((Component)projectile).transform.position), base.player).canSee; } protected override void affectBullet(ProjectileHit projectile) { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00db: Unknown result type (might be due to invalid IL or missing references) //IL_0108: 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) float num = 1000f; Vector2 val = Vector2.op_Implicit(ShieldPosReal - ((Component)projectile).transform.position); float num2 = val.x + Mathf.Sign(val.x) * 3f; float num3 = val.y + Mathf.Sign(val.y) * 3f; ((Vector2)(ref val))..ctor(num2, num3); float magnitude = ((Vector2)(ref val)).magnitude; Vector2 val2 = ((Vector2)(ref val)).normalized / Mathf.Max(5f, magnitude) * Time.fixedDeltaTime * num; float num4 = 1f; num4 = Mathf.Min(20f, num4 * num4); move = ((Component)projectile).gameObject.GetComponent(); MoveTransform val3 = move; val3.velocity.x = val3.velocity.x - (num4 * val2).x; MoveTransform val4 = move; val4.velocity.y = val4.velocity.y - (num4 * val2).y; } protected override void FixedUpdate() { //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: 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) //IL_00c2: 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_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_0125: 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_0136: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_0175: Unknown result type (might be due to invalid IL or missing references) //IL_017e: Unknown result type (might be due to invalid IL or missing references) //IL_0182: Unknown result type (might be due to invalid IL or missing references) //IL_0184: Unknown result type (might be due to invalid IL or missing references) //IL_0189: Unknown result type (might be due to invalid IL or missing references) if (base.abilityActive) { Player[] array = PlayerManager.instance.players.ToArray(); for (int i = 0; i < array.Length; i++) { if (array[i].teamID != base.player.teamID && Vector2.Distance(Vector2.op_Implicit(ShieldPosReal), Vector2.op_Implicit(((Component)array[i]).transform.position)) < abilityRadius * SizeMult && PlayerManager.instance.CanSeePlayer(Vector2.op_Implicit(((Component)base.player).transform.position), array[i]).canSee) { float num = 1200f; Vector2 val = Vector2.op_Implicit(ShieldPosReal - ((Component)array[i]).transform.position); float num2 = val.x + Mathf.Sign(val.x) * 0f; float num3 = val.y + Mathf.Sign(val.y) * 0f; ((Vector2)(ref val))..ctor(num2, num3); float magnitude = ((Vector2)(ref val)).magnitude; Vector2 val2 = ((Vector2)(ref val)).normalized / Mathf.Max(5f, magnitude) * Time.fixedDeltaTime * num; float num4 = 1f; num4 = Mathf.Min(20f, num4 * num4); PlayerVelocity playerVel = array[i].data.playerVel; Vector2 val3 = (Vector2)playerVelocityField.GetValue(playerVel); playerVelocityField.SetValue(playerVel, val3 - num4 * val2); } } } base.FixedUpdate(); } } public class MeditationMono : MonoBehaviour { public Block block; public Player player; public CharacterData data; public Gun gun; private HealthHandler health; private Action gravy; private Action basic; private float timeOfLastEffect; private float abilityUseTime; private float mass; private float nextTime; private float numcheck; private float meditationWarmupTime; private CodeAnimation anim; private CharacterStatModifiers stats; private Player componentInParent; private void Start() { player = ((Component)this).GetComponent(); block = ((Component)this).GetComponent(); data = ((Component)this).GetComponent(); gun = ((Component)this).GetComponent(); health = ((Component)this).GetComponent(); anim = ((Component)this).GetComponentInChildren(); stats = ((Component)this).GetComponent(); componentInParent = ((Component)this).GetComponentInParent(); } private void Update() { //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) if (!(Time.time >= nextTime)) { return; } for (int i = 0; i <= player.data.currentCards.Count - 1; i++) { if (player.data.currentCards[i].cardName == "Meditation") { numcheck += 1f; } } if (data.input.direction == Vector3.zero || data.input.direction == Vector3.down) { meditationWarmupTime -= 1f * Time.deltaTime; if (meditationWarmupTime <= 0f) { data.healthHandler.Heal(1.5f); } } else { meditationWarmupTime = 0.1f; } if (numcheck > 0f) { ResetTimerLol(); } else { Object.Destroy((Object)(object)this); } } private void ResetTimerLol() { nextTime = Time.time + 0.15f; numcheck = 0f; } public void Destroy() { Object.Destroy((Object)(object)this); } protected virtual void OnDestroy() { } protected virtual IEnumerator abilityWaitDuration() { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Expected O, but got Unknown return (IEnumerator)new WaitUntil((Func)(() => true)); } } 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() != (Object)null) { ((Component)this).GetComponentInParent().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(); ProjectileHit componentInParent = ((Component)this).GetComponentInParent(); DamageOverTime component = ((Component)hit.transform).GetComponent(); 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().ownWeapon, ((Component)this).GetComponentInParent().ownPlayer, true); } return (HasToReturn)1; } public void Destroy() { Object.Destroy((Object)(object)this); } } public class OverclockedEffect : ReversibleEffect { private readonly Color color = Color.white; private ReversibleColorEffect colorEffect; private readonly float updateDelay = 0.01f; private int removeStage = 0; private float startTime; private float actualstartTime; public override void OnOnEnable() { if ((Object)(object)colorEffect != (Object)null) { ((ColorEffect)colorEffect).Destroy(); } } public override void OnStart() { //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_00b3: Unknown result type (might be due to invalid IL or missing references) base.gunStatModifier.numberOfProjectiles_add = base.gunAmmo.maxAmmo - base.player.data.weaponHandler.gun.numberOfProjectiles; base.gunStatModifier.evenSpread_add = 1f / (float)base.gunAmmo.maxAmmo; base.gunStatModifier.spread_add = 0.1f; base.gunStatModifier.projectileColor = Color.white; base.gunStatModifier.damage_mult = 1.5f; base.gunStatModifier.projectileSpeed_mult = 1.5f; ResetTimer(); colorEffect = ((Component)base.player).gameObject.AddComponent(); ((ColorEffect)colorEffect).SetColor(color); colorEffect.SetLivesToEffect(1); } public override void OnUpdate() { if (Time.time >= startTime + updateDelay && Time.time >= actualstartTime + 0.5f) { ResetTimer(); if (!((Component)this).GetComponent().data.weaponHandler.gun.isReloading && removeStage == 0) { removeStage = 1; } if (((Component)this).GetComponent().data.weaponHandler.gun.isReloading && removeStage == 1) { ((ReversibleEffect)this).Destroy(); } if (((Component)this).GetComponent().data.dead || ((Component)this).GetComponent().data.health <= 0f || !((Component)((Component)this).GetComponent()).gameObject.activeInHierarchy) { ResetTimer(); ((ReversibleEffect)this).Destroy(); } } } public override void OnOnDisable() { ReversibleColorEffect obj = colorEffect; if (obj != null) { ((ColorEffect)obj).Destroy(); } } public override void OnOnDestroy() { ReversibleColorEffect obj = colorEffect; if (obj != null) { ((ColorEffect)obj).Destroy(); } } private void ResetTimer() { startTime = Time.time; } } public class OverclockedMono : MonoBehaviour { public Block block; public Player player; public CharacterData data; public Gun gun; private HealthHandler health; private Action gravy; private Action basic; private float timeOfLastEffect; protected readonly float AbilityCooldown = 0f; private float abilityUseTime; private float mass; private float nextTime; private float numcheck; private CodeAnimation anim; private CharacterStatModifiers stats; private Player componentInParent; private void Start() { player = ((Component)this).GetComponent(); block = ((Component)this).GetComponent(); data = ((Component)this).GetComponent(); gun = ((Component)this).GetComponent(); health = ((Component)this).GetComponent(); anim = ((Component)this).GetComponentInChildren(); stats = ((Component)this).GetComponent(); Block val = player.data.block; val.BlockAction = (Action)Delegate.Combine(val.BlockAction, new Action(OnBlock)); componentInParent = ((Component)this).GetComponentInParent(); } private void Update() { if (!(Time.time >= nextTime)) { return; } for (int i = 0; i <= player.data.currentCards.Count - 1; i++) { if (player.data.currentCards[i].cardName == "Overclocked") { numcheck += 1f; } } if (numcheck > 0f) { ResetTimerLol(); } else { Object.Destroy((Object)(object)this); } } private void ResetTimerLol() { nextTime = Time.time + 0.1f; numcheck = 0f; } public void Destroy() { Object.Destroy((Object)(object)this); } protected virtual void OnDestroy() { Block val = player.data.block; val.BlockAction = (Action)Delegate.Remove(val.BlockAction, new Action(OnBlock)); } private void OnBlock(BlockTriggerType triggerType) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) if ((int)triggerType == 0 && !(Time.time < abilityUseTime)) { Player component = ((Component)this).gameObject.GetComponent(); if (!Object.op_Implicit((Object)(object)((Component)component).gameObject.GetComponent())) { ((Component)component).gameObject.AddComponent(); } abilityUseTime = Time.time + AbilityCooldown; } } protected virtual IEnumerator abilityWaitDuration() { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Expected O, but got Unknown return (IEnumerator)new WaitUntil((Func)(() => true)); } } public class OverclockerEffect : ReversibleEffect { private readonly Color color = Color.white; private ReversibleColorEffect colorEffect; private readonly float updateDelay = 0.05f; private float startTime; private float count; public override void OnOnEnable() { if ((Object)(object)colorEffect != (Object)null) { ((ColorEffect)colorEffect).Destroy(); } } public override void OnStart() { //IL_0040: Unknown result type (might be due to invalid IL or missing references) base.gunStatModifier.attackSpeed_mult = 2.75f; ResetTimer(); count = 0f; colorEffect = ((Component)base.player).gameObject.AddComponent(); ((ColorEffect)colorEffect).SetColor(color); colorEffect.SetLivesToEffect(1); } public override void OnUpdate() { if (Time.time >= startTime + updateDelay) { ResetTimer(); count += 0.05f; if (count >= 5f) { ((ReversibleEffect)this).Destroy(); } if (((Component)this).GetComponent().data.dead || ((Component)this).GetComponent().data.health <= 0f || !((Component)((Component)this).GetComponent()).gameObject.activeInHierarchy) { ResetTimer(); ((ReversibleEffect)this).Destroy(); } } } public override void OnOnDisable() { if ((Object)(object)colorEffect != (Object)null) { ((ColorEffect)colorEffect).Destroy(); } } public override void OnOnDestroy() { if ((Object)(object)colorEffect != (Object)null) { ((ColorEffect)colorEffect).Destroy(); } } private void ResetTimer() { startTime = Time.time; } } public class OverclockerMono : MonoBehaviour { public Block block; public Player player; public CharacterData data; public Gun gun; private HealthHandler health; private CharacterStatModifiers stats; private Player componentInParent; public UnityEvent triggerEvent; private float nextTime; private float numcheck; private void Start() { player = ((Component)this).GetComponent(); block = ((Component)this).GetComponent(); data = ((Component)this).GetComponent(); gun = ((Component)this).GetComponent(); health = ((Component)this).GetComponent(); stats = ((Component)this).GetComponent(); CharacterStatModifiers val = ((Component)this).GetComponentInParent().data.stats; val.DealtDamageAction = (Action)Delegate.Combine(val.DealtDamageAction, new Action(DealtDamage)); } private void DealtDamage(Vector2 dmg, bool lethal) { DoSomethingLol(); } private void DoSomethingLol() { if (Object.op_Implicit((Object)(object)((Component)((Component)player).transform).gameObject.GetComponent())) { ((ReversibleEffect)((Component)((Component)player).transform).gameObject.GetComponent()).Destroy(); } ((Component)((Component)player).transform).gameObject.AddComponent(); } private void Update() { if (!(Time.time >= nextTime)) { return; } for (int i = 0; i <= player.data.currentCards.Count - 1; i++) { if (player.data.currentCards[i].cardName == "Overclocker") { numcheck += 1f; } } if (numcheck > 0f) { ResetTimerLol(); } else { Object.Destroy((Object)(object)this); } } private void ResetTimerLol() { nextTime = Time.time + 0.1f; numcheck = 0f; } public void Destroy() { Object.Destroy((Object)(object)this); } protected virtual void OnDestroy() { } } public class PeaceTreatyMono : MonoBehaviour { private Gun gun; public Player player; private void Start() { player = ((Component)this).GetComponent(); gun = player.data.weaponHandler.gun; Gun obj = gun; obj.ShootPojectileAction = (Action)Delegate.Combine(obj.ShootPojectileAction, new Action(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)Delegate.Remove(obj.ShootPojectileAction, new Action(ShootAction)); } } public class ForcedReloadMono : MonoBehaviour { private Gun gun; public Player player; private void Start() { player = ((Component)this).GetComponent(); gun = player.data.weaponHandler.gun; Gun obj = gun; obj.ShootPojectileAction = (Action)Delegate.Combine(obj.ShootPojectileAction, new Action(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)Delegate.Remove(obj.ShootPojectileAction, new Action(ShootAction)); } } internal class RewindMono : MonoBehaviour { [CompilerGenerated] private sealed class d__7 : IEnumerator, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public RewindMono <>4__this; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__7(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_0169: Unknown result type (might be due to invalid IL or missing references) //IL_016e: 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_0137: Unknown result type (might be due to invalid IL or missing references) //IL_013c: Unknown result type (might be due to invalid IL or missing references) //IL_01c0: Unknown result type (might be due to invalid IL or missing references) if (<>1__state != 0) { return false; } <>1__state = -1; if (!<>4__this.DoTeleport) { <>4__this.lineEffect.Play(((Component)<>4__this.player).transform); <>4__this.lineEffect.Play((Transform)null); ((Renderer)<>4__this.lineRenderer).material.color = Color.gray; <>4__this.SavePosition = Vector2.op_Implicit(((Component)<>4__this.player).transform.position); <>4__this.DoTeleport = true; return false; } if (!Object.op_Implicit((Object)(object)Physics2D.OverlapCircle(<>4__this.SavePosition, 0.1f))) { <>4__this.player.data.block.DoBlockAtPosition(false, true, (BlockTriggerType)4, ((Component)<>4__this.player).transform.position, false); ((Component)<>4__this.player).GetComponent().IgnoreWallForFrames(2); ((Component)<>4__this.player).transform.position = Vector2.op_Implicit(<>4__this.SavePosition); } else { <>4__this.player.data.block.DoBlockAtPosition(false, true, (BlockTriggerType)4, Vector2.op_Implicit(<>4__this.SavePosition), false); } SoundManager.Instance.Play(<>4__this.SoundTeleport, ((Component)<>4__this.player.data).transform); ExtensionMethods.SetFieldValue((object)<>4__this.player.data.playerVel, "velocity", (object)Vector2.zero); <>4__this.player.data.sinceGrounded = 0f; <>4__this.ResetTeleport(); <>4__this.abilityUseTime = Time.time + abilityCooldown; return false; } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } public SoundEvent SoundTeleport; public static readonly float abilityCooldown = 3f; public static readonly float rewindDelay = 3f; private Player player; private float abilityUseTime; private bool DoTeleport = false; private GameObject lineEffectGO; private LineRenderer lineRenderer; private LineEffect lineEffect; private Vector2 SavePosition; private GameObject saveTeleportPosition; public GameObject SaveTeleportPositionPrefab; private float nextTime; private float numcheck; private void Start() { //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Expected O, but got Unknown //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00e6: Expected O, but got Unknown //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Unknown result type (might be due to invalid IL or missing references) abilityUseTime = Time.time; player = ((Component)this).GetComponentInParent(); Block block = player.data.block; block.BlockAction = (Action)Delegate.Combine(block.BlockAction, new Action(OnBlock)); ((Component)this).transform.localPosition = Vector3.zero; lineEffectGO = new GameObject("LineEffect"); lineEffectGO.transform.SetParent(((Component)this).transform); lineEffectGO.transform.localPosition = Vector3.zero; lineRenderer = lineEffectGO.AddComponent(); lineEffect = lineEffectGO.AddComponent(); lineRenderer.startWidth = 0.2f; ((Renderer)lineRenderer).material = new Material(Shader.Find("Unlit/Color")); ((Renderer)lineRenderer).material.color = Color.gray; lineRenderer.positionCount = 50; lineRenderer.useWorldSpace = true; lineRenderer.endWidth = lineRenderer.startWidth; lineEffect.lineType = (LineType)1; lineEffect.segments = lineRenderer.positionCount; lineEffect.globalTimeSpeed = 1f; lineEffect.loop = true; lineEffect.effects = (LineEffectInstance[])(object)new LineEffectInstance[0]; lineEffect.raycastCollision = false; } private void Update() { //IL_012d: Unknown result type (might be due to invalid IL or missing references) if (Time.time >= nextTime) { for (int i = 0; i <= player.data.currentCards.Count - 1; i++) { if (player.data.currentCards[i].cardName == "Rewind") { numcheck += 1f; } } if (numcheck > 0f) { ResetTimerLol(); return; } Object.Destroy((Object)(object)this); } if (player.data.dead || player.data.health <= 0f || !((Component)player).gameObject.activeInHierarchy) { ResetTeleport(); } lineEffect.radius = Math.Abs((float)Math.Sin(Time.time * 3f)) * 0.15f + ((Component)player).transform.root.localScale.x; } private void ResetTimerLol() { nextTime = Time.time + 0.1f; numcheck = 0f; } private void OnDestroy() { Block block = player.data.block; block.BlockAction = (Action)Delegate.Remove(block.BlockAction, new Action(OnBlock)); } private void OnDisable() { ResetTeleport(); } public void ResetTeleport() { //IL_0010: 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) ((MonoBehaviour)this).StopAllCoroutines(); DoTeleport = false; SavePosition = Vector2.zero; abilityUseTime = Time.time; lineEffect.Stop(); ((Component)lineEffect).gameObject.SetActive(false); } private void OnBlock(BlockTriggerType triggerType) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) if ((int)triggerType == 0 && !(Time.time < abilityUseTime)) { ((MonoBehaviour)this).StartCoroutine(useAbility()); } } [IteratorStateMachine(typeof(d__7))] private IEnumerator useAbility() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__7(0) { <>4__this = this }; } } internal class ShieldTemplateMono : MonoBehaviour { [CompilerGenerated] private sealed class d__16 : IEnumerator, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public ShieldTemplateMono <>4__this; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__16(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; <>2__current = (object)new WaitForSeconds(<>4__this.baseAbilityDuration); <>1__state = 1; return true; case 1: <>1__state = -1; return false; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class d__15 : IEnumerator, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public ShieldTemplateMono <>4__this; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__15(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { switch (<>1__state) { default: return false; case 0: <>1__state = -1; if (<>4__this.abilityActive) { return false; } <>4__this.abilityActive = true; <>4__this.lineEffect.Play(((Component)<>4__this.player).transform); if (!<>4__this.baseFollowPlayer) { <>4__this.lineEffect.Play((Transform)null); } <>4__this.onShieldEnable(); <>2__current = <>4__this.abilityWaitDuration(); <>1__state = 1; return true; case 1: <>1__state = -1; <>4__this.abilityActive = false; <>4__this.lineEffect.Stop(); ((Component)<>4__this.lineEffect).gameObject.SetActive(false); <>4__this.onShieldDisable(); return false; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } protected float baseAbilityCooldown; protected float baseAbilityDuration; protected float baseAbilityRadius; protected bool baseFollowPlayer; protected float baseSizeAffectedByPlayer; protected float SizeMult; protected float baseThickness; protected Vector3 ShieldPos; protected Transform ShieldPosTransform; public Vector3 ShieldPosReal; private float abilityUseTime; private GameObject lineEffectGO; private LineRenderer lineRenderer; private LineEffect lineEffect; private float nextTime; private float numcheck; private protected Player? player { get; set; } private protected bool abilityActive { get; set; } protected virtual void Start() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Expected O, but got Unknown //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Expected O, but got Unknown //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_013e: Unknown result type (might be due to invalid IL or missing references) ((Component)this).transform.localPosition = Vector3.zero; player = ((Component)this).GetComponentInParent(); Block block = player.data.block; block.BlockAction = (Action)Delegate.Combine(block.BlockAction, new Action(OnBlock)); lineEffectGO = new GameObject("LineEffect"); lineEffectGO.transform.SetParent(((Component)this).transform); lineEffectGO.transform.localPosition = Vector3.zero; lineRenderer = lineEffectGO.AddComponent(); lineEffect = lineEffectGO.AddComponent(); lineRenderer.startWidth = 1f; lineRenderer.endWidth = lineRenderer.startWidth; lineRenderer.widthMultiplier = baseThickness; ((Renderer)lineRenderer).material = new Material(Shader.Find("Unlit/Color")); ((Renderer)lineRenderer).material.color = Color.white; lineRenderer.positionCount = 50; lineRenderer.useWorldSpace = true; lineEffect.lineType = (LineType)1; lineEffect.radius = baseAbilityRadius; lineEffect.segments = lineRenderer.positionCount; lineEffect.globalTimeSpeed = 1f; lineEffect.loop = true; lineEffect.effects = (LineEffectInstance[])(object)new LineEffectInstance[0]; lineEffect.raycastCollision = baseFollowPlayer; lineEffect.widthMultiplier = baseThickness; } private void Update() { if (!(Time.time >= nextTime)) { return; } for (int i = 0; i <= player.data.currentCards.Count - 1; i++) { if (player.data.currentCards[i].cardName == "Barrier" || player.data.currentCards[i].cardName == "Healing Veil" || player.data.currentCards[i].cardName == "Acid Shield" || player.data.currentCards[i].cardName == "Magnetic Field") { numcheck += 1f; } } if (numcheck > 0f) { ResetTimerLol(); } else { Object.Destroy((Object)(object)this); } } private void ResetTimerLol() { nextTime = Time.time + 0.1f; numcheck = 0f; } protected virtual void FixedUpdate() { //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: Unknown result type (might be due to invalid IL or missing references) //IL_00df: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_00f8: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Unknown result type (might be due to invalid IL or missing references) //IL_0121: Unknown result type (might be due to invalid IL or missing references) if (player.data.dead || player.data.health <= 0f || !((Component)player).gameObject.activeInHierarchy) { abilityUseTime = Time.time; } if (!abilityActive) { return; } lineEffect.widthMultiplier = baseThickness; SizeMult = ((Component)this).transform.root.localScale.x * baseSizeAffectedByPlayer + (1f - baseSizeAffectedByPlayer); Collider2D[] array = Physics2D.OverlapCircleAll(Vector2.op_Implicit(((Component)player).transform.position), baseAbilityRadius * SizeMult, 32768); ShieldPosReal = ((Component)player).transform.position; if (!baseFollowPlayer) { array = Physics2D.OverlapCircleAll(Vector2.op_Implicit(ShieldPos), baseAbilityRadius * SizeMult, 32768); ShieldPosReal = ShieldPos; } for (int i = 0; i < array.Length; i++) { ProjectileHit componentInParent = ((Component)array[i]).gameObject.GetComponentInParent(); if (!((Object)(object)componentInParent == (Object)null) && bulletValidation(componentInParent)) { affectBullet(componentInParent); } } } protected virtual void OnDestroy() { Block block = player.data.block; block.BlockAction = (Action)Delegate.Remove(block.BlockAction, new Action(OnBlock)); } protected virtual void OnDisable() { ((MonoBehaviour)this).StopAllCoroutines(); abilityActive = false; abilityUseTime = Time.time; lineEffect.Stop(); ((Component)lineEffect).gameObject.SetActive(false); if (!abilityActive) { } } private void OnBlock(BlockTriggerType triggerType) { //IL_0001: 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_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) if ((int)triggerType == 0 && !(Time.time < abilityUseTime)) { abilityUseTime = Time.time + baseAbilityCooldown; ((MonoBehaviour)this).StartCoroutine(useAbility()); ShieldPos = ((Component)player).transform.position; ShieldPosReal = ((Component)player).transform.position; ShieldPosTransform = ((Component)player).transform; } } [IteratorStateMachine(typeof(d__15))] private IEnumerator useAbility() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__15(0) { <>4__this = this }; } [IteratorStateMachine(typeof(d__16))] protected virtual IEnumerator abilityWaitDuration() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__16(0) { <>4__this = this }; } protected virtual bool bulletValidation(ProjectileHit projectile) { return true; } protected virtual void affectBullet(ProjectileHit projectile) { } protected virtual void onShieldEnable() { } protected virtual void onShieldDisable() { } protected void setRadius(float newRadius) { baseAbilityRadius = newRadius; lineEffect.radius = baseAbilityRadius; } protected void setColor(Color color) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) ((Renderer)lineRenderer).material.color = color; } } 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().seconds = 2f; ExtensionMethods.SetFieldValue((object)((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent(), "inited", (object)false); typeof(LineEffect).InvokeMember("Init", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.InvokeMethod, null, ((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent(), new object[0]); ((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent().radius = 4.3f; ExtensionMethods.SetFieldValue((object)((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent(), "startWidth", (object)1f); ((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent().Play(); } } private readonly float maxDistance = 8f; public Block block; public Player player; public CharacterData data; public Gun gun; private Action gravy; private Action 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_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)Thornyvisu != (Object)null) { return Thornyvisu; } IEnumerable first = ((ObservableCollection)typeof(CardManager).GetField("activeCards", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null)).ToList(); List second = (List)typeof(CardManager).GetField("inactiveCards", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null); Thornyvisu = Object.Instantiate(((Component)(from card in first.Concat(second).ToList() where card.cardName.ToLower() == "overpower" select card).First()).GetComponent().AddObjectToPlayer.GetComponent().objectToSpawn[0], new Vector3(0f, 100000f, 0f), Quaternion.identity); ((Object)Thornyvisu).name = "E_Thorny"; Object.DontDestroyOnLoad((Object)(object)Thornyvisu); ParticleSystem[] componentsInChildren = Thornyvisu.GetComponentsInChildren(); for (int i = 0; i < componentsInChildren.Length; i++) { componentsInChildren[i].startColor = Color.green; } ((Component)Thornyvisu.transform.GetChild(1)).GetComponent().colorOverTime.colorKeys = (GradientColorKey[])(object)new GradientColorKey[1] { new GradientColorKey(Color.gray, 0f) }; Object.Destroy((Object)(object)((Component)Thornyvisu.transform.GetChild(2)).gameObject); ((Component)Thornyvisu.transform.GetChild(1)).GetComponent().offsetMultiplier = 0f; ((Component)Thornyvisu.transform.GetChild(1)).GetComponent().playOnAwake = true; Object.Destroy((Object)(object)Thornyvisu.GetComponent()); Thornyvisu.GetComponent().time = 0f; Object.Destroy((Object)(object)Thornyvisu.GetComponent()); Object.Destroy((Object)(object)Thornyvisu.GetComponent()); Thornyvisu.AddComponent(); return Thornyvisu; } set { } } private void Start() { player = ((Component)this).GetComponent(); block = ((Component)this).GetComponent(); data = ((Component)this).GetComponent(); gun = ((Component)this).GetComponent(); ResetEffectTimer(); ResetTimer(); canTrigger = true; hasTriggered = false; basic = block.BlockAction; if (Object.op_Implicit((Object)(object)block)) { gravy = GetDoBlockAction(player, block).Invoke; block.BlockAction = (Action)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 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_0165: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Unknown result type (might be due to invalid IL or missing references) //IL_017d: Unknown result type (might be due to invalid IL or missing references) //IL_01c9: Unknown result type (might be due to invalid IL or missing references) //IL_01ce: Unknown result type (might be due to invalid IL or missing references) //IL_01dc: Unknown result type (might be due to invalid IL or missing references) //IL_01e1: 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(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()).TakeDamage(80f * Vector2.down, Vector2.op_Implicit(((Component)array[i]).transform.position), ((Component)this.player.data.weaponHandler).gameObject, this.player, true, false); ((Damagable)((Component)((Component)this.player).transform).GetComponent()).TakeDamage(20f * 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 LiquidBulletsEffect : ReversibleEffect { private readonly Color color = Color.green; private ReversibleColorEffect colorEffect; private readonly float updateDelay = 0.05f; private float startTime; private float count; public override void OnOnEnable() { if ((Object)(object)colorEffect != (Object)null) { ((ColorEffect)colorEffect).Destroy(); } } public override void OnStart() { //IL_0050: Unknown result type (might be due to invalid IL or missing references) base.characterStatModifiersModifier.movementSpeed_mult = 0.4f; base.characterStatModifiersModifier.jump_mult = 0.6f; ResetTimer(); count = 0f; colorEffect = ((Component)base.player).gameObject.AddComponent(); ((ColorEffect)colorEffect).SetColor(color); colorEffect.SetLivesToEffect(1); } public override void OnUpdate() { if (Time.time >= startTime + updateDelay) { ResetTimer(); count += 0.05f; if (count >= 0.35f) { ((ReversibleEffect)this).Destroy(); } if (base.player.data.dead || base.player.data.health <= 0f || !((Component)base.player).gameObject.activeInHierarchy) { ResetTimer(); ((ReversibleEffect)this).Destroy(); } } } public override void OnOnDisable() { if ((Object)(object)colorEffect != (Object)null) { ((ColorEffect)colorEffect).Destroy(); } } public override void OnOnDestroy() { if ((Object)(object)colorEffect != (Object)null) { ((ColorEffect)colorEffect).Destroy(); } } private void ResetTimer() { startTime = Time.time; } } public class LiquidBulletsMono : HitSurfaceEffect { private class LiquidBulletsSpawner : 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(0.5f, 0.5f, 0.5f); ExtensionMethods.SetFieldValue((object)((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent(), "inited", (object)false); typeof(LineEffect).InvokeMember("Init", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.InvokeMethod, null, ((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent(), new object[0]); ((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent().radius = 1f; ExtensionMethods.SetFieldValue((object)((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent(), "startWidth", (object)1f); ((Component)((Component)this).gameObject.transform.GetChild(1)).GetComponent().Play(); } } private static GameObject liquidbulletsVisu; public Block block; public Player player; public CharacterData data; public Gun gun; public float damage; public Color col; public static SoundEvent fieldsound; private SoundParameterIntensity soundParameterIntensity = new SoundParameterIntensity(0.4f, (UpdateMode)0); public static GameObject LiquidbulletsVisual { 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_015d: 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_016c: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)liquidbulletsVisu != (Object)null) { return liquidbulletsVisu; } IEnumerable first = ((ObservableCollection)typeof(CardManager).GetField("activeCards", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null)).ToList(); List second = (List)typeof(CardManager).GetField("inactiveCards", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null); liquidbulletsVisu = Object.Instantiate(((Component)(from card in first.Concat(second).ToList() where card.cardName.ToLower() == "overpower" select card).First()).GetComponent().AddObjectToPlayer.GetComponent().objectToSpawn[0], new Vector3(0f, 100000f, 0f), Quaternion.identity); ((Object)liquidbulletsVisu).name = "E_Pulsar"; Object.DontDestroyOnLoad((Object)(object)liquidbulletsVisu); ParticleSystem[] componentsInChildren = liquidbulletsVisu.GetComponentsInChildren(); for (int i = 0; i < componentsInChildren.Length; i++) { componentsInChildren[i].startColor = Color.green; } ((Component)liquidbulletsVisu.transform.GetChild(1)).GetComponent().colorOverTime.colorKeys = (GradientColorKey[])(object)new GradientColorKey[1] { new GradientColorKey(new Color(1f, 1f, 1f, 1f), 0f) }; Object.Destroy((Object)(object)((Component)liquidbulletsVisu.transform.GetChild(2)).gameObject); ((Component)liquidbulletsVisu.transform.GetChild(1)).GetComponent().offsetMultiplier = 0f; ((Component)liquidbulletsVisu.transform.GetChild(1)).GetComponent().playOnAwake = true; Object.Destroy((Object)(object)liquidbulletsVisu.GetComponent()); liquidbulletsVisu.GetComponent().time = 0f; Object.Destroy((Object)(object)liquidbulletsVisu.GetComponent()); Object.Destroy((Object)(object)liquidbulletsVisu.GetComponent()); Object.Destroy((Object)(object)liquidbulletsVisu.GetComponent()); Object.Destroy((Object)(object)liquidbulletsVisu.GetComponent()); liquidbulletsVisu.AddComponent(); liquidbulletsVisu.AddComponent().seconds = 1f; return liquidbulletsVisu; } set { } } private void Awake() { player = ((Component)this).GetComponent(); block = ((Component)this).GetComponent(); data = ((Component)this).GetComponent(); gun = ((Component)this).GetComponent(); } public override void Hit(Vector2 position, Vector2 normal, Vector2 velocity) { //IL_0006: 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_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0045: 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_0053: 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_00f0: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: Unknown result type (might be due to invalid IL or missing references) //IL_0107: Unknown result type (might be due to invalid IL or missing references) //IL_010c: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Unknown result type (might be due to invalid IL or missing references) //IL_011d: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) Object.Instantiate(LiquidbulletsVisual, Vector2.op_Implicit(position), Quaternion.identity); Vector2 val = Vector2.op_Implicit(((Component)block).transform.position); Player[] array = PlayerManager.instance.players.ToArray(); for (int i = 0; i < array.Length; i++) { if (Vector2.Distance(position, Vector2.op_Implicit(((Component)array[i]).transform.position)) < 6f && !array[i].data.block.IsBlocking()) { ((Component)array[i]).gameObject.GetComponent(); Player component = ((Component)array[i]).gameObject.GetComponent(); ((Component)array[i]).gameObject.GetComponent(); component.data.healthHandler.DoDamage(player.data.weaponHandler.gun.damage * 55f / (4f + Vector2.Distance(position, Vector2.op_Implicit(((Component)array[i]).transform.position)) / 1f) * Vector2.down, Vector2.op_Implicit(((Component)component).transform.position), Color.green, ((Component)player.data.weaponHandler).gameObject, player, false, true, false); } } } } 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(); 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(); gun = ((Component)((Component)player).GetComponent().holdable).GetComponent(); data = ((Component)player).GetComponent(); healthHandler = ((Component)player).GetComponent(); gravity = ((Component)player).GetComponent(); block = ((Component)player).GetComponent(); gunAmmo = ((Component)gun).GetComponentInChildren(); 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(); } } } 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(); } private void Start() { ResetEffectTimer(); ResetTimer(); } public void Destroy() { Object.Destroy((Object)(object)this); } private void Update() { //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Unknown result type (might be due to invalid IL or missing references) //IL_00e5: 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 * 3f, Vector2.zero, (GameObject)null, (Player)null, false, true); if (Mathf.Floor(player.data.health) <= 1f) { player.data.stats.AddSlowAddative(0.15f, 0.6f, false); Player component = ((Component)this).gameObject.GetComponent(); ((Component)component).gameObject.AddComponent(); } } else { Object.Destroy((Object)(object)this); } } 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(); 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().data.dead || ((Component)this).GetComponent().data.health <= 0f || !((Component)((Component)this).GetComponent()).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() != (Object)null) { ((Component)this).GetComponentInParent().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(); ProjectileHit componentInParent = ((Component)this).GetComponentInParent(); DamageOverTime component = ((Component)hit.transform).GetComponent(); 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().ownWeapon, ((Component)this).GetComponentInParent().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(); myPosition = ((Component)player).transform.position; lineRenderer = ((Component)this).gameObject.AddComponent(); 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(); myPosition = ((Component)player).transform.position; lineRenderer = ((Component)this).gameObject.AddComponent(); 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(); gun = player.data.weaponHandler.gun; Gun obj = gun; obj.ShootPojectileAction = (Action)Delegate.Combine(obj.ShootPojectileAction, new Action(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)Delegate.Remove(obj.ShootPojectileAction, new Action(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(); } 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.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(); } 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 "Vacuum"; } 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)3; } public override string GetModName() { return "PeCa|Broken/Bad"; } } 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.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_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Expected O, but got Unknown //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Expected O, but got Unknown gun.projectileColor += Color.green; gun.attackSpeed /= 1.25f; List 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 deal 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 = "+25%", 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 AcidShield : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; block.cdAdd = 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_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown GameObject val = new GameObject("A_SAN-NAH_AcidShield"); val.transform.SetParent(((Component)player).transform); val.AddComponent(); characterStats.objectsAddedToPlayer.Add(val); } 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 Shield"; } protected override string GetDescription() { return "Blocking creates a field that reduces enemies bullets damage and speed. (CD of 4s)"; } 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 = "+30%", 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)5; } public override string GetModName() { return "PeCa/SANYA"; } } 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) { HealthBasedEffect val = ((Component)player).gameObject.AddComponent(); ((ReversibleEffect)val).gunStatModifier.attackSpeed_mult = 0.625f; ((ReversibleEffect)val).gunAmmoStatModifier.reloadTimeMultiplier_mult = 0.5f; ((ReversibleEffect)val).characterStatModifiersModifier.movementSpeed_mult = 1.3f; val.SetPercThresholdMax(0.6f); } 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 "When below 60% HP, gain:"; } 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 = "ATKSPD", amount = "+75%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Reload speed", amount = "+50%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Movement speed", amount = "+30%", simepleAmount = (SimpleAmount)3 } }; } 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 AmmoCrate : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.ammo = 12; statModifiers.movementSpeed = 0.7f; statModifiers.jump = 0.8f; gun.reloadTimeAdd = 0.5f; gun.spread = 0.03f; } 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 "Ammo Crate"; } 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)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 //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[4] { new CardInfoStat { positive = true, stat = "Ammo", amount = "+12", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Movement speed", amount = "-30%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Jump height", amount = "-20%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Reload speed", 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 Barrier : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown GameObject val = new GameObject("A_SAN-NAH_Barrier"); val.transform.SetParent(((Component)player).transform); val.AddComponent(); characterStats.objectsAddedToPlayer.Add(val); } 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 "Barrier"; } protected override string GetDescription() { return "Blocking creates a barrier that destroyes enemy bullets. Barrier durability depends on player health."; } 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_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[1] { new CardInfoStat { positive = false, stat = "Ability cooldown", amount = $"{BarrierMono.abilityCooldown}s", 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/SANYA"; } } internal class Bite : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { block.cdAdd = 0.5f; statModifiers.lifeSteal = 0.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(); } 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 = "Life steal", 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 BloodSiphon : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.reloadTime = 0.7f; gun.attackSpeed = 0.5f; statModifiers.lifeSteal = 0.35f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //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_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //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) BloodyBulletsSelfDamageMono bloodyBulletsSelfDamageMono = ((Component)player).gameObject.AddComponent(); gun.projectileColor += Color.red; gun.projectileColor += Color.black; } 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 "Blood Siphon"; } protected override string GetDescription() { return "Shooting costs a small amount of your bullet DMG as HP."; } 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 = "ATKSPD", amount = "+100%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Reload speed", amount = "+30%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Life steal", amount = "+35%", 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) { gun.reloadTimeAdd = 0.25f; block.cdAdd = 2f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { gun.damage *= 2f; } 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 = "DMG", amount = "+100%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Block cooldown", amount = "+2s", 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)0; } public override string GetModName() { return "PeCa"; } } internal class BulletCalibration : CustomCard { private int num; public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.reloadTimeAdd = 0.5f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { if (gun.reflects > 0) { num = Mathf.Min(gun.reflects, 5); gun.reflects -= num; gun.damage *= 1f + 0.25f * (float)num; } } 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 Calibration"; } protected override string GetDescription() { return "+25% DMG per removed bullet bounce."; } 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 = false, stat = "Bullet bounces", amount = "-5", 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/SANYA"; } public static bool Validation(Player player, CardInfo card) { return ((Object)card).name != "Bullet Calibration" || player.data.weaponHandler.gun.reflects > 0; } } internal class Bullseye : CustomCard { public static CardInfo instance; public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.projectileSpeed = 1.25f; gun.reloadTimeAdd = 0.25f; gun.multiplySpread = 0.3f; gun.evenSpread = 0.3f; gun.attackSpeed = 1.5f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { gun.damage *= 1.25f; } 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 "Bullseye"; } protected override string GetDescription() { return "Reduces the spread of your bullets."; } 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 //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 //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[4] { new CardInfoStat { positive = true, stat = "DMG", amount = "+25%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Bullet speed", amount = "+25%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "ATKSPD", amount = "-50%", 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)1; } public override string GetModName() { return "PeCa"; } public override bool GetEnabled() { return true; } } internal class Cloud : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.gravity = 0.25f; gun.drag = 0.25f; gun.ammo = 4; gun.numberOfProjectiles = 6; gun.spread = 0.1f; gun.evenSpread = 0.05f; gun.slow = 0.4f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) gun.damage *= 0.4f; gun.projectileColor += new Color(127f, 178f, 178f); gun.projectileColor += Color.cyan; gun.projectileColor += Color.blue; } 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 "Cloud"; } protected override string GetDescription() { return "Bullets have 75% less gravity."; } 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 //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[4] { new CardInfoStat { positive = true, stat = "Bullets", amount = "+6", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "AMMO", amount = "+4", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Bullet slow", amount = "40%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "DMG", amount = "-60%", 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)7; } public override string GetModName() { return "PeCa"; } } internal class CorrosiveJelly : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.attackSpeed = 1.25f; gun.reloadTimeAdd = 0.25f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) gun.damage *= 0.925f; gun.projectileColor += Color.magenta; ((Component)player).gameObject.AddComponent(); } 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 "Corrosive Jelly"; } protected override string GetDescription() { return "Bullets reduce the enemies max HP for 6 sec"; } 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 = false, stat = "DMG", amount = "-15%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "ATKSPD", amount = "-25%", 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|Broken/Bad"; } } internal class Cowardice : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; gun.reloadTimeAdd = 0.5f; block.cdMultiplier = 0.4f; statModifiers.health = 0.7f; } 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 "Cowardice"; } 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 = "-60%", 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)2; } public override string GetModName() { return "PeCa"; } } internal class DoubleEdgedBullets : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.reloadTimeAdd = 0.25f; gun.ammo = -1; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { gun.damage *= 2f; DoubleEdgedBulletsMono doubleEdgedBulletsMono = ((Component)player).gameObject.AddComponent(); doubleEdgedBulletsMono.player = player; } 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 "Double Edged Bullets"; } protected override string GetDescription() { return "Shooting costs a small amount of your bullet DMG as HP."; } 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 = "DMG", amount = "+100%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Ammo", amount = "-1", 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)0; } public override string GetModName() { return "PeCa"; } } internal class DropShot : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.speedMOnBounce = 0.25f; gun.reloadTime = 0.7f; gun.reflects = 1; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) ObjectsToSpawn item = ((GameObject)Resources.Load("0 cards/Mayhem")).GetComponent().objectsToSpawn[0]; List list = gun.objectsToSpawn.ToList(); list.Add(item); 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 "Drop Ball"; } protected override string GetDescription() { return "Bullets lose 75% of their speed on bounce"; } 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 = "Bullet Bounce", amount = "+1", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Reload speed", amount = "+30%", 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)1; } public override string GetModName() { return "PeCa|Broken/Bad"; } } internal class drugs : 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) { HealthBasedEffect val = ((Component)player).gameObject.AddComponent(); ((ReversibleEffect)val).blockModifier.cdMultiplier_mult = 0.6f; ((ReversibleEffect)val).characterStatModifiersModifier.lifeSteal_add = 0.75f; ((ReversibleEffect)val).characterStatModifiersModifier.secondsToTakeDamageOver_add = 4f; val.SetPercThresholdMax(0.6f); } 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 "drugs"; } protected override string GetDescription() { return "When below 60% HP, gain:"; } 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 = "Life steal", amount = "+75%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Block cooldown", amount = "-60%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Decay", amount = "+4s", simepleAmount = (SimpleAmount)3 } }; } 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 EvasiveManeuvers : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { block.forceToAdd = -13f; statModifiers.health = 1.4f; block.cdMultiplier = 0.9f; cardInfo.allowMultiple = false; } 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 "Evasive Maneuvers"; } protected override string GetDescription() { return "Jump backwards when you block"; } 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 = "Health", amount = "+40%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Block Cooldown", amount = "-10%", 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|Broken/Bad"; } } internal class Exorcism : 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) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown GameObject val = new GameObject("EXORCISM"); val.transform.SetParent(((Component)player).transform); val.AddComponent(); characterStats.objectsAddedToPlayer.Add(val); } 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 "Exorcism"; } protected override string GetDescription() { return "Blocking triggers four more delayed blocks"; } 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 //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[4] { new CardInfoStat { positive = true, stat = "HP", amount = "+80%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "DMG", amount = "+50%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Reload time", amount = "-30%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Block cooldown", amount = "+8s", 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 Firework : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { block.forceToAddUp = 15f; block.cdAdd = 0.25f; cardInfo.allowMultiple = false; statModifiers.health = 1.25f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { ((Component)player).gameObject.AddComponent(); } 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 "Firework"; } protected override string GetDescription() { return "Launch upwards when you block. After blocking, you decend slowly and regenerate while falling. (CD of 1s)"; } 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.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 Flutter : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { statModifiers.numberOfJumps = 9; statModifiers.jump = 0.6f; statModifiers.health = 0.875f; statModifiers.movementSpeed = 1.1f; } 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 "Flutter"; } 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)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 //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[4] { new CardInfoStat { positive = true, stat = "Jumps", amount = "+9", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Movement speed", amount = "+10%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Jump height", amount = "-40%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Health", amount = "-25%", 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|Broken/Bad"; } } internal class Frostbite : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.slow = 0.5f; statModifiers.lifeSteal = 0.25f; gun.reloadTimeAdd = 0.25f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Expected O, but got Unknown //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Expected O, but got Unknown //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_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) List list = gun.objectsToSpawn.ToList(); ObjectsToSpawn val = new ObjectsToSpawn(); val.AddToProjectile = new GameObject("Frost-Tick-Damage", new Type[1] { typeof(FrostbiteDamageMono) }); list.Add(val); gun.objectsToSpawn = list.ToArray(); gun.damage *= 1.5f; gun.projectileColor += Color.cyan; gun.projectileColor += Color.blue; } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { FrostbiteDamageMono[] components = ((Component)this).gameObject.GetComponents(); FrostbiteDamageMono[] array = components; foreach (FrostbiteDamageMono frostbiteDamageMono in array) { if ((Object)(object)frostbiteDamageMono != (Object)null) { frostbiteDamageMono.Destroy(); } } FrostbiteMono[] components2 = ((Component)this).gameObject.GetComponents(); FrostbiteMono[] array2 = components2; foreach (FrostbiteMono frostbiteMono in array2) { if ((Object)(object)frostbiteMono != (Object)null) { frostbiteMono.Destroy(); } } } protected override string GetTitle() { return "Frostbite"; } protected override string GetDescription() { return "Bullets deal 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 //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[4] { new CardInfoStat { positive = true, stat = "Bullet slow", amount = "+50%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "DMG", amount = "+50%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Lifesteal", amount = "+25%", 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)7; } public override string GetModName() { return "PeCa"; } } internal class FrozenBullets : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) gun.slow = 1.1f; gun.attackSpeed = 1.75f; gun.reloadTimeAdd = 0.5f; gun.projectileColor += Color.cyan; } 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 "Frozen Bullets"; } 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)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 = "Bullet slow", amount = "+110%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "ATKSPD", 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)7; } public override string GetModName() { return "PeCa"; } } internal class Grounded : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { block.cdAdd = 0.25f; statModifiers.health = 1.4f; 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(); } 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 "Grounded"; } protected override string GetDescription() { return "Blocking grounds nearby enemies and deals damage."; } 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 = "Health", amount = "+40%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Block cooldown", 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)6; } public override string GetModName() { return "PeCa"; } } internal class HealingVeil : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown GameObject val = new GameObject("Healing_Veil"); val.transform.SetParent(((Component)player).transform); val.AddComponent(); characterStats.objectsAddedToPlayer.Add(val); } 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 "Healing Veil"; } protected override string GetDescription() { return "Blocking creates a healing veil that heals you over time. It can be destroyed by enemy bullets."; } 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_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[1] { new CardInfoStat { positive = false, stat = "Ability cooldown", amount = $"{HealingVeilMono.abilityCooldown}s", 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)6; } public override string GetModName() { return "PeCa"; } } internal class HeavyBullets : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.gravity = 1.6f; gun.drag = 0.2f; gun.reloadTimeAdd = 0.5f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { gun.damage *= 1.6f; } 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 "Heavy Bullets"; } protected override string GetDescription() { return "Your bullets are twice as heavy."; } 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 = "DMG", amount = "+60%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Bullet drag", 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)1; } public override string GetModName() { return "PeCa"; } } internal class Hyperball : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { //IL_0020: 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_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) gun.reflects = 3; gun.reloadTimeAdd = 0.25f; gun.gravity = 0.2f; gun.projectileColor += new Color(251f, 198f, 207f); } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { //IL_001d: Unknown result type (might be due to invalid IL or missing references) gun.attackSpeed /= 1.25f; ObjectsToSpawn item = ((GameObject)Resources.Load("0 cards/Mayhem")).GetComponent().objectsToSpawn[0]; List list = gun.objectsToSpawn.ToList(); list.Add(item); 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 "Hyperball"; } protected override string GetDescription() { return "Bullets have 80% less gravity"; } 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 = "Bullet bounces", amount = "+3", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "ATKSPD", amount = "+25%", 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 Jetpack : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) gun.projectileSpeed = 1.5f; gun.reloadTimeAdd = 0.5f; gun.ammo = 7; gun.attackSpeed = 0.3f; gun.projectileColor += new Color(255f, 180f, 0f); gun.spread = 0.115f; gun.bodyRecoil = 10f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { gun.damage *= 0.4f; } 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 "Jetpack"; } protected override string GetDescription() { return "Bullets have recoil, enough to sustain flight"; } 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 //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Expected O, but got Unknown //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_00c5: 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_00db: 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_00e3: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[5] { new CardInfoStat { positive = true, stat = "Ammo", amount = "+7", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Bullet speed", amount = "+50%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "ATKSPD", amount = "+140%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "DMG", amount = "-60%", 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)3; } public override string GetModName() { return "PeCa"; } } internal class Landmine : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; block.cdAdd = 0.25f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown GameObject val = new GameObject("Landmine"); val.transform.SetParent(((Component)player).transform); val.AddComponent(); characterStats.objectsAddedToPlayer.Add(val); } 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 "Landmine"; } protected override string GetDescription() { return "Blocking sets a landmine; your next block makes it blow up and trigger your on block abilities."; } 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 return (CardInfoStat[])(object)new CardInfoStat[1] { new CardInfoStat { positive = false, stat = "Block cooldown", 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)0; } public override string GetModName() { return "PeCa"; } } internal class LeadBullets : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.projectileSpeed = 0.625f; gun.reloadTimeAdd = 0.5f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Expected O, but got Unknown //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Expected O, but got Unknown gun.damage *= 2f; List list = gun.objectsToSpawn.ToList(); ObjectsToSpawn val = new ObjectsToSpawn(); val.AddToProjectile = new GameObject("Lead-Poisoning", new Type[1] { typeof(LeadBulletsMono) }); 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) { LeadBulletsMono[] components = ((Component)this).gameObject.GetComponents(); LeadBulletsMono[] array = components; foreach (LeadBulletsMono leadBulletsMono in array) { if ((Object)(object)leadBulletsMono != (Object)null) { leadBulletsMono.Destroy(); } } } protected override string GetTitle() { return "Lead Bullets"; } protected override string GetDescription() { return "Bullets deal damage over 2 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 = "DMG", amount = "+100%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Bullet speed", 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)1; } public override string GetModName() { return "PeCa|Broken/Bad"; } } internal class MagneticBullets : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.reflects = 2; gun.gravity = 0.5f; gun.projectileSpeed = 0.6f; cardInfo.allowMultiple = false; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0012: 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_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //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_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Expected O, but got Unknown //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) //IL_009c: Expected O, but got Unknown //IL_00b3: Unknown result type (might be due to invalid IL or missing references) gun.projectileColor += Color.white; gun.projectileColor += Color.black; gun.projectileColor += Color.red; gun.projectileColor += Color.yellow; GameObject val = new GameObject("SAN-NAH_magneticBullet"); ((Object)val).hideFlags = (HideFlags)61; val.AddComponent().ignoreTeamID = player.teamID; List list = gun.objectsToSpawn.ToList(); list.Add(new ObjectsToSpawn { AddToProjectile = val }); gun.objectsToSpawn = list.ToArray(); ObjectsToSpawn item = ((GameObject)Resources.Load("0 cards/Mayhem")).GetComponent().objectsToSpawn[0]; list.Add(item); 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 "Magnetic bullets"; } protected override string GetDescription() { return "Your bullets are magnetically attracted to enemies. Bullets have -50% gravity."; } 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 return (CardInfoStat[])(object)new CardInfoStat[2] { new CardInfoStat { positive = true, stat = "Bullet bounces", amount = "+2", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Bullet 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)3; } public override string GetModName() { return "PeCa/SANYA"; } } internal class MagneticField : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; block.cdAdd = 0.25f; statModifiers.health = 1.5f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown GameObject val = new GameObject("MagneticField"); val.transform.SetParent(((Component)player).transform); val.AddComponent(); characterStats.objectsAddedToPlayer.Add(val); } 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 "Magnetic Field"; } protected override string GetDescription() { return "Blocking creates a field that pushes away enemies and enemy bullets. (CD of 4s)"; } 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 = "+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)3; } public override string GetModName() { return "PeCa|Broken/Bad"; } } internal class Meditation : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { statModifiers.health = 0.85f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { ((Component)player).gameObject.AddComponent(); } 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 "Meditation"; } protected override string GetDescription() { return "You slowly regenerate while standing still"; } 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 return (CardInfoStat[])(object)new CardInfoStat[1] { new CardInfoStat { positive = false, stat = "HP", amount = "-30%", 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)6; } public override string GetModName() { return "PeCa"; } } internal class Moonboot : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { statModifiers.gravity = 0.2f; statModifiers.jump = 1.25f; statModifiers.health = 1.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 "Moonboot"; } protected override string GetDescription() { return "-80% gravity"; } 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 = "Jump height", amount = "+25%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Health", 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 Obese : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { statModifiers.movementSpeed = 0.7f; statModifiers.jump = 0.8f; gun.reloadTimeAdd = 0.5f; statModifiers.health = 2.5f; } 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 "Obese"; } 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 //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[4] { new CardInfoStat { positive = true, stat = "Health", amount = "+150%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Movement speed", amount = "-30%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Jump height", 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)2; } public override string GetModName() { return "PeCa"; } } internal class Overclocked : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { 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(); } 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 "Overclocked"; } protected override string GetDescription() { return "Blocking increases the damage and speed of your next shot. Your next shot also fires every bullet in your gun at once."; } 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() { return null; } 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)3; } public override string GetModName() { return "PeCa"; } } internal class Overclocker : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.reloadTime = 0.7f; } 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 "Overclocker"; } protected override string GetDescription() { return "+175% ATKSPD 5 sec after dealing DMG"; } 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 return (CardInfoStat[])(object)new CardInfoStat[1] { new CardInfoStat { positive = false, stat = "Reload speed", amount = "+30%", 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)3; } public override string GetModName() { return "PeCa"; } } internal class Packed : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.ammo = 5; gun.bursts = 4; gun.reflects = 2; gun.bulletDamageMultiplier = 0.3f; gun.reloadTimeAdd = 0.25f; } 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 "Packed"; } protected override string GetDescription() { return "Fire 4 bullets at once."; } 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 //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Expected O, but got Unknown //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_00c5: 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_00db: 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_00e3: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[5] { new CardInfoStat { positive = true, stat = "Ammo", amount = "+5", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Bullets", amount = "+3", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Bullet bounces", amount = "+2", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "DMG", amount = "-70%", 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)0; } public override string GetModName() { return "PeCa"; } } internal class PeaceTreaty : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.bulletDamageMultiplier = 0.8f; gun.reloadTimeAdd = 0.25f; gun.projectileSize = -0.2f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { base.statModifiers.regen = 12.5f; CharacterStatModifiers statModifiers = base.statModifiers; statModifiers.health *= 1.6f; ShootingDealsSelfDamageTemplate shootingDealsSelfDamageTemplate = ((Component)player).gameObject.AddComponent(); shootingDealsSelfDamageTemplate.player = player; } 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 "Peace Treaty"; } protected override string GetDescription() { return "Shooting costs 19 * DMG HP, but regenerate 12.5HP every second"; } 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 = "+60%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "DMG", amount = "-20%", 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)6; } public override string GetModName() { return "PeCa"; } } internal class Rain : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) gun.timeBetweenBullets = 0.05f; gun.bursts = 9; gun.ammo = 6; gun.gravity = 0.2f; gun.attackSpeed = 2.5f; gun.reloadTimeAdd = 0.25f; gun.projectileColor += Color.cyan; gun.spread = 0.03f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { gun.damage *= 0.5f; } 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 "Rain"; } protected override string GetDescription() { return "You fire all bullets in a sequence. Bullets are a fifth as heavy and float to the ground."; } 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 return (CardInfoStat[])(object)new CardInfoStat[1] { new CardInfoStat { positive = true, stat = "Effect", amount = "No", 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)7; } public override string GetModName() { return "PeCa|Broken/Bad"; } } internal class RapidFire : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.projectileSpeed = 2f; gun.reloadTimeAdd = 0.25f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { gun.damage /= 1.15f; gun.attackSpeed /= 2.3f; } 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 "Rapid Fire"; } 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)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 //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 //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[4] { new CardInfoStat { positive = true, stat = "Bullet speed", amount = "+100%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "ATKSPD", amount = "+130%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "DMG", amount = "-15%", 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)1; } public override string GetModName() { return "PeCa"; } } internal class Rewind : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown GameObject val = new GameObject("A_SAN-NAH_Rewind"); val.transform.SetParent(((Component)player).transform); val.AddComponent(); characterStats.objectsAddedToPlayer.Add(val); } 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 "Rewind"; } protected override string GetDescription() { return "Blocking sets a marker; your next block teleports you back to that marker, and triggers your block again."; } 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_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[1] { new CardInfoStat { positive = false, stat = "Ability cooldown", amount = $"{RewindMono.abilityCooldown}s", 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)3; } public override string GetModName() { return "PeCa/SANYA"; } } internal class RocketJump : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.reloadTimeAdd = 0.25f; gun.attackSpeed = 0.8f; gun.bodyRecoil = 300f; } 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 "Rocket Jump"; } protected override string GetDescription() { return "Shooting pushes you backwards"; } 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 = "ATKSPD", amount = "-20%", 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)3; } public override string GetModName() { return "PeCa|Broken/Bad"; } } internal class RocketLauncher : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.gravity = 0.7f; gun.reloadTimeAdd = 0.25f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Expected O, but got Unknown //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Expected O, but got Unknown gun.damage *= 1.3f; gun.projectileSize *= 1.15f; gun.knockback += 1f; List list = gun.objectsToSpawn.ToList(); ObjectsToSpawn val = new ObjectsToSpawn(); val.AddToProjectile = new GameObject("A_Rocket", new Type[1] { typeof(RocketLauncherMono) }); 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 "Rocket Launcher"; } protected override string GetDescription() { return "Adds a rocket launcher vibe to your attack"; } 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 = "DMG", amount = "+30%", 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)3; } public override string GetModName() { return "PeCa"; } } internal class SawedOffBarrel : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.ammo = 9; gun.numberOfProjectiles = 11; gun.evenSpread = 0.775f; gun.spread = 0.225f; gun.projectileSpeed = 1.5f; gun.drag = 1.2f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { gun.damage *= 0.3f; } 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 "Sawed Off Barrel"; } protected override string GetDescription() { return "Fire 12 bullets at once with a large spread."; } 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 //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Expected O, but got Unknown //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_00c5: 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_00db: 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_00e3: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[5] { new CardInfoStat { positive = true, stat = "Ammo", amount = "+9", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Bullets", amount = "+11", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Bullet speed", amount = "+50%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Bullet Drag", amount = "+120%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "DMG", amount = "-70%", 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 Springboots : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { statModifiers.numberOfJumps = 1; statModifiers.health = 1.3f; statModifiers.movementSpeed = 1.1f; } 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 "Spring boots"; } 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)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 //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 = "Jumps", amount = "+1", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Health", amount = "+30%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Movement speed", amount = "+10%", 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)3; } public override string GetModName() { return "PeCa"; } } internal class SpringLoaded : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.projectileSpeed = 1.25f; gun.reloadTimeAdd = 0.25f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { gun.knockback += 2.5f; gun.damage *= 1.25f; } 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 "Spring Loaded"; } protected override string GetDescription() { return "Bullets deal extra knockback"; } 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 //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 = "Bullet speed", amount = "+25%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "DMG", amount = "+25%", 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)1; } public override string GetModName() { return "PeCa"; } } internal class Thorny : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { block.cdAdd = 0.25f; statModifiers.health = 1.5f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { ((Component)player).gameObject.AddComponent(); } 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 "Thorny"; } protected override string GetDescription() { return "Blocking deals damage to yourself, but does triple the damage to surrounding enemies"; } 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 = "+50%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Block cooldown", 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)6; } public override string GetModName() { return "PeCa|Broken/Bad"; } } internal class ToxicSplash : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.attackSpeed = 1.2f; statModifiers.lifeSteal = 0.25f; gun.reloadTimeAdd = 0.25f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //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) ((Component)player).gameObject.AddComponent(); gun.projectileColor += Color.green; } 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 "Toxic Splash"; } protected override string GetDescription() { return "Bullets do splash damage. Splash damage gets stronger the closer the bullet lands and scales with bullet damage."; } 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 = "Lifesteal", amount = "+25%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "ATKSPD", amount = "-20%", 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)5; } public override string GetModName() { return "PeCa"; } } internal class Unicellular : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { statModifiers.health = 0.9f; statModifiers.movementSpeed = 1.2f; statModifiers.jump = 1.2f; } 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 "Unicellular"; } 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)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 //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 = "Movement speed", amount = "+20%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Jump height", amount = "+20%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "HP", amount = "-20%", 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 Vampire : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { statModifiers.movementSpeed = 1.2f; statModifiers.jump = 1.2f; statModifiers.lifeSteal = 0.35f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { VampireMonoV2 vampireMonoV = ((Component)player).gameObject.AddComponent(); vampireMonoV.player = player; CharacterStatModifiers statModifiers = base.statModifiers; statModifiers.health *= 1.4f; } 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 "Vampire"; } protected override string GetDescription() { return "You lose a small amount of HP every second"; } 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 //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[4] { new CardInfoStat { positive = true, stat = "Life steal", amount = "+35%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Health", amount = "+40%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Movement speed", amount = "+20%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Jump height", amount = "+20%", 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 WildAim : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.attackSpeed = 1.75f; gun.ammo = 3; gun.reloadTimeAdd = 0.25f; } 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 "Wild Aim"; } 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)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 //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 = "Ammo", amount = "+3", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "ATKSPD", amount = "-75%", 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)1; } public override string GetModName() { return "PeCa|Broken/Bad"; } } internal class BotTestCard : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.bulletDamageMultiplier = 0f; gun.reloadTimeAdd = 1000f; statModifiers.jump = 0f; statModifiers.movementSpeed = 0.25f; block.cdAdd = 1000f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { base.statModifiers.numberOfJumps = 0; } 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 "Lobotomy"; } 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 return (CardInfoStat[])(object)new CardInfoStat[1] { new CardInfoStat { positive = false, stat = "Lobotomies", amount = "+1", 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 TestCard : 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) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown GameObject val = new GameObject("TestCard"); val.transform.SetParent(((Component)player).transform); val.AddComponent(); characterStats.objectsAddedToPlayer.Add(val); } 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 "Test Card"; } protected override string GetDescription() { return "Was found in an abandoned laboratory. Probably contaminated with something. I wouldn't risk touching it."; } 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() { return (CardInfoStat[])(object)new CardInfoStat[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 Template : 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) { } 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 "CardName"; } protected override string GetDescription() { return "CardDescription"; } 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)7; } public override string GetModName() { return "PeCa"; } } }