Decompiled source of ChaosPoppycarsCardsCharacters v1.0.1
ChaosPoppycarsCardsCharacters.dll
Decompiled 2 months ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using CPCCharacters; using CPCCharacters.MonoBehaviours; using CPCCharacters.Shaders; using CPCComplex.MonoBehaviours; using CPCCore; using CPCCore.Extensions; using CPCCore.Utilities; using CardChoiceSpawnUniqueCardPatch.CustomCategories; using CardThemeLib; using ClassesManagerReborn; using ClassesManagerReborn.Util; using HarmonyLib; using Jotunn.Utils; using Microsoft.CodeAnalysis; using ModdingUtils.Extensions; using ModdingUtils.MonoBehaviours; using ModdingUtils.Utils; using Photon.Pun; using Photon.Realtime; using RarityLib.Utils; using TMPro; using UnboundLib; using UnboundLib.Cards; using UnboundLib.GameModes; using UnboundLib.Utils; using UnboundLib.Utils.UI; using UnityEngine; using UnityEngine.Events; using WillsWackyManagers.Utils; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETFramework,Version=v4.7.1", FrameworkDisplayName = ".NET Framework 4.7.1")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("0.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } public class ShroomCardObjectCode : MonoBehaviour { [Header("Settings")] public float damage = 25f; public bool lethal = true; public Player owner; private void Start() { } public void Go() { //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_005a: 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_0085: Unknown result type (might be due to invalid IL or missing references) //IL_0364: Unknown result type (might be due to invalid IL or missing references) //IL_0369: Unknown result type (might be due to invalid IL or missing references) //IL_0386: Unknown result type (might be due to invalid IL or missing references) //IL_0396: Unknown result type (might be due to invalid IL or missing references) //IL_03b6: Unknown result type (might be due to invalid IL or missing references) //IL_023d: Unknown result type (might be due to invalid IL or missing references) //IL_0242: Unknown result type (might be due to invalid IL or missing references) //IL_0247: Unknown result type (might be due to invalid IL or missing references) //IL_024c: Unknown result type (might be due to invalid IL or missing references) owner = ((Component)this).GetComponentInParent<SpawnedAttack>().spawner; foreach (Player otherPlayer in PlayerStatus.GetOtherPlayers(owner)) { if (!PlayerManager.instance.CanSeePlayer(Vector2.op_Implicit(((Component)this).transform.position), otherPlayer).canSee || !(Vector3.Distance(((Component)this).transform.position, ((Component)otherPlayer).transform.position) < ((Component)this).GetComponentInParent<PlayerInRangeTrigger>().range * ((Component)this).transform.root.localScale.x) || otherPlayer.data.dead) { continue; } if ((Object)(object)otherPlayer != (Object)null && (Object)(object)owner != (Object)null && otherPlayer.teamID == owner.teamID) { otherPlayer.data.healthHandler.Heal(damage / 2f + (float)CharacterStatModifiersExtension.GetAdditionalData(owner.data.stats).shroomsAmt * 0.2f * damage); if (PhotonNetwork.OfflineMode || otherPlayer.data.view.IsMine) { PixelateEffect orAddComponent = ExtensionMethods.GetOrAddComponent<PixelateEffect>(((Component)Camera.main).gameObject, false); orAddComponent.player = otherPlayer; if ((otherPlayer.data.view.IsMine || PhotonNetwork.OfflineMode) && ChaosPoppycarsCardsCharacters.ShroomAccess.Value) { orAddComponent.Material = ChaosPoppycarsCardsCharacters.Bundle.LoadAsset<Material>("ShaderTest 1"); } else if (otherPlayer.data.view.IsMine || PhotonNetwork.OfflineMode) { orAddComponent.Material = ChaosPoppycarsCardsCharacters.Bundle.LoadAsset<Material>("ShaderTest"); } Object.Destroy((Object)(object)orAddComponent, 5f); } } else { if (!((Object)(object)otherPlayer != (Object)null)) { continue; } ((Damagable)otherPlayer.data.healthHandler).TakeDamage((damage + (float)CharacterStatModifiersExtension.GetAdditionalData(owner.data.stats).shroomsAmt * 0.2f * damage) * Vector2.up, Vector2.down, Color.magenta, (GameObject)null, owner, lethal, true); if (PhotonNetwork.OfflineMode || otherPlayer.data.view.IsMine) { PixelateEffect orAddComponent2 = ExtensionMethods.GetOrAddComponent<PixelateEffect>(((Component)Camera.main).gameObject, false); orAddComponent2.player = otherPlayer; if ((otherPlayer.data.view.IsMine || PhotonNetwork.OfflineMode) && ChaosPoppycarsCardsCharacters.ShroomAccess.Value) { orAddComponent2.Material = ChaosPoppycarsCardsCharacters.Bundle.LoadAsset<Material>("ShaderTest 1"); } else if (otherPlayer.data.view.IsMine || PhotonNetwork.OfflineMode) { orAddComponent2.Material = ChaosPoppycarsCardsCharacters.Bundle.LoadAsset<Material>("ShaderTest"); } Object.Destroy((Object)(object)orAddComponent2, 5f); } } } if (!((Object)(object)owner != (Object)null) || !PlayerManager.instance.CanSeePlayer(Vector2.op_Implicit(((Component)this).transform.position), owner).canSee || !(Vector3.Distance(((Component)this).transform.position, ((Component)owner).transform.position) < ((Component)this).GetComponentInParent<PlayerInRangeTrigger>().range * ((Component)this).transform.root.localScale.x) || owner.data.dead) { return; } owner.data.healthHandler.Heal(damage / 2f + (float)CharacterStatModifiersExtension.GetAdditionalData(owner.data.stats).shroomsAmt * 0.2f * damage); if (PhotonNetwork.OfflineMode || owner.data.view.IsMine) { PixelateEffect orAddComponent3 = ExtensionMethods.GetOrAddComponent<PixelateEffect>(((Component)Camera.main).gameObject, false); orAddComponent3.player = owner; if ((owner.data.view.IsMine || PhotonNetwork.OfflineMode) && ChaosPoppycarsCardsCharacters.ShroomAccess.Value) { orAddComponent3.Material = ChaosPoppycarsCardsCharacters.Bundle.LoadAsset<Material>("ShaderTest 1"); } else if (owner.data.view.IsMine || PhotonNetwork.OfflineMode) { orAddComponent3.Material = ChaosPoppycarsCardsCharacters.Bundle.LoadAsset<Material>("ShaderTest"); } Object.Destroy((Object)(object)orAddComponent3, 5f); } } } public class VampnackMono : MonoBehaviour { [Header("Settings")] public bool lethal = true; public Player owner; private void Start() { owner = ((Component)this).gameObject.GetComponent<SpawnedAttack>().spawner; Object.Destroy((Object)(object)((Component)this).gameObject, 1.5f); } private void Update() { //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0126: Unknown result type (might be due to invalid IL or missing references) //IL_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) owner = ((Component)this).gameObject.GetComponent<SpawnedAttack>().spawner; if (!((Object)(object)owner != (Object)null) || (!owner.data.view.IsMine && !PhotonNetwork.OfflineMode)) { return; } Collider2D[] array = null; array = Physics2D.OverlapCircleAll(Vector2.op_Implicit(((Component)owner).transform.position), ((Component)owner).transform.localScale.z + 0.2f, LayerMask.GetMask(new string[1] { "Player" })); if (array == null) { return; } Collider2D[] array2 = array; foreach (Collider2D val in array2) { if ((Object)(object)((Component)val).gameObject.GetComponent<Player>() != (Object)null && ((Component)val).gameObject.GetComponent<Player>().playerID != owner.playerID) { Player component = ((Component)val).gameObject.GetComponent<Player>(); ((Damagable)((Component)component).GetComponent<HealthHandler>()).CallTakeDamage(new Vector2(0f, component.data.maxHealth * 0.15f), Vector2.op_Implicit(((Component)owner).transform.position), (GameObject)null, (Player)null, true); PhotonView component2 = ((Component)owner).GetComponent<PhotonView>(); ExtensionMethods.GetOrAddComponent<VampnackRPCMono>(((Component)owner).gameObject, false); component2.RPC("RPCASyncHeal", (RpcTarget)0, new object[2] { owner.playerID, component.data.maxHealth * 0.15f }); Object.Destroy((Object)(object)((Component)this).gameObject); } } } } namespace CPCComplex.MonoBehaviours { public class VampnackRPCMono : MonoBehaviour { [PunRPC] public void RPCASyncHeal(int playerID, float heal) { Player playerWithID = PlayerManager.instance.GetPlayerWithID(playerID); ((Component)playerWithID).GetComponent<HealthHandler>().Heal(heal); } } } namespace CPCCharacters { [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInPlugin("com.Poppycars.CPCCharacters.Id", "ChaosPoppycarsCardsCharacters", "1.0.1")] [BepInProcess("Rounds.exe")] public class ChaosPoppycarsCardsCharacters : BaseUnityPlugin { public static class CPCCardCategories { public static CardCategory NeedsWhynackAdrenaline = CustomCardCategories.instance.CardCategory("NeedsWhynackAdrenaline"); public static CardCategory NeedsWhynackArguing = CustomCardCategories.instance.CardCategory("NeedsWhynackArguing"); } [Serializable] [CompilerGenerated] private sealed class <>c { public static readonly <>c <>9 = new <>c(); public static UnityAction <>9__12_0; public static UnityAction<bool> <>9__13_0; internal void <Start>b__12_0() { } internal void <NewGUI>b__13_0(bool value) { ShroomAccess.Value = value; } } [CompilerGenerated] private sealed class <GameStart>d__15 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public IGameModeHandler gm; public ChaosPoppycarsCardsCharacters <>4__this; private List<Player>.Enumerator <>s__1; private Player <player>5__2; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <GameStart>d__15(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <player>5__2 = null; <>1__state = -2; } private bool MoveNext() { if (<>1__state != 0) { return false; } <>1__state = -1; <>s__1 = PlayerManager.instance.players.GetEnumerator(); try { while (<>s__1.MoveNext()) { <player>5__2 = <>s__1.Current; CharacterStatModifiersExtension.GetAdditionalData(<player>5__2.data.stats).blacklistedCategories.Add(CPCCardCategories.NeedsWhynackAdrenaline); CharacterStatModifiersExtension.GetAdditionalData(<player>5__2.data.stats).blacklistedCategories.Add(CPCCardCategories.NeedsWhynackArguing); <player>5__2 = null; } } finally { ((IDisposable)<>s__1).Dispose(); } 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 const string ModId = "com.Poppycars.CPCCharacters.Id"; private const string ModName = "ChaosPoppycarsCardsCharacters"; public const string Version = "1.0.1"; public const string ModInitials = "CPCCharacters"; internal static List<BaseUnityPlugin> plugins; public static ConfigEntry<bool> ShroomAccess; public static AssetBundle Bundle; public static ChaosPoppycarsCardsCharacters Instance { get; private set; } private void Awake() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Expected O, but got Unknown Bundle = AssetUtils.LoadAssetBundleFromResources("cpccharacters", typeof(ChaosPoppycarsCardsCharacters).Assembly); Harmony val = new Harmony("com.Poppycars.CPCCharacters.Id"); val.PatchAll(); GameObject val2 = Bundle.LoadAsset<GameObject>("ModCards"); CardHolder component = val2.GetComponent<CardHolder>(); component.RegisterCards(); ShroomAccess = ((BaseUnityPlugin)this).Config.Bind<bool>("com.Poppycars.CPCCharacters.Id", "Shroom_Access", false, "Make Shrooms less throw up inducing"); } private void Start() { //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_006c: Expected O, but got Unknown plugins = (List<BaseUnityPlugin>)typeof(Chainloader).GetField("_plugins", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null); Instance = this; ChaosPoppycarsCardsCore.RegisterCards(typeof(ChaosPoppycarsCardsCharacters).Assembly, Bundle); object obj = <>c.<>9__12_0; if (obj == null) { UnityAction val = delegate { }; <>c.<>9__12_0 = val; obj = (object)val; } Unbound.RegisterMenu("ChaosPoppycarsCardsCharacters", (UnityAction)obj, (Action<GameObject>)NewGUI, (GameObject)null, false); GameModeManager.AddHook("GameStart", (Func<IGameModeHandler, IEnumerator>)GameStart); ExtensionMethods.ExecuteAfterFrames((MonoBehaviour)(object)this, 60, (Action)delegate { CardManager.cards.Values.ToList().ForEach(delegate(Card card) { AddMod(card); }); }); } private void NewGUI(GameObject menu) { TextMeshProUGUI val = default(TextMeshProUGUI); MenuHandler.CreateText("ChaosPoppycarsCardsCharacters", menu, ref val, 60, false, (Color?)null, (TMP_FontAsset)null, (Material)null, (TextAlignmentOptions?)null); MenuHandler.CreateToggle(ShroomAccess.Value, "Make shrooms use the accessibility shader", menu, (UnityAction<bool>)delegate(bool value) { ShroomAccess.Value = value; }, 60, true, (Color?)null, (TMP_FontAsset)null, (Material)null, (TextAlignmentOptions?)null); MenuHandler.CreateText("", menu, ref val, 60, true, (Color?)null, (TMP_FontAsset)null, (Material)null, (TextAlignmentOptions?)null); } private void AddMod(Card card) { string text = "__Rarity-" + ((object)(Rarity)(ref card.cardInfo.rarity)).ToString(); CardCategory val = CustomCardCategories.instance.CardCategory(text); CardCategory[] categories = CollectionExtensions.AddToArray<CardCategory>(card.cardInfo.categories, val); card.cardInfo.categories = categories; } [IteratorStateMachine(typeof(<GameStart>d__15))] private IEnumerator GameStart(IGameModeHandler gm) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <GameStart>d__15(0) { <>4__this = this, gm = gm }; } } public class TopHat : MonoBehaviour { } } namespace CPCCharacters.Shaders { [ExecuteInEditMode] [RequireComponent(typeof(Camera))] public class PixelateEffect : MonoBehaviour { public Material Material; public Player player; private void OnRenderImage(RenderTexture src, RenderTexture dest) { if ((Object)(object)Material == (Object)null) { Graphics.Blit((Texture)(object)src, dest); return; } Graphics.Blit((Texture)(object)src, dest, Material, 0); if ((Object)(object)player != (Object)null && player.data.dead) { Object.Destroy((Object)(object)this); } } } } namespace CPCCharacters.Patches { [Serializable] [HarmonyPatch(typeof(Block), "TryBlock")] internal class TryBlockPatch { private static void Prefix(Block __instance) { //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_0070: 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_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) CharacterData data = __instance.data; if (CharacterStatModifiersExtension.GetAdditionalData(data.stats).whynackBlockForce) { if (data.block.forceToAdd != 0f) { ((Component)data.player).GetComponent<HealthHandler>().TakeForce(Vector2.op_Implicit(((Component)data.hand).transform.forward * data.block.forceToAdd * data.playerVel.mass * 10f), (ForceMode2D)1, false, false, 0f); } if (data.block.forceToAddUp != 0f) { ((Component)data.player).GetComponent<HealthHandler>().TakeForce(Vector2.op_Implicit(Vector3.up * data.block.forceToAddUp * data.playerVel.mass * 10f), (ForceMode2D)1, false, false, 0f); } } } } [Serializable] [HarmonyPatch(typeof(Block), "Update")] internal class BlockPatch { private static void Postfix(Block __instance) { CharacterData data = __instance.data; if (!(__instance.counter < __instance.Cooldown()) && (Object)(object)data != (Object)null && (Object)(object)data.player != (Object)null && CharacterStatModifiersExtension.GetAdditionalData(data.stats).whynackAd && !CharacterStatModifiersExtension.GetAdditionalData(data.stats).whynackHarmony && PlayerStatus.PlayerAliveAndSimulated(data.player)) { __instance.TryBlock(); } } } [Serializable] [HarmonyPatch(typeof(PlayerCollision), "FixedUpdate")] internal class PlayerCollisionPatch { private static void Prefix(PlayerCollision __instance) { //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0064: 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_006f: 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_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0089: 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_009a: Unknown result type (might be due to invalid IL or missing references) //IL_01ae: Unknown result type (might be due to invalid IL or missing references) //IL_01b9: Unknown result type (might be due to invalid IL or missing references) //IL_01be: Unknown result type (might be due to invalid IL or missing references) //IL_01c3: Unknown result type (might be due to invalid IL or missing references) CharacterData data = __instance.data; float num = __instance.cirCol.radius * ((Component)data).gameObject.transform.localScale.x; float num2 = __instance.cirCol.radius * ((Component)data).gameObject.transform.localScale.x * 0.75f; RaycastHit2D[] array = Physics2D.CircleCastAll(__instance.lastPos, num, Vector2.op_Implicit(((Component)data).gameObject.transform.position) - __instance.lastPos, Vector2.Distance(Vector2.op_Implicit(((Component)data).gameObject.transform.position), __instance.lastPos), LayerMask.op_Implicit(__instance.mask)); for (int i = 0; i < array.Length; i++) { if (!((Object)(object)((RaycastHit2D)(ref array[i])).transform.root == (Object)(object)((Component)data).gameObject.transform.root)) { NetworkPhysicsObject component = ((Component)((RaycastHit2D)(ref array[i])).transform).GetComponent<NetworkPhysicsObject>(); Player componentInParent = ((Component)((RaycastHit2D)(ref array[i])).transform).GetComponentInParent<Player>(); if ((Object)(object)componentInParent != (Object)null && ExtensionMethods.GetOrAddComponent<DamageCD>(((Component)((Component)data).transform).gameObject, false).duration <= 0f && CharacterStatModifiersExtension.GetAdditionalData(data.stats).whynackUpper && ((Component)data.player).GetComponent<PlayerVelocity>().velocity.y > 75f && (PhotonNetwork.IsMasterClient || PhotonNetwork.OfflineMode)) { ((Component)componentInParent).GetComponent<HealthHandler>().DoDamage(new Vector2(((Component)data.player).GetComponent<PlayerVelocity>().velocity.y * 0.85f, 0f), Vector2.op_Implicit(((Component)data).transform.position), Color.red, (GameObject)null, data.player, true, true, false); ExtensionMethods.GetOrAddComponent<DamageCD>(((Component)((Component)data).transform).gameObject, false).duration = 0.25f; } } } } } [Serializable] [HarmonyPatch(typeof(HealthHandler), "Heal")] internal class RegenerationPatch { private static void Prefix(HealthHandler __instance, ref float healAmount) { //IL_000e: 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_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) CharacterData data = __instance.data; if ((data.input.direction == Vector3.zero || data.input.direction == Vector3.down) && PlayerStatus.PlayerAliveAndSimulated(data.player) && CharacterStatModifiersExtension.GetAdditionalData(data.stats).whynackMeditating) { healAmount *= 1.5f; } } } [Serializable] [HarmonyPatch(typeof(WeaponHandler), "Update")] internal class WeaponHandlerPatch { private static void Prefix(WeaponHandler __instance) { CharacterData data = __instance.data; if (PlayerStatus.PlayerAliveAndSimulated(data.player) && CharacterStatModifiersExtension.GetAdditionalData(data.stats).whynackAd && !CharacterStatModifiersExtension.GetAdditionalData(data.stats).whynackHarmony) { __instance.input.shootWasPressed = true; __instance.input.shootIsPressed = true; } } } } namespace CPCCharacters.MonoBehaviours { [RequireComponent(typeof(PhotonView))] public class ChainLightning : MonoBehaviour, IPunInstantiateMagicCallback { [SerializeField] private UnityEvent onHit; [SerializeField] private float hitRange; [SerializeField] private float damage; private PhotonView view; private HashSet<Player> hitPlayers = new HashSet<Player>(); private Player target; private Player owner; private bool active = true; private void Awake() { view = ((Component)this).GetComponent<PhotonView>(); } private void FixedUpdate() { //IL_0072: Unknown result type (might be due to invalid IL or missing references) if (view.IsMine && active && InRange()) { hitPlayers.Add(target); TrySplit(); view.RPC("RPCA_DealDamage", (RpcTarget)0, new object[3] { GetScaledDamage(), ((Component)this).transform.position, owner.playerID }); ExtensionMethods.ExecuteAfterFrames((MonoBehaviour)(object)Unbound.Instance, 1, (Action)delegate { PhotonNetwork.Destroy(((Component)this).gameObject); }); active = false; } } private bool InRange() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) return Vector3.Distance(((Component)this).transform.position, ((Component)target).transform.position) <= hitRange; } private float GetScaledDamage() { return damage * (Mathf.Abs(owner.data.block.forceToAdd) + 1f) * (Mathf.Abs(owner.data.block.forceToAddUp) + 1f); } [PunRPC] private void RPCA_DealDamage(float damage, Vector3 position, int ownerId) { //IL_001d: 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_0029: Unknown result type (might be due to invalid IL or missing references) Player playerWithID = PlayerManager.instance.GetPlayerWithID(ownerId); ((Damagable)target.data.healthHandler).TakeDamage(Vector2.up * damage, Vector2.op_Implicit(position), (GameObject)null, playerWithID, true, false); UnityEvent obj = onHit; if (obj != null) { obj.Invoke(); } } private void TrySplit() { IEnumerable<Player> enumerable = from p in PlayerManager.instance.players.Except(hitPlayers) where PlayerStatus.PlayerAliveAndSimulated(p) && PlayerManager.instance.CanSeePlayer(Vector2.op_Implicit(((Component)this).transform.position), p).canSee select p; foreach (Player item in enumerable) { item.data.stats.health = 10000f; } } public void OnPhotonInstantiate(PhotonMessageInfo info) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) object[] instantiationData = info.photonView.InstantiationData; if (instantiationData.Length == 3) { int num = (int)instantiationData[0]; int[] ignorePlayerIds = (int[])instantiationData[1]; int num2 = (int)instantiationData[2]; owner = PlayerManager.instance.GetPlayerWithID(num); IEnumerable<Player> other = PlayerManager.instance.players.Where((Player p) => Extensions.Contains(ignorePlayerIds, p.playerID)); hitPlayers.UnionWith(other); target = PlayerManager.instance.GetPlayerWithID(num2); } } } public class DamageCD : MonoBehaviour { public float duration = 0f; private Player player; public void Awake() { player = ((Component)this).GetComponentInParent<Player>(); } public void Update() { if (!(duration <= 0f)) { duration -= TimeHandler.deltaTime; } } } internal class FlipGravEffect : ReversibleEffect { private float duration = 0f; public override void OnOnDestroy() { Block block = base.data.block; block.BlockAction = (Action<BlockTriggerType>)Delegate.Remove(block.BlockAction, new Action<BlockTriggerType>(OnBlock)); } private void OnBlock(BlockTriggerType trigger) { if (duration <= 0f) { ((ReversibleEffect)this).ApplyModifiers(); } duration += 2f; } public override void OnStart() { base.gravityModifier.gravityForce_mult = -1f; base.characterStatModifiersModifier.sizeMultiplier_mult = -1f; base.characterStatModifiersModifier.jump_mult = -1f; Block block = base.data.block; block.BlockAction = (Action<BlockTriggerType>)Delegate.Combine(block.BlockAction, new Action<BlockTriggerType>(OnBlock)); ((ReversibleEffect)this).SetLivesToEffect(int.MaxValue); } public override void OnUpdate() { if (!(duration <= 0f)) { duration -= TimeHandler.deltaTime; } else { ((ReversibleEffect)this).ClearModifiers(true); } } public override void OnOnDisable() { duration = 0f; ((ReversibleEffect)this).ClearModifiers(true); } } internal class WhynackBlockMono : MonoBehaviour { internal Player player; internal CharacterData data; private Vector2 lastPosition; private float timePass = 0f; private float secondCount = 0f; private void Start() { data = ((Component)this).GetComponentInParent<CharacterData>(); HealthHandler healthHandler = data.healthHandler; healthHandler.reviveAction = (Action)Delegate.Combine(healthHandler.reviveAction, new Action(ResetStuff)); } private void OnDestroy() { HealthHandler healthHandler = data.healthHandler; healthHandler.reviveAction = (Action)Delegate.Combine(healthHandler.reviveAction, new Action(ResetStuff)); } public void Awake() { //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) player = ((Component)this).gameObject.GetComponent<Player>(); data = ((Component)player).GetComponent<CharacterData>(); lastPosition = data.playerVel.position; } private void Update() { //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_0028: 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_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) if (data.input.direction == Vector3.zero || data.input.direction == Vector3.down || (data.input.direction == Vector3.up && PlayerStatus.PlayerAliveAndSimulated(player))) { timePass += TimeHandler.deltaTime; if (timePass > 0.1f) { Block block = data.block; block.counter += 0.075f; timePass = 0f; } } else { timePass = 0f; } if (data.health <= 0f) { timePass = 0f; } } private void ResetStuff() { timePass = 0f; } public void Destroy() { Object.Destroy((Object)(object)this); } } } namespace CPCCharacters.Cards { internal class FWPhantom : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.reflects = 3; gun.spread = 0.2f; block.cdAdd = 0.25f; gun.reloadTimeAdd = 0.25f; gun.numberOfProjectiles = 1; CPCDebug.Log((object)("[CPCCharacters][Card] " + ((CustomCard)this).GetTitle() + " has been setup.")); } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCCharacters", ((CustomCard)this).GetTitle(), player.playerID)); } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "CPCCharacters", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "FWPhantom"; } protected override string GetDescription() { return "<#A020F0><i><b>What goes here?</b></i></color> (not from Cards+)"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsCharacters.Bundle.LoadAsset<GameObject>("C_Phantom"); } 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 = "Bounces", amount = "+3", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Projectiles", amount = "+1", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Reload Time", amount = "+0.25s", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Block Cooldown", amount = "+0.25s", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Spread", 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 "CPC"; } } internal class Peptide : CustomCard { public static CardCategory[] noLotteryCategories = (CardCategory[])(object)new CardCategory[2] { CustomCardCategories.instance.CardCategory("CardManipulation"), CustomCardCategories.instance.CardCategory("NoRandom") }; public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { CardInfoExtension.GetAdditionalData(cardInfo).canBeReassigned = false; cardInfo.categories = (CardCategory[])(object)new CardCategory[3] { CustomCardCategories.instance.CardCategory("CardManipulation"), CurseManager.instance.curseSpawnerCategory, RerollManager.instance.NoFlip }; CPCDebug.Log((object)("[CPCCharacters][Card] " + ((CustomCard)this).GetTitle() + " has been setup.")); } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { ExtensionMethods.ExecuteAfterFrames((MonoBehaviour)(object)ChaosPoppycarsCardsCharacters.Instance, 10, (Action)delegate { CardInfo randomCardWithCondition = Cards.instance.GetRandomCardWithCondition(player, gun, gunAmmo, data, health, gravity, block, characterStats, (Func<CardInfo, Player, Gun, GunAmmo, CharacterData, HealthHandler, Gravity, Block, CharacterStatModifiers, bool>)RareCondition, 1000); CardInfo randomCardWithCondition2 = Cards.instance.GetRandomCardWithCondition(player, gun, gunAmmo, data, health, gravity, block, characterStats, (Func<CardInfo, Player, Gun, GunAmmo, CharacterData, HealthHandler, Gravity, Block, CharacterStatModifiers, bool>)RareCondition, 1000); Cards.instance.AddCardToPlayer(player, randomCardWithCondition, false, "", 2f, 2f, true); CardBarUtils.instance.ShowImmediate(player, randomCardWithCondition, (float?)3f); Cards.instance.AddCardToPlayer(player, randomCardWithCondition2, false, "", 2f, 2f, true); CardBarUtils.instance.ShowImmediate(player, randomCardWithCondition2, (float?)3f); CurseManager.instance.CursePlayer(player, (Action<CardInfo>)delegate(CardInfo curse) { CardBarUtils.instance.ShowImmediate(player, curse, (float?)3f); }); CurseManager.instance.CursePlayer(player, (Action<CardInfo>)delegate(CardInfo curse) { CardBarUtils.instance.ShowImmediate(player, curse, (float?)3f); }); }); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCCharacters", ((CustomCard)this).GetTitle(), player.playerID)); } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "CPCCharacters", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Peptide"; } protected override string GetDescription() { return "I'm a gambler at heart"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsCharacters.Bundle.LoadAsset<GameObject>("C_Peptide"); } protected override Rarity GetRarity() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) return RarityUtils.GetRarity("Exotic"); } 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 = "Rares", amount = "+2", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Curses", amount = "+2", 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 "CPC"; } private bool RareCondition(CardInfo card, Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 return (int)card.rarity == 2 && card.cardName != "Purifying Light" && card.cardName != "Peptide" && card.cardName != "Distill" && !card.categories.Intersect(noLotteryCategories).Any(); } } internal class Shroom : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { block.cdAdd = 0.5f; CPCDebug.Log((object)("[CPCCharacters][Card] " + ((CustomCard)this).GetTitle() + " has been setup.")); } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { CharacterStatModifiersAdditionalData additionalData = CharacterStatModifiersExtension.GetAdditionalData(characterStats); additionalData.shroomsAmt++; CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCCharacters", ((CustomCard)this).GetTitle(), player.playerID)); } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "CPCCharacters", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Shroom"; } protected override string GetDescription() { return "<b><i>The Power of <color=#FF0000>S</color><color=#FFA500>h</color><color=#FFFF00>r</color><color=#008000>o</color><color=#0000FF>o</color><color=#800080>m</color><color=#FE019A>s</color></i></b>"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsCharacters.Bundle.LoadAsset<GameObject>("C_Shroom"); } 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 = "Block CD", 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 "CPC"; } } internal class Spoon : CustomCard { public static CardInfo Card; public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; CPCDebug.Log((object)("[CPCCharacters][Card] " + ((CustomCard)this).GetTitle() + " has been setup.")); } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { //IL_00f8: 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_0164: 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) if (gun.reflects > 0) { gun.reflects *= 2; } else { gun.reflects += 2; } gunAmmo.maxAmmo *= 2; gun.attackSpeed /= 2f; data.maxHealth /= 2f; gun.damage /= 2f; health.regeneration /= 2f; characterStats.movementSpeed *= 2f; if (!player.data.currentCards.Contains(Card)) { GameObject val = Object.Instantiate<GameObject>(ChaosPoppycarsCardsCharacters.Bundle.LoadAsset<GameObject>("TopHatObj")); val.transform.parent = ((Component)player).gameObject.transform; val.transform.localPosition = new Vector3(-0.1f, 0.85f, 0f); val.transform.localScale = new Vector3(0.25f, 0.25f, 0f); GameObject val2 = Object.Instantiate<GameObject>(ChaosPoppycarsCardsCharacters.Bundle.LoadAsset<GameObject>("TopHatObj")); val2.transform.parent = ((Component)player).gameObject.transform; val2.transform.localPosition = new Vector3(-0.22f, 1.85f, 0f); val2.transform.localScale = new Vector3(0.25f, 0.25f, 0f); } CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCCharacters", ((CustomCard)this).GetTitle(), player.playerID)); } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { TopHat[] componentsInChildren = ((Component)player).GetComponentsInChildren<TopHat>(); foreach (TopHat topHat in componentsInChildren) { Object.Destroy((Object)(object)((Component)topHat).gameObject); } CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "CPCCharacters", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Mira"; } protected override string GetDescription() { return "awawa"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsCharacters.Bundle.LoadAsset<GameObject>("C_Spoon"); } 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 //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 //IL_00e5: Unknown result type (might be due to invalid IL or missing references) //IL_00ea: Unknown result type (might be due to invalid IL or missing references) //IL_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: 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_0109: Unknown result type (might be due to invalid IL or missing references) //IL_010f: Expected O, but got Unknown //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_0116: Unknown result type (might be due to invalid IL or missing references) //IL_011d: Unknown result type (might be due to invalid IL or missing references) //IL_0128: Unknown result type (might be due to invalid IL or missing references) //IL_0133: Unknown result type (might be due to invalid IL or missing references) //IL_0135: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Expected O, but got Unknown //IL_013d: Unknown result type (might be due to invalid IL or missing references) //IL_0142: 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_0154: Unknown result type (might be due to invalid IL or missing references) //IL_015f: Unknown result type (might be due to invalid IL or missing references) //IL_0161: Unknown result type (might be due to invalid IL or missing references) //IL_0167: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[8] { new CardInfoStat { positive = true, stat = "Top Hats", amount = "2", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Bounces", amount = "Doubled", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Speed", amount = "Doubled", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Attack Speed", amount = "Doubled", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Ammo", amount = "Doubled", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Health", amount = "Halved", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Damage", amount = "Halved", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Regeneration", amount = "Halved", 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 "CPC"; } } public class Tricky : CustomCard { public static CardInfo Card; public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { CPCDebug.Log((object)("[CPCCharacters][Card] " + ((CustomCard)this).GetTitle() + " has been setup.")); statModifiers.movementSpeed = 16f; statModifiers.sizeMultiplier = 0.75f; cardInfo.allowMultiple = false; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCCharacters", ((CustomCard)this).GetTitle(), player.playerID)); } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "CPCCharacters", ((CustomCard)this).GetTitle(), player.playerID)); } public override void Callback() { ExtensionMethods.GetOrAddComponent<ClassNameMono>(((Component)this).gameObject, false).className = "Speedster"; } protected override string GetTitle() { return "Tricky"; } protected override string GetDescription() { return "The speed god blessith, not all can contain his power"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsCharacters.Bundle.LoadAsset<GameObject>("C_Tricky"); } protected override Rarity GetRarity() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) return RarityUtils.GetRarity("Mythical"); } 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 = "Movement Speed", amount = "+1500%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Size", amount = "-25%", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //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_0014: Unknown result type (might be due to invalid IL or missing references) return CardThemeLib.instance.CreateOrGetType("Evergreen", (CardThemeColor)null); } public override string GetModName() { return "CPC"; } } internal class Whynack : CustomCard { internal static CardInfo Card; public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { block.healing = 40f; block.forceToAddUp = 10f; CPCDebug.Log((object)("[CPCCharacters][Card] " + ((CustomCard)this).GetTitle() + " has been setup.")); } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { if (block.cooldown - 0.275f > 0.15f) { block.cdAdd -= 0.275f; } CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCCharacters", ((CustomCard)this).GetTitle(), player.playerID)); } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "CPCCharacters", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Whynack"; } protected override string GetDescription() { return "Just one more bottle"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsCharacters.Bundle.LoadAsset<GameObject>("C_Whynack"); } protected override Rarity GetRarity() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) return RarityUtils.GetRarity("Exotic"); } 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 = "Heal on block", amount = "+40", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Upwards block force", amount = "+10", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Block Cooldown", amount = "-0.275s", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //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_0014: Unknown result type (might be due to invalid IL or missing references) return CardThemeLib.instance.CreateOrGetType("Whynot Block Red", (CardThemeColor)null); } public override string GetModName() { return "CPC"; } } internal class WhynackAdrenaline : CustomCard { internal static CardInfo Card; public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { block.healing = 40f; block.forceToAddUp = -5f; CPCDebug.Log((object)("[CPCCharacters][Card] " + ((CustomCard)this).GetTitle() + " has been setup.")); } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { if (block.cooldown - 0.375f > 0.15f) { block.cdAdd -= 0.375f; } CharacterStatModifiersExtension.GetAdditionalData(characterStats).whynackAd = true; CharacterStatModifiersExtension.GetAdditionalData(player.data.stats).blacklistedCategories.Remove(ChaosPoppycarsCardsCharacters.CPCCardCategories.NeedsWhynackAdrenaline); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCCharacters", ((CustomCard)this).GetTitle(), player.playerID)); } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { CharacterStatModifiersExtension.GetAdditionalData(player.data.stats).blacklistedCategories.Add(ChaosPoppycarsCardsCharacters.CPCCardCategories.NeedsWhynackAdrenaline); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "CPCCharacters", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Whynack Adrenaline"; } protected override string GetDescription() { return "I cant stop"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsCharacters.Bundle.LoadAsset<GameObject>("C_Whynack"); } 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 = "Heal on block", amount = "+40", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Upwards block force", amount = "-5", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Block Cooldown", amount = "-0.375s", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //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_0014: Unknown result type (might be due to invalid IL or missing references) return CardThemeLib.instance.CreateOrGetType("Whynot Block Red", (CardThemeColor)null); } public override string GetModName() { return "CPC"; } } internal class WhynackArguing : CustomCard { internal static CardInfo Card; public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { block.healing = 80f; block.forceToAddUp = 5f; block.forceToAdd = 10f; CPCDebug.Log((object)("[CPCCharacters][Card] " + ((CustomCard)this).GetTitle() + " has been setup.")); } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { if (block.cooldown - 0.675f > 0.15f) { block.cdAdd -= 0.675f; } if (!CharacterStatModifiersExtension.GetAdditionalData(characterStats).whynackHarmony) { player.data.movement.force = 0f; ((Behaviour)((Component)player).GetComponent<PlayerJump>()).enabled = false; } CharacterStatModifiersExtension.GetAdditionalData(player.data.stats).blacklistedCategories.Remove(ChaosPoppycarsCardsCharacters.CPCCardCategories.NeedsWhynackArguing); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCCharacters", ((CustomCard)this).GetTitle(), player.playerID)); } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { player.data.movement.force = 17000f; ((Behaviour)((Component)player).GetComponent<PlayerJump>()).enabled = true; CharacterStatModifiersExtension.GetAdditionalData(player.data.stats).blacklistedCategories.Add(ChaosPoppycarsCardsCharacters.CPCCardCategories.NeedsWhynackArguing); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "CPCCharacters", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Whynack Arguing"; } protected override string GetDescription() { return "I dont like moving, you know?"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsCharacters.Bundle.LoadAsset<GameObject>("C_Whynack"); } 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 = "Heal on block", amount = "+80", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Upwards block force", amount = "+5", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Block force", amount = "+10", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Block Cooldown", amount = "-0.675s", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //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_0014: Unknown result type (might be due to invalid IL or missing references) return CardThemeLib.instance.CreateOrGetType("Whynot Block Red", (CardThemeColor)null); } public override string GetModName() { return "CPC"; } } internal class WhynackBlockMeditating : CustomCard { internal static CardInfo Card; public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { block.healing = 40f; block.forceToAddUp = 5f; CPCDebug.Log((object)("[CPCCharacters][Card] " + ((CustomCard)this).GetTitle() + " has been setup.")); } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { if (block.cooldown - 0.375f > 0.15f) { block.cdAdd -= 0.375f; } ((Component)player).gameObject.AddComponent<WhynackBlockMono>(); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCCharacters", ((CustomCard)this).GetTitle(), player.playerID)); } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { WhynackBlockMono whynackBlockMono = ((Component)player).gameObject.AddComponent<WhynackBlockMono>(); Object.Destroy((Object)(object)whynackBlockMono); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "CPCCharacters", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Whynacks Blocking Breeze"; } protected override string GetDescription() { return "Let me block again [stand still to recharge your block faster]"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsCharacters.Bundle.LoadAsset<GameObject>("C_Whynack"); } 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 = "Heal on block", amount = "+40", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Upwards Block force", amount = "+5", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Block Cooldown", amount = "-0.375s", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //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_0014: Unknown result type (might be due to invalid IL or missing references) return CardThemeLib.instance.CreateOrGetType("Whynot Block Red", (CardThemeColor)null); } public override string GetModName() { return "CPC"; } } internal class WhynackCards : ClassHandler { [CompilerGenerated] private sealed class <Init>d__2 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public WhynackCards <>4__this; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <Init>d__2(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; Debug.Log((object)("Regestering: " + name)); break; case 1: <>1__state = -1; break; } if (!Object.op_Implicit((Object)(object)Whynack.Card)) { <>2__current = null; <>1__state = 1; return true; } ClassesRegistry.Register(Whynack.Card, (CardType)33, 0); ClassesRegistry.Register(WhynackForward.Card, (CardType)48, Whynack.Card, 0); ClassesRegistry.Register(WhynackGoku.Card, (CardType)48, Whynack.Card, 1); ClassesRegistry.Register(WhynackShamrock.Card, (CardType)48, Whynack.Card, 0); ClassesRegistry.Register(WhynackDoubleVision.Card, (CardType)48, Whynack.Card, 1); ClassesRegistry.Register(WhynackArguing.Card, (CardType)48, Whynack.Card, 1); ClassesRegistry.Register(WhynackAdrenaline.Card, (CardType)48, Whynack.Card, 1); ClassesRegistry.Register(WhynackHarmony.Card, (CardType)48, Whynack.Card, 1); ClassesRegistry.Register(WhynackMeditating.Card, (CardType)48, Whynack.Card, 1); ClassesRegistry.Register(WhynackBlockMeditating.Card, (CardType)48, Whynack.Card, 0); ClassesRegistry.Register(WhynackUppercut.Card, (CardType)48, Whynack.Card, 1); ClassesRegistry.Register(WhynackVampire.Card, (CardType)48, Whynack.Card, 3); ClassesRegistry.Register(WhynacksBlasting.Card, (CardType)48, Whynack.Card, 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 <PostInit>d__3 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public WhynackCards <>4__this; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <PostInit>d__3(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { if (<>1__state != 0) { return false; } <>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(); } } internal static string name = "Whynacks"; internal static List<BaseUnityPlugin> plugins; [IteratorStateMachine(typeof(<Init>d__2))] public override IEnumerator Init() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <Init>d__2(0) { <>4__this = this }; } [IteratorStateMachine(typeof(<PostInit>d__3))] public override IEnumerator PostInit() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <PostInit>d__3(0) { <>4__this = this }; } } internal class WhynackDoubleVision : CustomCard { internal static CardInfo Card; public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { block.healing = -120f; block.cdAdd = 1.75f; CPCDebug.Log((object)("[CPCCharacters][Card] " + ((CustomCard)this).GetTitle() + " has been setup.")); } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { ExtensionMethods.ExecuteAfterFrames((MonoBehaviour)(object)ChaosPoppycarsCardsCharacters.Instance, 10, (Action)delegate { Cards.instance.AddCardToPlayer(player, Whynack.Card, false, "", 0f, 0f, true); CardBarUtils.instance.ShowAtEndOfPhase(player, Whynack.Card); Cards.instance.AddCardToPlayer(player, WhynackForward.Card, false, "", 0f, 0f, true); CardBarUtils.instance.ShowAtEndOfPhase(player, WhynackForward.Card); Cards.instance.AddCardToPlayer(player, WhynackGoku.Card, false, "", 0f, 0f, true); CardBarUtils.instance.ShowAtEndOfPhase(player, WhynackGoku.Card); Cards.instance.AddCardToPlayer(player, WhynackShamrock.Card, false, "", 0f, 0f, true); CardBarUtils.instance.ShowAtEndOfPhase(player, WhynackShamrock.Card); Cards.instance.AddCardToPlayer(player, WhynackArguing.Card, false, "", 0f, 0f, true); CardBarUtils.instance.ShowAtEndOfPhase(player, WhynackArguing.Card); Cards.instance.AddCardToPlayer(player, WhynackAdrenaline.Card, false, "", 0f, 0f, true); CardBarUtils.instance.ShowAtEndOfPhase(player, WhynackAdrenaline.Card); Cards.instance.AddCardToPlayer(player, WhynackHarmony.Card, false, "", 0f, 0f, true); CardBarUtils.instance.ShowAtEndOfPhase(player, WhynackHarmony.Card); Cards.instance.AddCardToPlayer(player, WhynackMeditating.Card, false, "", 0f, 0f, true); CardBarUtils.instance.ShowAtEndOfPhase(player, WhynackMeditating.Card); Cards.instance.AddCardToPlayer(player, WhynackBlockMeditating.Card, false, "", 0f, 0f, true); CardBarUtils.instance.ShowAtEndOfPhase(player, WhynackBlockMeditating.Card); Cards.instance.AddCardToPlayer(player, WhynackUppercut.Card, false, "", 0f, 0f, true); CardBarUtils.instance.ShowAtEndOfPhase(player, WhynackUppercut.Card); Cards.instance.AddCardToPlayer(player, WhynackVampire.Card, false, "", 0f, 0f, true); CardBarUtils.instance.ShowAtEndOfPhase(player, WhynackVampire.Card); Cards.instance.AddCardToPlayer(player, WhynacksBlasting.Card, false, "", 0f, 0f, true); CardBarUtils.instance.ShowAtEndOfPhase(player, WhynacksBlasting.Card); Block obj = block; obj.forceToAddUp /= 2f; Block obj2 = block; obj2.forceToAdd /= 2f; }); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCCharacters", ((CustomCard)this).GetTitle(), player.playerID)); } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "CPCCharacters", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Woah im so drunk I see so many Whynacks"; } protected override string GetDescription() { return "1 whynack, 2 whynacks, 5 whynacks, 13?"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsCharacters.Bundle.LoadAsset<GameObject>("C_Whynack"); } protected override Rarity GetRarity() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) return RarityUtils.GetRarity("Unique"); } 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 = false, stat = "Heal on block", amount = "-120", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Upwards block force", amount = "halfed", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Block force", amount = "halfed", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Block Cooldown", amount = "+1.75s", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //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_0014: Unknown result type (might be due to invalid IL or missing references) return CardThemeLib.instance.CreateOrGetType("Whynot Block Red", (CardThemeColor)null); } public override string GetModName() { return "CPC"; } } internal class WhynackForward : CustomCard { internal static CardInfo Card; public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { block.healing = 40f; block.forceToAdd = 10f; CPCDebug.Log((object)("[CPCCharacters][Card] " + ((CustomCard)this).GetTitle() + " has been setup.")); } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { if (block.cooldown - 0.275f > 0.15f) { block.cdAdd -= 0.275f; } CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCCharacters", ((CustomCard)this).GetTitle(), player.playerID)); } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "CPCCharacters", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Whynack Rotated 90 degrees"; } protected override string GetDescription() { return "Just one more bottle"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsCharacters.Bundle.LoadAsset<GameObject>("C_Whynack"); } protected override Rarity GetRarity() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) return RarityUtils.GetRarity("Exotic"); } 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 = "Heal on block", amount = "+40", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Block force", amount = "+10", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Block Cooldown", amount = "-0.375s", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //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_0014: Unknown result type (might be due to invalid IL or missing references) return CardThemeLib.instance.CreateOrGetType("Whynot Block Red", (CardThemeColor)null); } public override string GetModName() { return "CPC"; } } internal class WhynackGoku : CustomCard { internal static CardInfo Card; public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { block.healing = 20f; CPCDebug.Log((object)("[CPCCharacters][Card] " + ((CustomCard)this).GetTitle() + " has been setup.")); } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { if (block.cooldown - 0.175f > 0.15f) { block.cdAdd -= 0.175f; } CharacterStatModifiersExtension.GetAdditionalData(characterStats).whynackBlockForce = true; CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCCharacters", ((CustomCard)this).GetTitle(), player.playerID)); } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "CPCCharacters", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Whynack Goku"; } protected override string GetDescription() { return "Its over 9000 (on the bac scale) [lets you activate block force even well block is on cooldown]"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsCharacters.Bundle.LoadAsset<GameObject>("C_Whynack"); } protected override Rarity GetRarity() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) return RarityUtils.GetRarity("Mythical"); } 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 = "Heal on block", amount = "+20", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Block Cooldown", amount = "-0.175s", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //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_0014: Unknown result type (might be due to invalid IL or missing references) return CardThemeLib.instance.CreateOrGetType("Whynot Block Red", (CardThemeColor)null); } public override string GetModName() { return "CPC"; } } internal class WhynackHarmony : CustomCard { internal static CardInfo Card; public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { block.healing = -20f; block.forceToAddUp = -10f; cardInfo.categories = (CardCategory[])(object)new CardCategory[2] { ChaosPoppycarsCardsCharacters.CPCCardCategories.NeedsWhynackAdrenaline, ChaosPoppycarsCardsCharacters.CPCCardCategories.NeedsWhynackArguing }; CPCDebug.Log((object)("[CPCCharacters][Card] " + ((CustomCard)this).GetTitle() + " has been setup.")); } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { if (block.cooldown - 0.375f > 0.15f) { block.cdAdd -= 0.375f; } player.data.movement.force = 17000f; ((Behaviour)((Component)player).GetComponent<PlayerJump>()).enabled = true; CharacterStatModifiersExtension.GetAdditionalData(characterStats).whynackHarmony = true; CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCCharacters", ((CustomCard)this).GetTitle(), player.playerID)); } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "CPCCharacters", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Whynack Harmony"; } protected override string GetDescription() { return "Combine my adrenaline with my lack of movement and return to normal"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsCharacters.Bundle.LoadAsset<GameObject>("C_Whynack"); } protected override Rarity GetRarity() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) return RarityUtils.GetRarity("Mythical"); } 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