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 CPCComplex.Cards; using CPCComplex.MonoBehaviours; using CPCCore; using CPCCore.Extensions; using CPCCore.MonoBehaviours; using CPCCore.Utilities; using CardChoiceSpawnUniqueCardPatch.CustomCategories; using CardThemeLib; using ClassesManagerReborn; using DrawNCards; using HarmonyLib; using InControl; using Jotunn.Utils; using LuckLib; using MapEmbiggener; using Microsoft.CodeAnalysis; using ModdingUtils.Extensions; using ModdingUtils.GameModes; using ModdingUtils.MonoBehaviours; using ModdingUtils.Utils; using Nullmanager; using PSA.Extensions; using Photon.Pun; using Photon.Realtime; using PickPhaseImprovements; using PlayerActionsHelper; using PlayerActionsHelper.Extensions; using RWF; using RWF.UI; using RarityLib.Utils; using SimulationChamber; using UnboundLib; using UnboundLib.Cards; using UnboundLib.GameModes; using UnityEngine; 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.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } [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 CursorGun : MonoBehaviour { private Player player; private Gun gun; private float cd = 0f; public SimulatedGun[] savedGuns = (SimulatedGun[])(object)new SimulatedGun[1]; public static GameObject _stopRecursionObj; public static GameObject StopRecursionObj { get { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown if ((Object)(object)_stopRecursionObj == (Object)null) { _stopRecursionObj = new GameObject("A_StopRecursion", new Type[1] { typeof(StopRecursion) }); Object.DontDestroyOnLoad((Object)(object)_stopRecursionObj); } return _stopRecursionObj; } } public static ObjectsToSpawn[] StopRecursionSpawn => (ObjectsToSpawn[])(object)new ObjectsToSpawn[1] { new ObjectsToSpawn { AddToProjectile = StopRecursionObj } }; public void Start() { //IL_006e: Unknown result type (might be due to invalid IL or missing references) player = ((Component)this).GetComponentInParent(); gun = player.data.weaponHandler.gun; Gun obj = gun; obj.ShootPojectileAction = (Action)Delegate.Combine(obj.ShootPojectileAction, new Action(OnShootProjectileAction)); if ((Object)(object)savedGuns[0] == (Object)null) { savedGuns[0] = new GameObject("Cursor_One").AddComponent(); } } public void OnShootProjectileAction(GameObject obj) { //IL_010e: Unknown result type (might be due to invalid IL or missing references) //IL_0113: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Unknown result type (might be due to invalid IL or missing references) //IL_012c: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) //IL_0179: Unknown result type (might be due to invalid IL or missing references) if (obj.GetComponentsInChildren().Length == 0) { SimulatedGun val = savedGuns[0]; val.CopyGunStatsExceptActions(gun); val.CopyAttackAction(gun); val.CopyShootProjectileAction(gun); ((Gun)val).ShootPojectileAction = (Action)Delegate.Remove(((Gun)val).ShootPojectileAction, new Action(OnShootProjectileAction)); ((Gun)val).numberOfProjectiles = 1; ((Gun)val).bursts = 0; ((Gun)val).damage = ((Gun)val).damage * 0.5f; ((Gun)val).objectsToSpawn = ((Gun)val).objectsToSpawn.Concat(StopRecursionSpawn).ToArray(); if ((player.data.view.IsMine || PhotonNetwork.OfflineMode) && cd <= 0f) { cd += 0.15f; val.SimulatedAttack(player.playerID, new Vector3(MainCam.instance.cam.ScreenToWorldPoint(Input.mousePosition).x, MainCam.instance.cam.ScreenToWorldPoint(Input.mousePosition).y, 0f), new Vector3(player.data.input.aimDirection.x, player.data.input.aimDirection.y, 0f), 1f, 1f, (Transform)null, false); } } } public void Update() { if (cd >= 0f) { cd -= TimeHandler.deltaTime; } } public void OnDestroy() { Gun obj = gun; obj.ShootPojectileAction = (Action)Delegate.Remove(obj.ShootPojectileAction, new Action(OnShootProjectileAction)); Object.Destroy((Object)(object)savedGuns[0]); } } namespace ChaosPoppycarsCards.Extensions { public static class PlayerStatus { public static List GetEnemyPlayers(Player player) { List list = new List(); foreach (Player player2 in PlayerManager.instance.players) { if (player2.teamID != player.teamID) { list.Add(player2); } } return list; } public static List GetOtherPlayers(Player player) { List list = new List(); foreach (Player player2 in PlayerManager.instance.players) { if (player2.playerID != player.playerID) { list.Add(player2); } } return list; } public static bool PlayerAlive(Player player) { return !player.data.dead; } public static bool PlayerSimulated(Player player) { return (bool)Traverse.Create((object)player.data.playerVel).Field("simulated").GetValue(); } public static bool PlayerAliveAndSimulated(Player player) { return PlayerAlive(player) && PlayerSimulated(player); } public static int GetNumberOfEnemyPlayers(Player player) { int num = 0; foreach (Player player2 in PlayerManager.instance.players) { if (player2.teamID != player.teamID) { num++; } } return num; } } } namespace CPCComplex { [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.*/)] [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.CPCComplex.Id", "ChaosPoppycarsCardsComplex", "1.0.5")] [BepInProcess("Rounds.exe")] public class ChaosPoppycarsCardsComplex : BaseUnityPlugin { public static class CPCCardCategories { public static CardCategory GeeseCategory = CustomCardCategories.instance.CardCategory("GeeseCategory"); } [CompilerGenerated] private sealed class d__14 : IEnumerator, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public IGameModeHandler gm; public ChaosPoppycarsCardsComplex <>4__this; private List.Enumerator <>s__1; private Player 5__2; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__14(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { 5__2 = null; <>1__state = -2; } private bool MoveNext() { if (<>1__state != 0) { return false; } <>1__state = -1; RarityUtils.SetCardRarityModifier(KnifeGoose.Card, 0.5f); RarityUtils.SetCardRarityModifier(GoldGoose.Card, 0.01f); <>s__1 = PlayerManager.instance.players.GetEnumerator(); try { while (<>s__1.MoveNext()) { 5__2 = <>s__1.Current; 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.CPCComplex.Id"; private const string ModName = "ChaosPoppycarsCardsComplex"; public const string Version = "1.0.5"; public const string ModInitials = "CPCComplex"; internal static List plugins; public static AssetBundle Bundle; public static ChaosPoppycarsCardsComplex Instance { get; private set; } private void Awake() { //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Expected O, but got Unknown //IL_0097: Expected O, but got Unknown //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Expected O, but got Unknown //IL_00c7: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Expected O, but got Unknown //IL_00d8: Expected O, but got Unknown //IL_00d3: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Expected O, but got Unknown //IL_0124: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Expected O, but got Unknown //IL_0108: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Expected O, but got Unknown //IL_0118: Expected O, but got Unknown //IL_0113: Unknown result type (might be due to invalid IL or missing references) //IL_011d: Expected O, but got Unknown Instance = this; Bundle = AssetUtils.LoadAssetBundleFromResources("cpccomplex", typeof(ChaosPoppycarsCardsComplex).Assembly); RarityUtils.AddRarity("Geese", 1f, Color32.op_Implicit(new Color32((byte)172, (byte)172, (byte)172, byte.MaxValue)), Color32.op_Implicit(new Color32((byte)60, (byte)60, (byte)60, byte.MaxValue))); if (!PlayerActionManager.RegisteredActions.ContainsKey("Dash")) { PlayerActionManager.RegisterPlayerAction(new ActionInfo("Dash", (BindingSource)new MouseBindingSource((Mouse)3), (BindingSource)new DeviceBindingSource((InputControlType)18))); } if (!PlayerActionManager.RegisteredActions.ContainsKey("BlockMoveSwitch")) { PlayerActionManager.RegisterPlayerAction(new ActionInfo("BlockMoveSwitch", (BindingSource)new KeyBindingSource((Key[])(object)new Key[1] { (Key)53 }), (BindingSource)new DeviceBindingSource((InputControlType)13))); } if (!PlayerActionManager.RegisteredActions.ContainsKey("BlockPhaseAction")) { PlayerActionManager.RegisterPlayerAction(new ActionInfo("BlockPhaseAction", (BindingSource)new KeyBindingSource((Key[])(object)new Key[1] { (Key)57 }), (BindingSource)new DeviceBindingSource((InputControlType)5))); } Harmony val = new Harmony("com.Poppycars.CPCComplex.Id"); val.PatchAll(); GameObject val2 = Bundle.LoadAsset("ModCards"); CardHolder component = val2.GetComponent(); component.RegisterCards(); } private void Start() { plugins = (List)typeof(Chainloader).GetField("_plugins", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null); GameModeManager.AddHook("GameStart", (Func)GameStart); ChaosPoppycarsCardsCore.RegisterCards(typeof(ChaosPoppycarsCardsComplex).Assembly, Bundle); Cards.instance.AddCardValidationFunction((Func)((Player player, CardInfo cardinfo) => !((object)(Rarity)(ref cardinfo.rarity)).Equals((object?)RarityUtils.GetRarity("Geese")) || PlayerManager.instance.players.Any((Player p) => player.teamID != p.teamID && p.data.currentCards.Contains(GeeseSwarm.Card)))); Cards.instance.AddCardValidationFunction((Func)((Player player, CardInfo cardinfo) => ExpansionCheck(player, cardinfo))); Cards.instance.AddCardValidationFunction((Func)((Player player, CardInfo cardinfo) => SmallExpansionCheck(player, cardinfo))); } public bool ExpansionCheck(Player player, CardInfo card) { if (!((Object)card).name.Equals("__CPC__Expansion")) { return true; } float num = 0f; foreach (Player player2 in PlayerManager.instance.players) { num += CharacterStatModifiersExtension.GetAdditionalData(player2.data.stats).mapSizeI; } num += MapEmbiggener.setSize; return num + 0.5f <= 7f; } public bool SmallExpansionCheck(Player player, CardInfo card) { if (!((Object)card).name.Equals("__CPC__Shrinkage")) { return true; } float num = 0f; foreach (Player player2 in PlayerManager.instance.players) { num += CharacterStatModifiersExtension.GetAdditionalData(player2.data.stats).mapSizeI; } num += MapEmbiggener.setSize; return (double)(num - 0.25f) >= 0.25; } [IteratorStateMachine(typeof(d__14))] private IEnumerator GameStart(IGameModeHandler gm) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__14(0) { <>4__this = this, gm = gm }; } } } namespace CPCComplex.Patches { [Serializable] [HarmonyPatch(typeof(HealthHandler), "DoDamage")] [HarmonyPriority(300)] internal class HealtHandlerPatchDoDamage { private static bool Prefix(HealthHandler __instance, ref Vector2 damage, Vector2 position, Color blinkColor, GameObject damagingWeapon, Player damagingPlayer, bool healthRemoval, bool lethal, bool ignoreBlock) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Expected O, but got Unknown //IL_0093: 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_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_0139: Unknown result type (might be due to invalid IL or missing references) //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_0143: Unknown result type (might be due to invalid IL or missing references) //IL_0147: Unknown result type (might be due to invalid IL or missing references) //IL_0151: Unknown result type (might be due to invalid IL or missing references) //IL_0153: Unknown result type (might be due to invalid IL or missing references) //IL_017f: 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) CharacterData val = (CharacterData)Traverse.Create((object)__instance).Field("data").GetValue(); Player player = val.player; if (!val.isPlaying) { return false; } if (val.dead) { return false; } if (__instance.isRespawning) { return false; } if ((Object)(object)damagingPlayer != (Object)null && CharacterStatModifiersExtension.GetAdditionalData(damagingPlayer.data.stats).DamageAmpDamage > 0f) { damage += ((Vector2)(ref damage)).normalized * CharacterStatModifiersExtension.GetAdditionalData(damagingPlayer.data.stats).DamageAmpDamage; } if (CharacterStatModifiersExtension.GetAdditionalData(player.data.stats).BlackHole || player.data.currentCards.Contains(Cards.instance.GetCardWithObjectName("__CPC__Black Hole"))) { CharacterStatModifiersExtension.GetAdditionalData(player.data.stats).BlackHole = true; Vector2 val2 = default(Vector2); ((Vector2)(ref val2))..ctor(0f, 0f); Vector2 val3 = Vector2.op_Implicit(((Component)player).gameObject.transform.position); damage /= Mathf.Clamp(1f / Mathf.Clamp(Vector2.Distance(val2, val3), 0.001f, 9999f) * 10f, 1f, 8f); } return true; } } [Serializable] [HarmonyPatch(typeof(HealthHandler), "Heal")] internal class ExtraHealingPatch { private static void Prefix(HealthHandler __instance, ref float healAmount) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) Player val = (Player)ExtensionMethods.GetFieldValue((object)__instance, "player"); if (CharacterStatModifiersExtension.GetAdditionalData(val.data.stats).WhiteHole || val.data.currentCards.Contains(Cards.instance.GetCardWithObjectName("__CPC__White Hole"))) { CharacterStatModifiersExtension.GetAdditionalData(val.data.stats).WhiteHole = true; Vector2 val2 = default(Vector2); ((Vector2)(ref val2))..ctor(0f, 0f); Vector2 val3 = Vector2.op_Implicit(((Component)val).gameObject.transform.position); healAmount *= Mathf.Clamp(Vector2.Distance(val2, val3) / 10f, 1f, 5f); } } } } namespace CPCComplex.MonoBehaviours { public class TriggerWin : MonoBehaviour { [CompilerGenerated] private sealed class d__4 : IEnumerator, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public IGameModeHandler gm; public TriggerWin <>4__this; private RoundEndHandler 5__1; private int 5__2; private List 5__3; private string 5__4; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__4(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { 5__1 = null; 5__3 = null; 5__4 = null; <>1__state = -2; } private bool MoveNext() { //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Expected O, but got Unknown //IL_0199: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: <>1__state = -1; 5__1 = RoundEndHandler.instance; 5__2 = <>4__this.playerId; UIHandler.instance.DisplayScreenText(PlayerManager.instance.GetColorFromTeam(5__2).winText, <>4__this.victoryText, 0.5f); <>2__current = (object)new WaitForSeconds(3.5f); <>1__state = 1; return true; case 1: <>1__state = -1; 5__1.waitingForHost = true; PlayerManager.instance.RevivePlayers(); ExtensionMethods.InvokeMethod((object)PlayerManager.instance, "SetPlayersVisible", new object[1] { false }); if (PhotonNetwork.IsMasterClient || PhotonNetwork.OfflineMode) { 5__3 = new List { "CONTINUE", "REMATCH", "EXIT" }; PopUpMenu.instance.Open(5__3, (Action)5__1.OnGameOverChoose); 5__3 = null; } else { 5__4 = PhotonNetwork.CurrentRoom.Players.Values.First((Player p) => p.IsMasterClient).NickName; UIHandler.instance.ShowJoinGameText("WAITING FOR " + 5__4, PlayerSkinBank.GetPlayerSkinColors(1).winText); 5__4 = null; } MapManager.instance.LoadNextLevel(false, false); break; case 2: <>1__state = -1; break; } if (5__1.waitingForHost) { <>2__current = null; <>1__state = 2; return true; } UIHandler.instance.HideJoinGameText(); 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 string victoryText = ""; private int playerId = 0; public void WinText(string text) { victoryText = text; } public void WinnerId(int id) { playerId = id; } [IteratorStateMachine(typeof(d__4))] public IEnumerator Win(IGameModeHandler gm) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__4(0) { <>4__this = this, gm = gm }; } } public class BlockBullets : MonoBehaviour { private Block block; private Player player; private Gun gun; private float cd = 0f; private PhotonView photonView; private GameObject test; public SimulatedGun[] savedGuns = (SimulatedGun[])(object)new SimulatedGun[1]; public void OnDestroy() { Block obj = block; obj.BlockAction = (Action)Delegate.Remove(obj.BlockAction, new Action(OnBlock)); Object.Destroy((Object)(object)savedGuns[0]); } private void OnBlock(BlockTriggerType trigger) { //IL_0100: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_0144: 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_015a: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_016f: Unknown result type (might be due to invalid IL or missing references) //IL_017f: Unknown result type (might be due to invalid IL or missing references) //IL_0184: Unknown result type (might be due to invalid IL or missing references) //IL_0189: Unknown result type (might be due to invalid IL or missing references) //IL_018a: Unknown result type (might be due to invalid IL or missing references) //IL_0190: Unknown result type (might be due to invalid IL or missing references) //IL_01b4: 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_01da: Unknown result type (might be due to invalid IL or missing references) if (cd <= 0f) { test = Object.Instantiate(ChaosPoppycarsCardsComplex.Bundle.LoadAsset("TestObj")); test.AddComponent(); SimulatedGun BlockGun = savedGuns[0]; BlockGun.CopyGunStatsExceptActions(gun); BlockGun.CopyAttackAction(gun); BlockGun.CopyShootProjectileAction(gun); ((Gun)BlockGun).objectsToSpawn = ((Gun)BlockGun).objectsToSpawn.Concat(StopRecursionMono.StopRecursionSpawn).ToArray(); ((Gun)BlockGun).bursts = 3; ((Gun)BlockGun).numberOfProjectiles = 1; ((Gun)BlockGun).timeBetweenBullets = 0.15f; SimulatedGun obj = BlockGun; ((Gun)obj).damage = ((Gun)obj).damage / 2.5f; Vector3 temp = ((Component)player).transform.position; Vector3 aim = new Vector3(player.data.input.aimDirection.x, player.data.input.aimDirection.y, 0f); test.transform.position = temp; Vector3 val = Camera.main.ScreenToWorldPoint(Input.mousePosition) - test.transform.position; float num = Mathf.Atan2(val.y, val.x) * 57.29578f - 45f; test.transform.rotation = Quaternion.AngleAxis(num, Vector3.forward); test.GetComponent().color = player.GetTeamColors().color; if (player.data.view.IsMine) { photonView.RPC("SyncDir", (RpcTarget)1, new object[1] { num }); } ExtensionMethods.ExecuteAfterSeconds((MonoBehaviour)(object)ChaosPoppycarsCardsComplex.Instance, 1.5f, (Action)delegate { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) BlockGun.SimulatedAttack(player.playerID, temp, aim, 1f, 1f, (Transform)null, false); }); cd += 1.5f; } } public void Start() { //IL_0069: Unknown result type (might be due to invalid IL or missing references) photonView = ((Component)this).GetComponent(); player = ((Component)this).gameObject.GetComponent(); gun = player.data.weaponHandler.gun; block = ((Component)player).GetComponent(); if ((Object)(object)savedGuns[0] == (Object)null) { savedGuns[0] = new GameObject("BlockBullets").AddComponent(); } Block obj = block; obj.BlockAction = (Action)Delegate.Combine(obj.BlockAction, new Action(OnBlock)); } public void Update() { if (cd > 0f) { cd -= TimeHandler.deltaTime; } } [PunRPC] public void SyncDir(float angle) { //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)test != (Object)null) { test.transform.rotation = Quaternion.AngleAxis(angle, Vector3.forward); } } } internal class CelesteDash : MonoBehaviour { private Player player; private PlayerActions playerActions; private int dashesLeft = 1; private int dashesMax = 1; private float cd; public Vector2 Speed; public void Awake() { player = ((Component)this).GetComponentInParent(); playerActions = player.data.playerActions; cd = 0f; } public void Update() { //IL_0157: Unknown result type (might be due to invalid IL or missing references) //IL_015c: Unknown result type (might be due to invalid IL or missing references) //IL_02e4: Unknown result type (might be due to invalid IL or missing references) //IL_02ee: Unknown result type (might be due to invalid IL or missing references) //IL_018d: Unknown result type (might be due to invalid IL or missing references) //IL_0192: 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) //IL_01c8: Unknown result type (might be due to invalid IL or missing references) //IL_01f9: Unknown result type (might be due to invalid IL or missing references) //IL_01fe: Unknown result type (might be due to invalid IL or missing references) //IL_0221: Unknown result type (might be due to invalid IL or missing references) //IL_0226: Unknown result type (might be due to invalid IL or missing references) //IL_024c: Unknown result type (might be due to invalid IL or missing references) //IL_0251: Unknown result type (might be due to invalid IL or missing references) //IL_027f: Unknown result type (might be due to invalid IL or missing references) //IL_0284: Unknown result type (might be due to invalid IL or missing references) //IL_02c9: Unknown result type (might be due to invalid IL or missing references) //IL_02ce: Unknown result type (might be due to invalid IL or missing references) //IL_02b2: Unknown result type (might be due to invalid IL or missing references) //IL_02b7: Unknown result type (might be due to invalid IL or missing references) dashesMax = CharacterStatModifiersExtension.GetAdditionalData(player.data.stats).dashes; if (cd > 0f) { cd -= TimeHandler.deltaTime; } if (player.data.isGrounded && player.data.view.IsMine && playerActions != null && !PlayerActionsExtension.ActionIsPressed(playerActions, "Dash")) { dashesLeft = dashesMax; } if (playerActions != null && PlayerActionsExtension.ActionIsPressed(playerActions, "Dash") && dashesLeft > 0 && player.data.view.IsMine && cd <= 0f) { float num = 57.29578f * Mathf.Atan2(player.data.input.direction.y, player.data.input.direction.x); if (num > -25f && num <= 25f) { Speed = new Vector2(1f, 0f); } else if (num > 25f && num <= 75f) { Speed = new Vector2(0.75f, 0.75f); } else if (num > 75f && num <= 125f) { Speed = new Vector2(0f, 1f); } else if (num > 125f && num <= 170f) { Speed = new Vector2(-0.75f, 0.75f); } else if (num > 170f) { Speed = new Vector2(-1f, 0f); } else if (num <= -170f) { Speed = new Vector2(-1f, 0f); } else if (num > -170f && num <= -125f) { Speed = new Vector2(-0.75f, -0.75f); } else if (num > -125f && num <= -75f) { Speed = new Vector2(0f, -1f); } else { Speed = new Vector2(0.75f, -0.75f); } ExtensionMethods.SetFieldValue((object)((Component)player).GetComponent(), "velocity", (object)(Speed * 125f)); dashesLeft--; cd = 0.3f; ExtensionMethods.ExecuteAfterFrames((MonoBehaviour)(object)ChaosPoppycarsCardsComplex.Instance, 2, (Action)delegate { ExtensionMethods.GetOrAddComponent(((Component)player).gameObject, false); }); } } } internal class CelesteGrav : ReversibleEffect { private float duration = 0f; private int timesJumped = 0; public override void OnStart() { base.player = ((Component)this).GetComponentInParent(); base.gravityModifier.gravityForce_mult = 0f; timesJumped = 0; if (duration <= 0f) { ((ReversibleEffect)this).ApplyModifiers(); } duration = 0.15f; PlayerJump jump = base.data.jump; jump.JumpAction = (Action)Delegate.Combine(jump.JumpAction, new Action(OnJump)); ((ReversibleEffect)this).SetLivesToEffect(int.MaxValue); } private void OnJump() { //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) if (timesJumped <= 0) { Vector2 val = (Vector2)ExtensionMethods.GetFieldValue((object)((Component)base.player).GetComponent(), "velocity"); ExtensionMethods.SetFieldValue((object)((Component)base.player).GetComponent(), "velocity", (object)new Vector2(val.x * 5f, val.y * 2.5f)); timesJumped++; } } public override void OnUpdate() { if (!(duration <= 0f)) { duration -= TimeHandler.deltaTime; return; } ((ReversibleEffect)this).ClearModifiers(true); timesJumped = 0; base.player.data.sinceGrounded = 0f; Object.Destroy((Object)(object)this); } public override void OnOnDestroy() { PlayerJump jump = base.data.jump; jump.JumpAction = (Action)Delegate.Remove(jump.JumpAction, new Action(OnJump)); ((ReversibleEffect)this).ClearModifiers(true); } public override void OnOnDisable() { duration = 0f; ((ReversibleEffect)this).ClearModifiers(true); } } internal class CenterPullMono : MonoBehaviour { private Player player; public void Start() { player = ((Component)this).GetComponentInParent(); } public void Update() { //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_003f: 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_0041: 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_0047: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_0049: 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_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: 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_0094: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) if (PlayerStatus.PlayerAliveAndSimulated(player)) { Vector2 val = default(Vector2); ((Vector2)(ref val))..ctor(0f, 0f); Vector2 val2 = Vector2.op_Implicit(((Component)player).gameObject.transform.position); Vector2 val3 = val - val2; if (Vector2.Distance(val, val2) >= 1f) { ExtensionMethods.SetFieldValue((object)((Component)player).GetComponent(), "velocity", (object)((Vector2)ExtensionMethods.GetFieldValue((object)((Component)player).GetComponent(), "velocity") + val3 * 1f / (Vector2.Distance(val, val2) / 1.5f))); } else { ExtensionMethods.SetFieldValue((object)((Component)player).GetComponent(), "velocity", (object)((Vector2)ExtensionMethods.GetFieldValue((object)((Component)player).GetComponent(), "velocity") + val3)); } if (Vector2.Distance(val, val2) <= 6f) { player.data.sinceGrounded = 0f; } } } public void Remove() { } } internal class CenterPushMono : MonoBehaviour { private Player player; public void Start() { player = ((Component)this).GetComponentInParent(); } public void Update() { //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_003f: 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_0041: 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_0047: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_0049: 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_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: 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_0094: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) if (PlayerStatus.PlayerAliveAndSimulated(player)) { Vector2 val = default(Vector2); ((Vector2)(ref val))..ctor(0f, 0f); Vector2 val2 = Vector2.op_Implicit(((Component)player).gameObject.transform.position); Vector2 val3 = val - val2; if (Vector2.Distance(val, val2) >= 1f) { ExtensionMethods.SetFieldValue((object)((Component)player).GetComponent(), "velocity", (object)((Vector2)ExtensionMethods.GetFieldValue((object)((Component)player).GetComponent(), "velocity") - val3 * 1f / (Vector2.Distance(val, val2) / 1.5f))); } else { ExtensionMethods.SetFieldValue((object)((Component)player).GetComponent(), "velocity", (object)((Vector2)ExtensionMethods.GetFieldValue((object)((Component)player).GetComponent(), "velocity") - val3)); } if (Vector2.Distance(val, val2) <= 6f) { player.data.sinceGrounded = 0f; } } } public void Remove() { } } public class DamageAmpMono : MonoBehaviour, IGameStartHookHandler, IPointStartHookHandler { private CharacterStatModifiers characterStatModifiers; private Player player; public void Start() { InterfaceGameModeHooksManager.instance.RegisterHooks((object)this); player = ((Component)this).GetComponentInParent(); characterStatModifiers = ((Component)this).GetComponentInParent(); } public void OnPointStart() { CharacterStatModifiersAdditionalData additionalData = CharacterStatModifiersExtension.GetAdditionalData(characterStatModifiers); additionalData.DamageAmpDamage += 5f; CPCDebug.Log((object)string.Format("[{0}]{1}", "CPCComplex", CharacterStatModifiersExtension.GetAdditionalData(characterStatModifiers).DamageAmpDamage)); } public void OnGameStart() { CharacterStatModifiersExtension.GetAdditionalData(characterStatModifiers).DamageAmpDamage = 0f; Object.Destroy((Object)(object)this); } public void OnDestroy() { InterfaceGameModeHooksManager.instance.RemoveHooks((object)this); } } public class Destroyer : MonoBehaviour { public void Start() { Object.Destroy((Object)(object)((Component)this).gameObject, 3f); } } internal class HealthBounce : BounceEffect { public Player player; public CharacterStatModifiers characterStatModifiers; public void Start() { InterfaceGameModeHooksManager.instance.RegisterHooks((object)this); player = ((Component)this).GetComponentInParent().ownPlayer; characterStatModifiers = ((Component)player).GetComponentInParent(); } private void Awake() { ((Component)this).gameObject.AddComponent(); } public override void DoBounce(HitInfo hit) { CPCDebug.Log((object)"[CPCComplex][Test] Bullet Has hit"); CharacterData data = player.data; data.maxHealth += 1f; CharacterData data2 = player.data; data2.health += 1f; CharacterStatModifiersAdditionalData additionalData = CharacterStatModifiersExtension.GetAdditionalData(characterStatModifiers); additionalData.HealthBouncesBounced += 1f; CPCDebug.Log((object)string.Format("[{0}][Test] {1} max hp", "CPCComplex", player.data.maxHealth)); CPCDebug.Log((object)string.Format("[{0}][Test] {1} hp", "CPCComplex", player.data.health)); } public void OnGameStart() { Object.Destroy((Object)(object)this); } public void OnDestroy() { InterfaceGameModeHooksManager.instance.RemoveHooks((object)this); } } internal class HealthBounceMono : MonoBehaviour, IRoundEndHookHandler { public Player player; public CharacterStatModifiers characterStatModifiers; public void Start() { InterfaceGameModeHooksManager.instance.RegisterHooks((object)this); player = ((Component)this).GetComponentInParent(); characterStatModifiers = ((Component)this).GetComponentInParent(); } public void OnRoundEnd() { CharacterData data = player.data; data.maxHealth -= CharacterStatModifiersExtension.GetAdditionalData(characterStatModifiers).HealthBouncesBounced; CPCDebug.Log((object)"[CPCComplex][Test] Round Ended"); CharacterStatModifiersExtension.GetAdditionalData(characterStatModifiers).HealthBouncesBounced = 0f; } public void OnGameStart() { Object.Destroy((Object)(object)this); } public void OnDestroy() { InterfaceGameModeHooksManager.instance.RemoveHooks((object)this); } } public class LaserBehaviour : MonoBehaviour { public SpriteRenderer sprite; public float damage; public Player player; public bool unExecuted = false; public bool col = true; public float speed = 1.5f; private void Start() { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_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_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) Color[] array = (Color[])(object)new Color[6] { new Color(0.75f, 0f, 0f), new Color(0f, 0.75f, 0f), new Color(0f, 0f, 0.75f), new Color(0.75f, 0.7f, 0f), new Color(0f, 0.75f, 0.75f), new Color(0.75f, 0f, 0.75f) }; sprite.color = array[Random.Range(0, 6)]; } private void Update() { //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_0184: Unknown result type (might be due to invalid IL or missing references) //IL_018f: Unknown result type (might be due to invalid IL or missing references) //IL_0194: Unknown result type (might be due to invalid IL or missing references) //IL_01ae: 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_01ce: Unknown result type (might be due to invalid IL or missing references) //IL_01dd: Unknown result type (might be due to invalid IL or missing references) ((Component)this).gameObject.transform.localScale = new Vector3(((Component)this).gameObject.transform.localScale.x, ((Component)this).gameObject.transform.localScale.y + 0.01f, ((Component)this).gameObject.transform.localScale.z); if (!unExecuted) { unExecuted = true; ExtensionMethods.ExecuteAfterSeconds((MonoBehaviour)(object)ChaosPoppycarsCardsComplex.Instance, speed, (Action)delegate { //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)((Component)this).gameObject != (Object)null) { ((Component)this).gameObject.transform.localScale = new Vector3(((Component)this).gameObject.transform.localScale.x, (float)Screen.height + 18f, ((Component)this).gameObject.transform.localScale.z); Object.Destroy((Object)(object)((Component)this).gameObject, speed); } }); } Collider2D[] array = null; if (col) { array = Physics2D.OverlapBoxAll(Vector2.op_Implicit(((Component)this).gameObject.transform.position), Vector2.op_Implicit(((Component)this).gameObject.transform.localScale), 0f, 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() != (Object)null && ((Component)val).gameObject.GetComponent().playerID == player.playerID) { Player component = ((Component)val).gameObject.GetComponent(); if (component.data.view.IsMine) { col = false; ((Damagable)((Component)component).GetComponent()).CallTakeDamage(new Vector2(0f, damage), Vector2.op_Implicit(((Component)this).transform.position), (GameObject)null, (Player)null, true); sprite.color = new Color(sprite.color.r, sprite.color.g, sprite.color.b, 0.25f); PhotonView component2 = ((Component)component).GetComponent(); ExtensionMethods.GetOrAddComponent(((Component)component).gameObject, false); component2.RPC("RPCASyncBlockThingy", (RpcTarget)0, new object[1] { component.playerID }); } } } } } public class LaserController : MonoBehaviour, IPointStartHookHandler { public float damage = 0f; public Player player; public float timeBetweenLasers = 0.75f; public float timer = 0f; public float laserSpeed = 1.5f; public float timer2 = 6f; private void Start() { player = ((Component)this).gameObject.GetComponentInParent(); InterfaceGameModeHooksManager.instance.RegisterHooks((object)this); } public void OnPointStart() { laserSpeed = 1.5f; timeBetweenLasers = 0.75f; timer2 = 6f; } private void Update() { //IL_0080: 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_0094: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) if (!player.data.view.IsMine) { return; } if (timer <= 0f && PlayerStatus.PlayerAliveAndSimulated(player)) { timer = timeBetweenLasers + Random.Range(-0.25f, 0.25f); GameObject val = Object.Instantiate(ChaosPoppycarsCardsComplex.Bundle.LoadAsset("LaserObj"), Vector2.op_Implicit(new Vector2(Random.Range(Camera.main.ViewportToWorldPoint(new Vector3(0f, 0f, 0f)).x, Camera.main.ViewportToWorldPoint(Vector2.op_Implicit(Vector2.right)).x), Camera.main.ViewportToWorldPoint(Vector2.op_Implicit(Vector2.up)).y)), ((Component)this).transform.rotation); LaserBehaviour component = val.GetComponent(); if (damage != 0f) { component.damage = damage; } else { component.damage = player.data.maxHealth * 0.33f; } component.player = player; component.speed = laserSpeed; } timer -= TimeHandler.deltaTime; if (timer2 <= 0f && PlayerStatus.PlayerAliveAndSimulated(player)) { if (laserSpeed > 0.25f) { laserSpeed -= 0.05f; } if (timeBetweenLasers > 0.1875f) { timeBetweenLasers -= 0.0375f; } timer2 = 4f; } timer2 -= TimeHandler.deltaTime; } } public class RainbowLeaf : MonoBehaviour, IGameStartHookHandler, IPointStartHookHandler { private CharacterStatModifiers characterStatModifiers; private Player player; public void Start() { InterfaceGameModeHooksManager.instance.RegisterHooks((object)this); player = ((Component)this).GetComponentInParent(); characterStatModifiers = ((Component)this).GetComponentInParent(); } public void OnPointStart() { CharacterData data = player.data; data.maxHealth += 25f; CharacterData data2 = player.data; data2.health += 25f; CharacterStatModifiersAdditionalData additionalData = CharacterStatModifiersExtension.GetAdditionalData(characterStatModifiers); additionalData.RainbowLeafHealth += 25f; CPCDebug.Log((object)string.Format("[{0}]{1}", "CPCComplex", CharacterStatModifiersExtension.GetAdditionalData(characterStatModifiers).RainbowLeafHealth)); } public void OnGameStart() { CharacterStatModifiersExtension.GetAdditionalData(characterStatModifiers).RainbowLeafHealth = 0f; Object.Destroy((Object)(object)this); } public void OnDestroy() { InterfaceGameModeHooksManager.instance.RemoveHooks((object)this); } } public class RarityAdjuster : MonoBehaviour { public float rarityScalar; public Player player; public Dictionary changes = new Dictionary(); public void Start() { player = ((Component)this).GetComponentInParent(); if (!player.data.view.IsMine) { return; } Rarity rareData = RarityUtils.GetRarityData((Rarity)2); foreach (Rarity item in RarityUtils.Rarities.Values.Where((Rarity r) => r.relativeRarity <= rareData.relativeRarity)) { UpdateRarity(item, rarityScalar); } } public void UpdateRarity(Rarity rarity, float multiplier) { float num = rarity.calculatedRarity * multiplier - rarity.calculatedRarity; rarity.calculatedRarity += num; changes.Add(rarity, num); } public void OnDestroy() { if (!player.data.view.IsMine) { return; } foreach (Rarity key in changes.Keys) { key.calculatedRarity -= changes[key]; } } } public class RarityAdjusterCommons : MonoBehaviour { public float rarityScalar; public Player player; public Dictionary changes = new Dictionary(); public void Start() { player = ((Component)this).GetComponentInParent(); if (player.data.view.IsMine) { UpdateRarity(RarityUtils.GetRarityData((Rarity)0), rarityScalar); } } public void UpdateRarity(Rarity rarity, float multiplier) { float num = rarity.calculatedRarity * multiplier - rarity.calculatedRarity; rarity.calculatedRarity += num; changes.Add(rarity, num); } public void OnDestroy() { if (!player.data.view.IsMine) { return; } foreach (Rarity key in changes.Keys) { key.calculatedRarity -= changes[key]; } } } public class RPCMono : MonoBehaviour { [PunRPC] public void RPCASyncBlockThingy(int playerID) { Player playerWithID = PlayerManager.instance.GetPlayerWithID(playerID); playerWithID.data.block.counter = -0.25f; } } internal class ScreenWarpMono : MonoBehaviour, IPointStartHookHandler { private Player player; private int warpsLeft = 5; private float cd; private bool warping = false; private Vector2 pos; private OutOfBoundsHandler handler; public void Awake() { player = ((Component)this).GetComponentInParent(); cd = 0f; } public void OnPointStart() { warpsLeft = CharacterStatModifiersExtension.GetAdditionalData(player.data.stats).maxWarps; } public void Start() { //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) OutOfBoundsHandler[] array = Object.FindObjectsOfType(); OutOfBoundsHandler[] array2 = array; foreach (OutOfBoundsHandler val in array2) { if (((CharacterData)Traverse.Create((object)val).Field("data").GetValue()).player.playerID == ((CharacterData)Traverse.Create((object)player).Field("data").GetValue()).player.playerID) { handler = val; return; } } warpsLeft = CharacterStatModifiersExtension.GetAdditionalData(player.data.stats).maxWarps; } public void Update() { //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_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_0100: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)handler != (Object)null) { pos = Vector2.op_Implicit(OutOfBoundsHandlerExtensions.BoundsPointFromWorldPosition(handler, ((Component)player.data).transform.position)); } else { OutOfBoundsHandler[] array = Object.FindObjectsOfType(); OutOfBoundsHandler[] array2 = array; foreach (OutOfBoundsHandler val in array2) { if (((CharacterData)Traverse.Create((object)val).Field("data").GetValue()).player.playerID == ((CharacterData)Traverse.Create((object)player).Field("data").GetValue()).player.playerID) { handler = val; } } } if (!warping && (Object)(object)player != (Object)null && PlayerStatus.PlayerAliveAndSimulated(player)) { WarpX(Vector2.op_Implicit(pos)); WarpY(Vector2.op_Implicit(pos)); } if (cd >= 0f) { cd -= TimeHandler.deltaTime; } } public void OnEnable() { warpsLeft = CharacterStatModifiersExtension.GetAdditionalData(player.data.stats).maxWarps; } private void WarpX(Vector3 pos) { //IL_001b: 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_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_0140: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Unknown result type (might be due to invalid IL or missing references) if (!(cd <= 0f)) { return; } bool flag = false; if ((double)pos.x >= 0.99 || (double)pos.x <= 0.01) { flag = true; pos.x = 1f - pos.x; } if (!flag) { warping = false; } if (!((Object)(object)handler != (Object)null && flag) || warping || warpsLeft <= 0 || Object.op_Implicit((Object)(object)Physics2D.OverlapCircle(Vector2.op_Implicit(OutOfBoundsHandlerExtensions.WorldPositionFromBoundsPoint(handler, pos)), 0.15f, LayerMask.op_Implicit((LayerMask)ExtensionMethods.GetFieldValue((object)((Component)player).GetComponentInParent(), "groundMask"))))) { return; } if (!warping) { ExtensionMethods.ExecuteAfterSeconds((MonoBehaviour)(object)ChaosPoppycarsCardsComplex.Instance, 0.1f, (Action)delegate { warping = false; warpsLeft--; }); } warping = true; ((Component)player).GetComponentInParent().IgnoreWallForFrames(3); cd = 0.1f; ExtensionMethods.SetXPosition(((Component)player).transform, OutOfBoundsHandlerExtensions.WorldPositionFromBoundsPoint(handler, pos).x); } private void WarpY(Vector3 pos) { //IL_001b: 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_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_0121: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) if (!(cd <= 0f)) { return; } bool flag = false; if ((double)pos.y >= 0.989 || (double)pos.y <= 0.011) { flag = true; pos.y = 1f - pos.y; } if (!flag) { warping = false; } if (!((Object)(object)handler != (Object)null && flag) || warping || warpsLeft <= 0 || Object.op_Implicit((Object)(object)Physics2D.OverlapCircle(Vector2.op_Implicit(OutOfBoundsHandlerExtensions.WorldPositionFromBoundsPoint(handler, pos)), 0.15f))) { return; } if (!warping) { ExtensionMethods.ExecuteAfterSeconds((MonoBehaviour)(object)ChaosPoppycarsCardsComplex.Instance, 0.1f, (Action)delegate { warping = false; warpsLeft--; }); } warping = true; ((Component)player).GetComponentInParent().IgnoreWallForFrames(3); cd = 0.1f; ExtensionMethods.SetYPosition(((Component)player).transform, OutOfBoundsHandlerExtensions.WorldPositionFromBoundsPoint(handler, pos).y); } } public class SentryGunMono : MonoBehaviour, IPointEndHookHandler { private Block block; private Player player; private Gun gun; private GameObject test; private Vector3 temp; private Vector3 aim; private int ammo = 3; private float cd = 0f; private PhotonView photonView; public SimulatedGun[] savedGuns = (SimulatedGun[])(object)new SimulatedGun[1]; public void OnDestroy() { InterfaceGameModeHooksManager.instance.RemoveHooks((object)this); Block obj = block; obj.BlockAction = (Action)Delegate.Remove(obj.BlockAction, new Action(OnBlock)); Gun obj2 = gun; obj2.ShootPojectileAction = (Action)Delegate.Remove(obj2.ShootPojectileAction, new Action(OnShootProjectileAction)); Object.Destroy((Object)(object)test); Object.Destroy((Object)(object)savedGuns[0]); } private void OnBlock(BlockTriggerType trigger) { //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)test == (Object)null) { test = Object.Instantiate(ChaosPoppycarsCardsComplex.Bundle.LoadAsset("TestObj")); } temp = ((Component)player).transform.position; aim = new Vector3(player.data.input.aimDirection.x, player.data.input.aimDirection.y, 0f); test.transform.position = temp; test.GetComponent().color = player.GetTeamColors().color; ammo = gun.gunAmmo.maxAmmo * 2; } public void OnShootProjectileAction(GameObject obj) { if (obj.GetComponentsInChildren().Length != 0) { return; } SimulatedGun Sentry = savedGuns[0]; Sentry.CopyGunStatsExceptActions(gun); Sentry.CopyAttackAction(gun); Sentry.CopyShootProjectileAction(gun); SimulatedGun obj2 = Sentry; ((Gun)obj2).ShootPojectileAction = (Action)Delegate.Remove(((Gun)obj2).ShootPojectileAction, new Action(OnShootProjectileAction)); ((Gun)Sentry).objectsToSpawn = ((Gun)Sentry).objectsToSpawn.Concat(StopRecursionMono.StopRecursionSpawn).ToArray(); ((Gun)Sentry).bursts = 0; ((Gun)Sentry).damage = gun.damage / 2f; ((Gun)Sentry).numberOfProjectiles = 1; ExtensionMethods.ExecuteAfterFrames((MonoBehaviour)(object)ChaosPoppycarsCardsComplex.Instance, 2, (Action)delegate { //IL_005b: 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) if ((Object)(object)test != (Object)null && ammo > 0 && cd <= 0f) { Sentry.SimulatedAttack(player.playerID, temp, aim, 1f, 1f, (Transform)null, false); ammo--; cd += 0.1f; } }); } public void OnPointEnd() { CPCDebug.Log((object)"[CPCComplex][Test] Round Ended"); if ((Object)(object)test != (Object)null) { Object.Destroy((Object)(object)test); } } public void Start() { //IL_0075: Unknown result type (might be due to invalid IL or missing references) InterfaceGameModeHooksManager.instance.RegisterHooks((object)this); photonView = ((Component)this).GetComponent(); player = ((Component)this).gameObject.GetComponent(); gun = player.data.weaponHandler.gun; block = ((Component)player).GetComponent(); if ((Object)(object)savedGuns[0] == (Object)null) { savedGuns[0] = new GameObject("BlockBullets").AddComponent(); } Block obj = block; obj.BlockAction = (Action)Delegate.Combine(obj.BlockAction, new Action(OnBlock)); Gun obj2 = gun; obj2.ShootPojectileAction = (Action)Delegate.Combine(obj2.ShootPojectileAction, new Action(OnShootProjectileAction)); } public void Update() { //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0054: 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_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00c7: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)test != (Object)null && player.data.view.IsMine) { Vector3 val = Camera.main.ScreenToWorldPoint(Input.mousePosition) - test.transform.position; float num = Mathf.Atan2(val.y, val.x) * 57.29578f - 45f; test.transform.rotation = Quaternion.AngleAxis(num, Vector3.forward); aim = new Vector3(val.x, val.y, 0f); photonView.RPC("SyncDir", (RpcTarget)1, new object[2] { num, val }); } if (cd > 0f) { cd -= TimeHandler.deltaTime; } } [PunRPC] public void SyncDir(float angle, Vector3 Direction) { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) //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) test.transform.rotation = Quaternion.AngleAxis(angle, Vector3.forward); aim = new Vector3(Direction.x, Direction.y, 0f); } } internal class ShadowCloakMono : MonoBehaviour { private Player player; private PlayerActions playerActions; private float countDown = 0f; private bool called = false; public void Awake() { player = ((Component)this).GetComponentInParent(); playerActions = player.data.playerActions; countDown = 0f; called = false; } public void Start() { } public void Update() { //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_016f: Unknown result type (might be due to invalid IL or missing references) //IL_018e: Unknown result type (might be due to invalid IL or missing references) //IL_0113: Unknown result type (might be due to invalid IL or missing references) //IL_012d: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_01f2: Unknown result type (might be due to invalid IL or missing references) //IL_0201: Unknown result type (might be due to invalid IL or missing references) //IL_0206: Unknown result type (might be due to invalid IL or missing references) if (playerActions != null && PlayerActionsExtension.ActionIsPressed(playerActions, "BlockPhaseAction") && countDown <= 3f) { ((Behaviour)((Component)player).GetComponentInParent()).enabled = false; if (Object.op_Implicit((Object)(object)Physics2D.OverlapCircle(Vector2.op_Implicit(((Component)player.data).transform.position), 0.05f, LayerMask.op_Implicit((LayerMask)ExtensionMethods.GetFieldValue((object)((Component)player).GetComponentInParent(), "groundMask"))))) { countDown += TimeHandler.deltaTime; } } if ((playerActions != null && !PlayerActionsExtension.ActionIsPressed(playerActions, "BlockPhaseAction")) || countDown >= 3f) { if (!((Behaviour)((Component)player).GetComponentInParent()).enabled) { ExtensionMethods.SetFieldValue((object)((Component)player).GetComponentInParent(), "lastPos", (object)new Vector2(((Component)player.data).transform.position.x, ((Component)player.data).transform.position.y)); ((Behaviour)((Component)player).GetComponentInParent()).enabled = true; } if (Object.op_Implicit((Object)(object)Physics2D.OverlapCircle(Vector2.op_Implicit(((Component)player.data).transform.position), 0.05f, LayerMask.op_Implicit((LayerMask)ExtensionMethods.GetFieldValue((object)((Component)player).GetComponentInParent(), "groundMask"))))) { ((Component)player).GetComponentInParent().IgnoreWallForFrames(5); ((Behaviour)((Component)player).GetComponentInParent()).enabled = false; ExtensionMethods.SetFieldValue((object)((Component)player).GetComponent(), "velocity", (object)((Vector2)ExtensionMethods.GetFieldValue((object)((Component)player).GetComponent(), "velocity") + new Vector2(0f, 25f))); } } if (countDown >= 3f && !called) { ExtensionMethods.ExecuteAfterSeconds((MonoBehaviour)(object)ChaosPoppycarsCardsComplex.Instance, 4.5f, (Action)delegate { countDown = 0f; called = false; }); called = true; } } public void OnDisable() { countDown = 0f; called = false; } public void OnEnable() { ((Behaviour)((Component)player).GetComponentInParent()).enabled = true; } } public class SimulatedGunTest : MonoBehaviour { private Player player; private Gun gun; public SimulatedGun[] savedGuns = (SimulatedGun[])(object)new SimulatedGun[1]; public static GameObject _stopRecursionObj; public static GameObject StopRecursionObj { get { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown if ((Object)(object)_stopRecursionObj == (Object)null) { _stopRecursionObj = new GameObject("A_StopRecursion", new Type[1] { typeof(StopRecursion) }); Object.DontDestroyOnLoad((Object)(object)_stopRecursionObj); } return _stopRecursionObj; } } public static ObjectsToSpawn[] StopRecursionSpawn => (ObjectsToSpawn[])(object)new ObjectsToSpawn[1] { new ObjectsToSpawn { AddToProjectile = StopRecursionObj } }; public void Start() { //IL_006e: Unknown result type (might be due to invalid IL or missing references) player = ((Component)this).GetComponentInParent(); gun = player.data.weaponHandler.gun; Gun obj = gun; obj.ShootPojectileAction = (Action)Delegate.Combine(obj.ShootPojectileAction, new Action(OnShootProjectileAction)); if ((Object)(object)savedGuns[0] == (Object)null) { savedGuns[0] = new GameObject("OPPOSITE-Gun").AddComponent(); } } public void OnShootProjectileAction(GameObject obj) { if (obj.GetComponentsInChildren().Length != 0) { return; } SimulatedGun oppositeGun = savedGuns[0]; oppositeGun.CopyGunStatsExceptActions(gun); oppositeGun.CopyAttackAction(gun); oppositeGun.CopyShootProjectileAction(gun); SimulatedGun obj2 = oppositeGun; ((Gun)obj2).ShootPojectileAction = (Action)Delegate.Remove(((Gun)obj2).ShootPojectileAction, new Action(OnShootProjectileAction)); ((Gun)oppositeGun).numberOfProjectiles = 1; ((Gun)oppositeGun).bursts = 0; ((Gun)oppositeGun).objectsToSpawn = ((Gun)oppositeGun).objectsToSpawn.Concat(StopRecursionSpawn).ToArray(); if (player.data.view.IsMine || PhotonNetwork.OfflineMode) { ExtensionMethods.ExecuteAfterFrames((MonoBehaviour)(object)ChaosPoppycarsCardsComplex.Instance, 15, (Action)delegate { //IL_0027: 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_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00f0: Unknown result type (might be due to invalid IL or missing references) oppositeGun.SimulatedAttack(player.playerID, new Vector3(((Component)gun).transform.position.x + 2f * (player.data.input.aimDirection.x * -1f), ((Component)gun).transform.position.y - 0.5f * player.data.input.aimDirection.y, 0f), new Vector3(player.data.input.aimDirection.x * -1f, player.data.input.aimDirection.y, 0f), 1f, 1f, (Transform)null, false); }); } } public void OnDestroy() { Gun obj = gun; obj.ShootPojectileAction = (Action)Delegate.Remove(obj.ShootPojectileAction, new Action(OnShootProjectileAction)); Object.Destroy((Object)(object)savedGuns[0]); } } } namespace CPCComplex.Cards { internal class SmallerMap : CustomCard { protected override GameObject GetCardBase() { return NullManager.instance.AntiCardBase; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { CardInfoExtension.SetAntiCard(cardInfo); CPCDebug.Log((object)("[CPCComplex][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.mapSizeI -= 0.25f; CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Shrinkage"; } protected override string GetDescription() { return "The map is too big"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_Shrinkage"); } 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("Rare"); } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[1] { new CardInfoStat { positive = true, stat = "Map Size", amount = "-25%", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)3; } public override string GetModName() { return "CPC"; } } internal class BlockPusher : CustomCard { internal static CardInfo Card; public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.attackSpeed = 1.5f; CPCDebug.Log((object)("[CPCComplex][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) { CooldownBlock orAddComponent = ExtensionMethods.GetOrAddComponent(((Component)player).gameObject, false); CharacterStatModifiersAdditionalData additionalData = CharacterStatModifiersExtension.GetAdditionalData(characterStats); additionalData.blockMoveStrength += 1f; CharacterStatModifiersExtension.GetAdditionalData(characterStats).blockMover = true; CharacterStatModifiersExtension.GetAdditionalData(characterStats).blockPush = true; gun.reflects = 0; CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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) { CooldownBlock orAddComponent = ExtensionMethods.GetOrAddComponent(((Component)player).gameObject, false); Object.Destroy((Object)(object)orAddComponent); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Block Mover"; } protected override string GetDescription() { return "Your bullets now move objects, press R (left dpad on controller) to switch the direction they move [Each move has a 3 second cooldown]"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_BlockPusher"); } 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("Divine"); } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Expected O, but got Unknown //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[3] { new CardInfoStat { positive = true, stat = "Block Moving Strength", amount = "+1", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Bounces", amount = "Reset", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Attack Speed", amount = "-50%", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)3; } public override string GetModName() { return "CPC"; } } internal class BlockSentryGun : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { block.cdMultiplier = 1.25f; cardInfo.allowMultiple = false; CPCDebug.Log((object)("[CPCComplex][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) { BlockBullets orAddComponent = ExtensionMethods.GetOrAddComponent(((Component)player).gameObject, false); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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) { BlockBullets orAddComponent = ExtensionMethods.GetOrAddComponent(((Component)player).gameObject, false); Object.Destroy((Object)(object)orAddComponent); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Delayed Sentry"; } protected override string GetDescription() { return "When you block you place a sentry gun that fires 3 bullets 1.5 seconds after you place it [1.5 second placement cooldown]"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_BlockSentryGun"); } 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 Cooldown", amount = "+25%", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)7; } public override string GetModName() { return "CPC"; } } internal class BouncyBombs : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.reflects = 2; gun.speedMOnBounce = 1.05f; gun.attackSpeed = 1.5f; CPCDebug.Log((object)("[CPCComplex][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_000b: Unknown result type (might be due to invalid IL or missing references) ObjectsToSpawn item = ((GameObject)Resources.Load("0 cards/Mayhem")).GetComponent().objectsToSpawn[0]; List list = gun.objectsToSpawn.ToList(); list.Add(item); gun.objectsToSpawn = list.ToArray(); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Bouncy Bombs"; } protected override string GetDescription() { return "Your bullets turn into bouncy bombs"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_BouncyBombs"); } 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 = "Bounces", amount = "+2", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Bullet Speed On Bounce", amount = "+5%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Attack Speed", amount = "-50%", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)3; } public override string GetModName() { return "CPC"; } } internal class LegendaryJackpot : CustomCard { 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[2] { CustomCardCategories.instance.CardCategory("CardManipulation"), RerollManager.instance.NoFlip }; CPCDebug.Log((object)("[CPCComplex][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)ChaosPoppycarsCardsComplex.Instance, 10, (Action)delegate { CardInfo randomCardWithCondition = Cards.instance.GetRandomCardWithCondition(player, gun, gunAmmo, data, health, gravity, block, characterStats, (Func)LegendCondition, 1000); Cards.instance.AddCardToPlayer(player, randomCardWithCondition, false, "", 2f, 2f, true); CardBarUtils.instance.ShowImmediate(player, randomCardWithCondition, (float?)3f); }); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } private bool LegendCondition(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_000c: Unknown result type (might be due to invalid IL or missing references) return card.rarity == RarityUtils.GetRarity("Legendary") && card.cardName != "Peptide" && !card.categories.Intersect(ScareJackpot.noLotteryCategories).Any(); } 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}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Legendary Jackpot"; } protected override string GetDescription() { return "gives you a random <#b2b200>Legendary card"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_LegendaryJackpot"); } 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 = true, stat = "Legendary", amount = "+1", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)8; } public override string GetModName() { return "CPC"; } } internal class Nullgendary : CustomCard { 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[2] { CustomCardCategories.instance.CardCategory("CardManipulation"), RerollManager.instance.NoFlip }; CPCDebug.Log((object)("[CPCComplex][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)ChaosPoppycarsCardsComplex.Instance, 10, (Action)delegate { CardInfo randomCardWithCondition = Cards.instance.GetRandomCardWithCondition(player, gun, gunAmmo, data, health, gravity, block, characterStats, (Func)LegendCondition, 1000); Cards.instance.AddCardToPlayer(player, randomCardWithCondition, false, "", 2f, 2f, true); CardBarUtils.instance.ShowImmediate(player, randomCardWithCondition, (float?)3f); }); CharacterStatModifiersExtension.AjustNulls(characterStats, 30); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Ancient distill power"; } protected override string GetDescription() { return "gives you a random <#b2b200>Legendary card at the price of a lot of nulls"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_AncientDistillPower"); } protected override Rarity GetRarity() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (Rarity)0; } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[2] { new CardInfoStat { positive = true, stat = "Legendary", amount = "+1", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Nulls", amount = "+30", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)8; } public override string GetModName() { return "CPC"; } private bool LegendCondition(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_000c: Unknown result type (might be due to invalid IL or missing references) return card.rarity == RarityUtils.GetRarity("Legendary") && card.cardName != "Peptide" && !card.categories.Intersect(ScareJackpot.noLotteryCategories).Any(); } } internal class RoyalGifting : CustomCard { 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] { RerollManager.instance.NoFlip, CurseManager.instance.curseSpawnerCategory, CustomCardCategories.instance.CardCategory("CardManipulation") }; CPCDebug.Log((object)("[CPCComplex][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)ChaosPoppycarsCardsComplex.Instance, 3, (Action)delegate { CardInfo randomCardWithCondition = Cards.instance.GetRandomCardWithCondition(player, gun, gunAmmo, data, health, gravity, block, characterStats, (Func)RareCondition, 1000); Cards.instance.AddCardToPlayer(player, randomCardWithCondition, false, "", 2f, 2f, true); CardBarUtils.instance.ShowImmediate(player, randomCardWithCondition, (float?)3f); CurseManager.instance.CursePlayer(player, (Action)delegate(CardInfo curse) { CardBarUtils.instance.ShowImmediate(player, curse, (float?)3f); }); CardInfo randomCardWithCondition2 = Cards.instance.GetRandomCardWithCondition(player, gun, gunAmmo, data, health, gravity, block, characterStats, (Func)UncommonCondition, 1000); Cards.instance.AddCardToPlayer(player, randomCardWithCondition2, false, "", 2f, 2f, true); CardBarUtils.instance.ShowImmediate(player, randomCardWithCondition2, (float?)3f); CurseManager.instance.CursePlayer(player, (Action)delegate(CardInfo curse) { CardBarUtils.instance.ShowImmediate(player, curse, (float?)3f); }); CardInfo randomCardWithCondition3 = Cards.instance.GetRandomCardWithCondition(player, gun, gunAmmo, data, health, gravity, block, characterStats, (Func)CommonCondition, 1000); CardInfo randomCardWithCondition4 = Cards.instance.GetRandomCardWithCondition(player, gun, gunAmmo, data, health, gravity, block, characterStats, (Func)CommonCondition, 1000); Cards.instance.AddCardToPlayer(player, randomCardWithCondition3, false, "", 2f, 2f, true); CardBarUtils.instance.ShowImmediate(player, randomCardWithCondition3, (float?)3f); Cards.instance.AddCardToPlayer(player, randomCardWithCondition4, false, "", 2f, 2f, true); CardBarUtils.instance.ShowImmediate(player, randomCardWithCondition4, (float?)3f); CurseManager.instance.CursePlayer(player, (Action)delegate(CardInfo curse) { CardBarUtils.instance.ShowImmediate(player, curse, (float?)3f); }); }); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } private bool ScarceCondition(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_000c: Unknown result type (might be due to invalid IL or missing references) return card.rarity == RarityUtils.GetRarity("Exotic") && !card.categories.Intersect(ScareJackpot.noLotteryCategories).Any(); } 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 != "Distill" && card.cardName != "Genie" && !card.categories.Intersect(ScareJackpot.noLotteryCategories).Any(); } private bool UncommonCondition(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 == 1 && card.cardName != "Copy" && !card.categories.Intersect(ScareJackpot.noLotteryCategories).Any(); } private bool CommonCondition(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) return (int)card.rarity == 0 && !card.categories.Intersect(ScareJackpot.noLotteryCategories).Any(); } 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}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Royal Gifting"; } protected override string GetDescription() { return "gives you 2 commons, 1 uncommon, 1 rare, and 3 curses"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_RoyalGifitng"); } 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("Legendary"); } 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 = "Rare", amount = "+1", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Uncommon", amount = "+1", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Commons", amount = "+2", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Curses", amount = "+3", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)8; } public override string GetModName() { return "CPC"; } } internal class ScareJackpot : 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[2] { CustomCardCategories.instance.CardCategory("CardManipulation"), RerollManager.instance.NoFlip }; CPCDebug.Log((object)("[CPCComplex][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)ChaosPoppycarsCardsComplex.Instance, 10, (Action)delegate { CardInfo randomCardWithCondition = Cards.instance.GetRandomCardWithCondition(player, gun, gunAmmo, data, health, gravity, block, characterStats, (Func)ScarceCondition, 1000); Cards.instance.AddCardToPlayer(player, randomCardWithCondition, false, "", 2f, 2f, true); CardBarUtils.instance.ShowImmediate(player, randomCardWithCondition, (float?)3f); }); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Exotic Jackpot"; } protected override string GetDescription() { return "gives you a random <#0A32FF>Exotic card"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_ScarceJackpot"); } protected override Rarity GetRarity() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (Rarity)1; } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[1] { new CardInfoStat { positive = true, stat = "Exotic", amount = "+1", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)8; } public override string GetModName() { return "CPC"; } private bool ScarceCondition(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_000c: Unknown result type (might be due to invalid IL or missing references) return card.rarity == RarityUtils.GetRarity("Exotic") && card.cardName != "Peptide" && !card.categories.Intersect(noLotteryCategories).Any(); } } internal class CelesteDashCard : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { CPCDebug.Log((object)("[CPCComplex][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) { CelesteDash orAddComponent = ExtensionMethods.GetOrAddComponent(((Component)player).gameObject, false); CharacterStatModifiersAdditionalData additionalData = CharacterStatModifiersExtension.GetAdditionalData(characterStats); additionalData.dashes++; CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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) { CelesteDash orAddComponent = ExtensionMethods.GetOrAddComponent(((Component)player).gameObject, false); Object.Destroy((Object)(object)orAddComponent); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Celeste Dash"; } protected override string GetDescription() { return "Press the middle mouse button (right bumper on controller) to dash! (recharges when you touch the ground)"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_CelesteDash"); } 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 = true, stat = "Dashes", amount = "+1", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)7; } public override string GetModName() { return "CPC"; } } internal class Commonality : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { CardInfoExtension.GetAdditionalData(cardInfo).canBeReassigned = false; PickManager.RegisterShuffleCard(cardInfo, 0, false, (Func)null, 1, (Action)null, (Action)null); CPCDebug.Log((object)("[CPCComplex][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}.", "CPCComplex", ((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}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Commonality"; } protected override string GetDescription() { return "I love commons"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_Commonality"); } 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("Common"); } 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 = "Common Card Chance", amount = "+100%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Shuffle", amount = "+1", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)3; } public override string GetModName() { return "CPC"; } } internal class CursorFearCard : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.damage = 1.5f; statModifiers.numberOfJumps = 2; statModifiers.movementSpeed = 1.25f; CPCDebug.Log((object)("[CPCComplex][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.cursorFear += 15f; CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Cursor Fear"; } protected override string GetDescription() { return "You hate the cursor and always move away from it"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_CursorFear"); } protected override Rarity GetRarity() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (Rarity)2; } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Expected O, but got Unknown //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[3] { new CardInfoStat { positive = true, stat = "Damage", amount = "+50%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Jumps", amount = "+2", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Movement Speed", amount = "+25%", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)7; } public override string GetModName() { return "CPC"; } } internal class CursorLoveCard : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { statModifiers.health = 1.5f; statModifiers.regen = 10f; CPCDebug.Log((object)("[CPCComplex][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.ExtraHeal += 0.25f; CharacterStatModifiersAdditionalData additionalData2 = CharacterStatModifiersExtension.GetAdditionalData(characterStats); additionalData2.cursorFear -= 15f; CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Cursor Love"; } protected override string GetDescription() { return "You love the cursor and always move twords it"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_CursorLove"); } 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 = "Health", amount = "+50%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Regen", amount = "+10", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Healing", amount = "+25%", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)7; } public override string GetModName() { return "CPC"; } } internal class ElephantRave : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.categories = (CardCategory[])(object)new CardCategory[1] { CustomCardCategories.instance.CardCategory("cantEternity") }; CardInfoExtension.GetAdditionalData(cardInfo).canBeReassigned = false; statModifiers.health = 1.25f; statModifiers.movementSpeed = 1.25f; gun.damage = 1.25f; CPCDebug.Log((object)("[CPCComplex][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)ChaosPoppycarsCardsComplex.Instance, 5, (Action)delegate { CardInfo cardWithObjectName = Cards.instance.GetCardWithObjectName("__CPC__Rave"); foreach (Player otherPlayer in PlayerStatus.GetOtherPlayers(player)) { Cards.instance.AddCardToPlayer(otherPlayer, cardWithObjectName, false, "", 2f, 2f, true); CardBarUtils.instance.ShowImmediate(otherPlayer, cardWithObjectName, (float?)3f); } Cards.instance.AddCardToPlayer(player, cardWithObjectName, false, "", 2f, 2f, true); CardBarUtils.instance.ShowImmediate(player, cardWithObjectName, (float?)3f); }); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Elephant Rave"; } protected override string GetDescription() { return "The trials of the young elephant are set to resume after a long hibernation, a new challenge begins"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_ElephantRave"); } 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("Legendary"); } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Expected O, but got Unknown //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[3] { new CardInfoStat { positive = true, stat = "Health", amount = "+25%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Damage", amount = "+25%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Movement Speed", amount = "+25%", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)7; } public override string GetModName() { return "CPC"; } } internal class FriendNulls : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { CardInfoExtension.GetAdditionalData(cardInfo).canBeReassigned = false; CPCDebug.Log((object)("[CPCComplex][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) { foreach (Player otherPlayer in PlayerStatus.GetOtherPlayers(player)) { CharacterStatModifiersExtension.AjustNulls(characterStats, 5); gun.damage *= 1.2f; } CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } public override void OnReassignCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { foreach (Player otherPlayer in PlayerStatus.GetOtherPlayers(player)) { gun.damage *= 1.2f; } } protected override string GetTitle() { return "Null players"; } protected override string GetDescription() { return "Gives you +20% damage but +5 nulls for every other player"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_NullPlayers"); } protected override Rarity GetRarity() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (Rarity)1; } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[2] { new CardInfoStat { positive = true, stat = "Damage per other player", amount = "+20%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Nulls per other player", amount = "+5", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)8; } public override string GetModName() { return "CPC"; } } internal class FuckyWuckyAnimatorCard : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; statModifiers.numberOfJumps = 2; CPCDebug.Log((object)("[CPCComplex][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 (CharacterStatModifiersExtension.GetAdditionalData(characterStats).damageReductionFlat < 0.8f) { CharacterStatModifiersAdditionalData additionalData = CharacterStatModifiersExtension.GetAdditionalData(characterStats); additionalData.damageReductionFlat += 0.2f; } Animator orAddComponent = ExtensionMethods.GetOrAddComponent(((Component)player).gameObject, false); orAddComponent.runtimeAnimatorController = ChaosPoppycarsCardsComplex.Bundle.LoadAsset("PlayerAnimatorSpeed"); orAddComponent.speed = 0.35f; CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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) { Animator orAddComponent = ExtensionMethods.GetOrAddComponent(((Component)player).gameObject, false); Object.Destroy((Object)(object)orAddComponent); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Set Speed"; } protected override string GetDescription() { return "Your movement speed goes between 5 and -5"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_FWAC"); } protected override Rarity GetRarity() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (Rarity)2; } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[2] { new CardInfoStat { positive = true, stat = "Jumps", amount = "+2", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Damage Reduction", 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)7; } public override string GetModName() { return "CPC"; } } internal class GeeseSwarm : CustomCard { internal static CardInfo Card; public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.damage = 1.1f; statModifiers.lifeSteal = 0.25f; statModifiers.health = 1.5f; statModifiers.numberOfJumps = 3; CPCDebug.Log((object)("[CPCComplex][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_0006: Unknown result type (might be due to invalid IL or missing references) Rarity rarityData = RarityUtils.GetRarityData(RarityUtils.GetRarity("Geese")); rarityData.calculatedRarity += 4f; CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) Rarity rarityData = RarityUtils.GetRarityData(RarityUtils.GetRarity("Geese")); rarityData.calculatedRarity -= 4f; CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Geese Swarm"; } protected override string GetDescription() { return "Unleash The Geese onto your opponents (each stack makes the goose cards more common)"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_GeeseSwarm"); } 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 = "Damage", amount = "+10%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Life Steal", amount = "+25%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Health", amount = "+50%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Jumps", amount = "+3", 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("Geese Gray", (CardThemeColor)null); } public override string GetModName() { return "CPC"; } } internal class GoldGoose : CustomCard { internal static CardInfo Card; public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = true; cardInfo.categories = (CardCategory[])(object)new CardCategory[2] { CustomCardCategories.CanDrawMultipleCategory, ChaosPoppycarsCardsComplex.CPCCardCategories.GeeseCategory }; statModifiers.numberOfJumps = 5; CPCDebug.Log((object)("[CPCComplex][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) { gun.damage += 0.45454547f; data.maxHealth += 25f; CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Gold Goose"; } protected override string GetDescription() { return "Honk"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_GoldGoose"); } 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("Geese"); } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Expected O, but got Unknown //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[3] { new CardInfoStat { positive = true, stat = "Jumps", amount = "+5", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Damage", amount = "+25", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Health", 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("Geese Gray", (CardThemeColor)null); } public override string GetModName() { return "CPC"; } } internal class Goose : CustomCard { internal static CardInfo Card; public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = true; cardInfo.categories = (CardCategory[])(object)new CardCategory[2] { CustomCardCategories.CanDrawMultipleCategory, ChaosPoppycarsCardsComplex.CPCCardCategories.GeeseCategory }; statModifiers.numberOfJumps = 1; CPCDebug.Log((object)("[CPCComplex][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) { gun.damage += 1f / 11f; data.maxHealth += 5f; CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Goose"; } protected override string GetDescription() { return "Honk"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_Goose"); } 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("Geese"); } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Expected O, but got Unknown //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[3] { new CardInfoStat { positive = true, stat = "Jumps", amount = "+1", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Damage", amount = "+5", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Health", amount = "+5", 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("Geese Gray", (CardThemeColor)null); } public override string GetModName() { return "CPC"; } } internal class KnifeGoose : CustomCard { internal static CardInfo Card; public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = true; cardInfo.categories = (CardCategory[])(object)new CardCategory[2] { CustomCardCategories.CanDrawMultipleCategory, ChaosPoppycarsCardsComplex.CPCCardCategories.GeeseCategory }; gun.ammo = -1; gun.reloadTime = 1.2f; gun.damage = 1.15f; CPCDebug.Log((object)("[CPCComplex][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}.", "CPCComplex", ((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}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Knife Goose"; } protected override string GetDescription() { return "Honk"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_KnifeGoose"); } 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("Geese"); } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Expected O, but got Unknown //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[3] { new CardInfoStat { positive = true, stat = "Damage", amount = "+15%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Ammo", amount = "-1", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Reload Time", amount = "+20%", 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("Geese Gray", (CardThemeColor)null); } public override string GetModName() { return "CPC"; } } internal class Getaway : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; CPCDebug.Log((object)("[CPCComplex][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_004a: Unknown result type (might be due to invalid IL or missing references) HealthBasedEffect val = ((Component)player).gameObject.AddComponent(); ((ReversibleEffect)val).characterStatModifiersModifier.movementSpeed_mult = 2f; ((ReversibleEffect)val).gunStatModifier.attackSpeed_mult = 0.5f; ((ReversibleEffect)val).gunStatModifier.knockback_mult = 11f; val.SetPercThresholdMax(0.5f); val.SetColor(Color.yellow); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "GET OFF OF ME"; } protected override string GetDescription() { return "Once below 50% hp gain movment speed, attack speed, and knockback"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_GETAWAY"); } protected override Rarity GetRarity() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (Rarity)1; } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Expected O, but got Unknown //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Expected O, but got Unknown //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[4] { new CardInfoStat { positive = true, stat = "WHEN BELOW 50%", amount = "", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Movement Speed", amount = "+100%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Attack Speed", amount = "+50%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Knockback", amount = "+1000%", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)2; } public override string GetModName() { return "CPC"; } } internal class GoodGirlCard : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { ExtensionMethods.GetOrAddComponent(((Component)cardInfo).gameObject, false).LuckAdd = 100; CPCDebug.Log((object)("[CPCComplex][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) { DrawNCards.SetPickerDraws(player.playerID, DrawNCards.GetPickerDraws(player.playerID) + 2); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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) { DrawNCards.SetPickerDraws(player.playerID, DrawNCards.GetPickerDraws(player.playerID) - 2); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Good Girl"; } protected override string GetDescription() { return ""; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_GoodGirl"); } 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("Rare"); } 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 = "Hand Size", amount = "+2", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Luck", amount = "+100", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)8; } public override string GetModName() { return "CPC"; } } internal class GothGirlCard : CustomCard { 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[1] { CustomCardCategories.instance.CardCategory("cantEternity") }; CPCDebug.Log((object)("[CPCComplex][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)ChaosPoppycarsCardsComplex.Instance, 5, (Action)delegate { CardInfo cardWithObjectName = Cards.instance.GetCardWithObjectName("__CPC__Goth"); foreach (Player otherPlayer in PlayerStatus.GetOtherPlayers(player)) { Cards.instance.AddCardToPlayer(otherPlayer, cardWithObjectName, false, "", 2f, 2f, true); CardBarUtils.instance.ShowImmediate(otherPlayer, cardWithObjectName, (float?)3f); } Cards.instance.AddCardToPlayer(player, cardWithObjectName, false, "", 2f, 2f, true); CardBarUtils.instance.ShowImmediate(player, cardWithObjectName, (float?)3f); }); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Goth Girl"; } protected override string GetDescription() { return ""; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_GothGirl"); } 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("Epic"); } 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 = "Everyones Hand Size", amount = "-3", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Everyones Luck", amount = "-25", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)7; } public override string GetModName() { return "CPC"; } } internal class HealthBounces : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_003f: Unknown result type (might be due to invalid IL or missing references) cardInfo.allowMultiple = true; gun.reflects = 5; gun.objectsToSpawn = (ObjectsToSpawn[])(object)new ObjectsToSpawn[2] { new ObjectsToSpawn { AddToProjectile = ChaosPoppycarsCardsComplex.Bundle.LoadAsset("HealthBounceObject") }, ((GameObject)Resources.Load("0 cards/Mayhem")).GetComponent().objectsToSpawn[0] }; CPCDebug.Log((object)("[CPCComplex][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) { HealthBounceMono orAddComponent = ExtensionMethods.GetOrAddComponent(((Component)player).gameObject, false); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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) { HealthBounceMono orAddComponent = ExtensionMethods.GetOrAddComponent(((Component)player).gameObject, false); Object.Destroy((Object)(object)orAddComponent); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Health Bounces"; } protected override string GetDescription() { return "Every time your bullet bounces you get 1 hp, resets on round end"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_HealthBounces"); } 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("Legendary"); } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[1] { new CardInfoStat { positive = true, stat = "Bounces", amount = "+5", 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 GothCard : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { ExtensionMethods.GetOrAddComponent(((Component)cardInfo).gameObject, false).LuckAdd = -25; CPCDebug.Log((object)("[CPCComplex][Card] " + ((CustomCard)this).GetTitle() + " has been setup.")); } public override bool GetEnabled() { return false; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { DrawNCards.SetPickerDraws(player.playerID, DrawNCards.GetPickerDraws(player.playerID) - 3); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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) { DrawNCards.SetPickerDraws(player.playerID, DrawNCards.GetPickerDraws(player.playerID) + 3); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Goth"; } protected override string GetDescription() { return ""; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_GothGirl"); } protected override Rarity GetRarity() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (Rarity)0; } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[2] { new CardInfoStat { positive = false, stat = "Hand Size", amount = "-3", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Luck", amount = "-25", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)7; } public override string GetModName() { return "CPC"; } } internal class AirControlOutcomePC : CustomCard { public override bool GetEnabled() { return false; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.categories = (CardCategory[])(object)new CardCategory[1] { CPCCoreCardCategories.PoppysChaosCategory }; CPCDebug.Log((object)("[CPCCore][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) { PlayerMovement movement = player.data.movement; movement.airControl /= 5f; CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCCore", ((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) { PlayerMovement movement = player.data.movement; movement.airControl *= 5f; } protected override string GetTitle() { return "Less Air Control"; } protected override string GetDescription() { return "You got worse air control"; } protected override GameObject GetCardArt() { return null; } 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("Epic"); } protected override CardInfoStat[] GetStats() { return (CardInfoStat[])(object)new CardInfoStat[0]; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)7; } public override string GetModName() { return "CPC"; } } internal class BadAirControlOutcomePC : CustomCard { public override bool GetEnabled() { return false; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.categories = (CardCategory[])(object)new CardCategory[1] { CPCCoreCardCategories.PoppysChaosCategory }; CPCDebug.Log((object)("[CPCCore][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) { PlayerMovement movement = player.data.movement; movement.airControl *= 5f; CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCCore", ((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) { PlayerMovement movement = player.data.movement; movement.airControl /= 5f; } protected override string GetTitle() { return "Air Control"; } protected override string GetDescription() { return "You got better air control"; } protected override GameObject GetCardArt() { return null; } 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("Epic"); } protected override CardInfoStat[] GetStats() { return (CardInfoStat[])(object)new CardInfoStat[0]; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)7; } public override string GetModName() { return "CPC"; } } internal class ChaosPickOutcome : CustomCard { public override bool GetEnabled() { return false; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { CardInfoExtension.GetAdditionalData(cardInfo).canBeReassigned = false; PickManager.RegisterShuffleCard(cardInfo, 0, false, (Func)((CardInfo card) => ((Object)((Component)card).gameObject).name.Equals("__CPC__Poppys Chaos")), 1, (Action)null, (Action)null); cardInfo.categories = (CardCategory[])(object)new CardCategory[1] { CPCCoreCardCategories.PoppysChaosCategory }; CPCDebug.Log((object)("[CPCCore][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_0025: Unknown result type (might be due to invalid IL or missing references) PickManager.GiveConditionalPick(player, 0, false, (Func)((CardInfo card) => ((Object)((Component)card).gameObject).name.Equals("__CPC__Poppys Chaos")), (Action)null, (Action)null); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCCore", ((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) { //IL_0004: 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) PickManager.RemoveConditionalPick(player, new ShuffleData { Condition = (CardInfo card) => ((Object)((Component)card).gameObject).name.Equals("__CPC__Poppys Chaos"), HandSize = 0, Relative = false }); } public override void OnReassignCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { //IL_0025: Unknown result type (might be due to invalid IL or missing references) PickManager.GiveConditionalPick(player, 0, false, (Func)((CardInfo card) => ((Object)((Component)card).gameObject).name.Equals("__CPC__Poppys Chaos")), (Action)null, (Action)null); } protected override string GetTitle() { return "Chaotic Pick"; } protected override string GetDescription() { return "Get an extra pick?"; } protected override GameObject GetCardArt() { return null; } 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("Common"); } protected override CardInfoStat[] GetStats() { return (CardInfoStat[])(object)new CardInfoStat[0]; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)7; } public override string GetModName() { return "CPC"; } } internal class DemonicOutcomePC : CustomCard { public override bool GetEnabled() { return false; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.categories = (CardCategory[])(object)new CardCategory[1] { CPCCoreCardCategories.PoppysChaosCategory }; gun.damage = 2f; gun.reloadTime = 0.75f; CPCDebug.Log((object)("[CPCCore][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}.", "CPCCore", ((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) { } protected override string GetTitle() { return "Hurting Shots"; } protected override string GetDescription() { return "Better gun at a cost"; } protected override GameObject GetCardArt() { return null; } protected override Rarity GetRarity() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (Rarity)1; } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[2] { new CardInfoStat { positive = true, stat = "Damage", amount = "+100%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Reload Speed", amount = "+25%", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)7; } public override string GetModName() { return "CPC"; } } internal class LegendaryOutcomePC : CustomCard { public override bool GetEnabled() { return false; } 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[1] { CPCCoreCardCategories.PoppysChaosCategory }; CPCDebug.Log((object)("[CPCCore][Card] " + ((CustomCard)this).GetTitle() + " has been setup.")); } private bool LegendCondition(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_000c: Unknown result type (might be due to invalid IL or missing references) return card.rarity == RarityUtils.GetRarity("Legendary") && !card.categories.Intersect(ScareJackpot.noLotteryCategories).Any(); } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { ExtensionMethods.ExecuteAfterFrames((MonoBehaviour)(object)ChaosPoppycarsCardsCore.Instance, 10, (Action)delegate { CardInfo randomCardWithCondition = Cards.instance.GetRandomCardWithCondition(player, gun, gunAmmo, data, health, gravity, block, characterStats, (Func)LegendCondition, 1000); Cards.instance.AddCardToPlayer(player, randomCardWithCondition, false, "", 2f, 2f, true); CardBarUtils.instance.ShowImmediate(player, randomCardWithCondition, (float?)3f); }); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCCore", ((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) { } protected override string GetTitle() { return "Legendary"; } protected override string GetDescription() { return "You get a legendary"; } protected override GameObject GetCardArt() { return null; } protected override Rarity GetRarity() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (Rarity)1; } protected override CardInfoStat[] GetStats() { return (CardInfoStat[])(object)new CardInfoStat[0]; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)7; } public override string GetModName() { return "CPC"; } } internal class LifesOutcomePC : CustomCard { public override bool GetEnabled() { return false; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.categories = (CardCategory[])(object)new CardCategory[1] { CPCCoreCardCategories.PoppysChaosCategory }; statModifiers.respawns = 2; CPCDebug.Log((object)("[CPCCore][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) { data.maxHealth = 1f; CharacterStatModifiersExtension.GetAdditionalData(characterStats).useNewRespawnTime = true; CharacterStatModifiersExtension.GetAdditionalData(characterStats).newRespawnTime = 0.5f; CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCCore", ((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) { } protected override string GetTitle() { return "Lifes"; } protected override string GetDescription() { return "You get two lives, but are one shot"; } protected override GameObject GetCardArt() { return null; } protected override Rarity GetRarity() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (Rarity)2; } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[2] { new CardInfoStat { positive = true, stat = "Lifes", amount = "+2", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Health", amount = "1", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)7; } public override string GetModName() { return "CPC"; } } internal class NegativeAirControlOutcomePC : CustomCard { public override bool GetEnabled() { return false; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.categories = (CardCategory[])(object)new CardCategory[1] { CPCCoreCardCategories.PoppysChaosCategory }; CPCDebug.Log((object)("[CPCCore][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) { PlayerMovement movement = player.data.movement; movement.airControl *= -1f; CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCCore", ((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) { PlayerMovement movement = player.data.movement; movement.airControl *= -1f; } protected override string GetTitle() { return "Negative Air Control"; } protected override string GetDescription() { return "You got negative air control"; } protected override GameObject GetCardArt() { return null; } 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() { return (CardInfoStat[])(object)new CardInfoStat[0]; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)7; } public override string GetModName() { return "CPC"; } } internal class NegativeGravityOutcomePC : CustomCard { public override bool GetEnabled() { return false; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.categories = (CardCategory[])(object)new CardCategory[1] { CPCCoreCardCategories.PoppysChaosCategory }; statModifiers.gravity = -0.05f; statModifiers.sizeMultiplier = -1f; statModifiers.numberOfJumps = 9; statModifiers.jump = -1f; CPCDebug.Log((object)("[CPCCore][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}.", "CPCCore", ((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) { } protected override string GetTitle() { return "Flip"; } protected override string GetDescription() { return "Up is now down?"; } protected override GameObject GetCardArt() { return null; } protected override Rarity GetRarity() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (Rarity)1; } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[2] { new CardInfoStat { positive = true, stat = "Jumps", amount = "+9", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Gravity", amount = "Flipped", 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 NullOutcomePC : CustomCard { public override bool GetEnabled() { return false; } 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[1] { CPCCoreCardCategories.PoppysChaosCategory }; CPCDebug.Log((object)("[CPCCore][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) { CharacterStatModifiersExtension.AjustNulls(characterStats, 20); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCCore", ((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) { } protected override string GetTitle() { return "Nulls"; } protected override string GetDescription() { return "You got some nulls"; } protected override GameObject GetCardArt() { return null; } protected override Rarity GetRarity() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (Rarity)0; } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[1] { new CardInfoStat { positive = false, stat = "Nulls", 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)7; } public override string GetModName() { return "CPC"; } } internal class OutcomePick : CustomCard { public override bool GetEnabled() { return false; } 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[1] { CPCCoreCardCategories.PoppysChaosCategory }; CPCDebug.Log((object)("[CPCCore][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) { PickManager.QueueLimitedDraw(player, Cards.instance.HiddenCards.Where((CardInfo card) => card.categories.Contains(CPCCoreCardCategories.PoppysChaosCategory)).ToList(), true, false, 0, false, (Action)null, (Action)null); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCCore", ((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) { } protected override string GetTitle() { return "Pick an outcome"; } protected override string GetDescription() { return "Choose one yourself"; } protected override GameObject GetCardArt() { return null; } 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("Common"); } protected override CardInfoStat[] GetStats() { return (CardInfoStat[])(object)new CardInfoStat[0]; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)7; } public override string GetModName() { return "CPC"; } } internal class ReforgeShuffle : CustomCard { public override bool GetEnabled() { return false; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { CardInfoExtension.NeedsNull(cardInfo); CardInfoExtension.MarkUnNullable(cardInfo); CardInfoExtension.GetAdditionalData(cardInfo).canBeReassigned = false; cardInfo.categories = (CardCategory[])(object)new CardCategory[1] { CPCCoreCardCategories.PoppysChaosCategory }; CPCDebug.Log((object)("[CPCComplex][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) { int nullCount = PlayerExtensions.GetNullCount(player, (Rarity)(-1)); CPCNullData nullData = CharacterStatModifiersExtension.GetAdditionalData(characterStats).nullData; nullData.nullShuffles++; CPCNullData nullData2 = CharacterStatModifiersExtension.GetAdditionalData(characterStats).nullData; nullData2.nullCurses++; for (int i = 0; i < nullCount; i++) { PickManager.QueueShuffleForPicker(player, 0, false, (Func)null); CurseManager.instance.CursePlayer(player, (Action)delegate(CardInfo curse) { CardBarUtils.instance.ShowImmediate(player, curse, (float?)3f); }); } ChaosPoppycarsCardsCore.UpdateNullStatsForPlayer(player); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } public override void OnReassignCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { CPCNullData nullData = CharacterStatModifiersExtension.GetAdditionalData(characterStats).nullData; nullData.nullShuffles++; CPCNullData nullData2 = CharacterStatModifiersExtension.GetAdditionalData(characterStats).nullData; nullData2.nullCurses++; } protected override string GetTitle() { return "Reforge Shuffle"; } protected override string GetDescription() { return "Nulls give you +1 Shuffle and +1 Curse"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_NullPlayers"); } 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("Divine"); } protected override CardInfoStat[] GetStats() { return (CardInfoStat[])(object)new CardInfoStat[0]; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)8; } public override string GetModName() { return "CPC"; } } internal class ShuffleOutcomePC : CustomCard { public override bool GetEnabled() { return false; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { CardInfoExtension.GetAdditionalData(cardInfo).canBeReassigned = false; PickManager.RegisterShuffleCard(cardInfo, 0, false, (Func)null, 2, (Action)null, (Action)null); cardInfo.categories = (CardCategory[])(object)new CardCategory[1] { CPCCoreCardCategories.PoppysChaosCategory }; CPCDebug.Log((object)("[CPCCore][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}.", "CPCCore", ((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) { } protected override string GetTitle() { return "Pick 2"; } protected override string GetDescription() { return "Pick 2 more cards"; } protected override GameObject GetCardArt() { return null; } protected override Rarity GetRarity() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (Rarity)1; } protected override CardInfoStat[] GetStats() { return (CardInfoStat[])(object)new CardInfoStat[0]; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)7; } public override string GetModName() { return "CPC"; } } internal class SingleOutcomePC : CustomCard { public override bool GetEnabled() { return false; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { ExtensionMethods.GetOrAddComponent(((Component)cardInfo).gameObject, false).LuckAdd = 500; cardInfo.categories = (CardCategory[])(object)new CardCategory[1] { CPCCoreCardCategories.PoppysChaosCategory }; CPCDebug.Log((object)("[CPCCore][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) { DrawNCards.SetPickerDraws(player.playerID, 1); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCCore", ((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) { DrawNCards.SetPickerDraws(player.playerID, DrawNCards.numDraws); } protected override string GetTitle() { return "One"; } protected override string GetDescription() { return "Pick from ONE card"; } protected override GameObject GetCardArt() { return null; } 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("Legendary"); } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[1] { new CardInfoStat { positive = true, stat = "Luck", amount = "+500", 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 TwentyOutcomePC : CustomCard { public override bool GetEnabled() { return false; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { ExtensionMethods.GetOrAddComponent(((Component)cardInfo).gameObject, false).LuckAdd = -50; cardInfo.categories = (CardCategory[])(object)new CardCategory[1] { CPCCoreCardCategories.PoppysChaosCategory }; CPCDebug.Log((object)("[CPCCore][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) { DrawNCards.SetPickerDraws(player.playerID, 20); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCCore", ((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) { DrawNCards.SetPickerDraws(player.playerID, DrawNCards.numDraws); } protected override string GetTitle() { return "Twenty"; } protected override string GetDescription() { return "Pick from TWENTY cards"; } protected override GameObject GetCardArt() { return null; } 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("Legendary"); } 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 = "Luck", amount = "-50", 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 RaveCard : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { statModifiers.numberOfJumps = 1; statModifiers.movementSpeed = 1.05f; CPCDebug.Log((object)("[CPCComplex][Card] " + ((CustomCard)this).GetTitle() + " has been setup.")); } public override bool GetEnabled() { return false; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { RPCMono orAddComponent = ExtensionMethods.GetOrAddComponent(((Component)player).gameObject, false); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Rave"; } protected override string GetDescription() { return "And so the rave continues on"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_Rave"); } protected override Rarity GetRarity() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (Rarity)0; } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[2] { new CardInfoStat { positive = true, stat = "Jumps", amount = "+1", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Movement Speed", amount = "+5%", 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 LargerMap : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { CPCDebug.Log((object)("[CPCComplex][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.mapSizeI += 0.5f; CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Expansion"; } protected override string GetDescription() { return "Its free real estate. \n Changes after one point"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_LargerMap"); } 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("Legendary"); } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[1] { new CardInfoStat { positive = true, stat = "Map Size", amount = "+50%", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)3; } public override string GetModName() { return "CPC"; } } internal class McNally : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; CPCDebug.Log((object)("[CPCComplex][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) { CharacterStatModifiersExtension.GetAdditionalData(characterStats).Mcnally = true; CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "McNally"; } protected override string GetDescription() { return "Masterlock is in shambles"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_McNally"); } 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("Divine"); } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[1] { new CardInfoStat { positive = true, stat = "Card Restrictions", amount = "No More", 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 MonsteraLeaf : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = true; CPCDebug.Log((object)("[CPCComplex][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}]{1}", "CPCComplex", CharacterStatModifiersExtension.GetAdditionalData(characterStats).RainbowLeafHealth)); data.maxHealth += CharacterStatModifiersExtension.GetAdditionalData(characterStats).RainbowLeafHealth; characterStats.health += CharacterStatModifiersExtension.GetAdditionalData(characterStats).RainbowLeafHealth; CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); CPCDebug.Log((object)string.Format("[{0}]{1}", "CPCComplex", CharacterStatModifiersExtension.GetAdditionalData(characterStats).RainbowLeafHealth)); } 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}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Monstera Leaf"; } protected override string GetDescription() { return "Gain 25 max hp every point"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_RainbowLeaf"); } 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("Divine"); } protected override CardInfoStat[] GetStats() { return (CardInfoStat[])(object)new CardInfoStat[0]; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)7; } public override string GetModName() { return "CPC"; } } internal class Negafy : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { CPCDebug.Log((object)("[CPCComplex][Card] " + ((CustomCard)this).GetTitle() + " has been setup.")); cardInfo.allowMultiple = false; statModifiers.movementSpeed = -1f; gun.attackSpeed = -1f; gun.knockback = -1f; } 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}.", "CPCComplex", ((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}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "*-1"; } protected override string GetDescription() { return "Times some of your stats by -1 (inverted controls, attack fast in a way hard to reverse)"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_Negafy"); } 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 = "Attack speed", amount = "*-1", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Move speed", amount = "*-1", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "knockback", amount = "*-1", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)7; } public override string GetModName() { return "CPC"; } } internal class GiftOfPower : CustomCard { protected override GameObject GetCardBase() { return ((Component)this).gameObject.GetComponent().cardBase; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { CardInfoExtension.GetAdditionalData(cardInfo).canBeReassigned = false; PickManager.RegisterShuffleCard(cardInfo, 4, false, (Func)((CardInfo card) => !PickManager.IsShuffleCard(card) && RarityUtils.GetRarityData(card.rarity).relativeRarity >= RarityUtils.GetRarityData((Rarity)0).relativeRarity), 1, (Action)null, (Action)null); CPCDebug.Log((object)("[CPCComplex][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_0025: Unknown result type (might be due to invalid IL or missing references) PickManager.GiveConditionalPick(player, 4, false, (Func)((CardInfo card) => !PickManager.IsShuffleCard(card) && RarityUtils.GetRarityData(card.rarity).relativeRarity >= RarityUtils.GetRarityData((Rarity)0).relativeRarity), (Action)null, (Action)null); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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) { //IL_0004: 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) PickManager.RemoveConditionalPick(player, new ShuffleData { Condition = (CardInfo card) => !PickManager.IsShuffleCard(card) && RarityUtils.GetRarityData(card.rarity).relativeRarity >= RarityUtils.GetRarityData((Rarity)0).relativeRarity, HandSize = 4, Relative = false }); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } public override void OnReassignCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { //IL_0025: Unknown result type (might be due to invalid IL or missing references) PickManager.GiveConditionalPick(player, 4, false, (Func)((CardInfo card) => !PickManager.IsShuffleCard(card) && RarityUtils.GetRarityData(card.rarity).relativeRarity >= RarityUtils.GetRarityData((Rarity)0).relativeRarity), (Action)null, (Action)null); } protected override string GetTitle() { return "Gift of Power"; } protected override string GetDescription() { return "Get an extra pick with four common (or lower) cards"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_GiftOfPower"); } 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("Rare"); } protected override CardInfoStat[] GetStats() { return (CardInfoStat[])(object)new CardInfoStat[0]; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)7; } public override string GetModName() { return "CPC"; } } internal class ExodiaCards : ClassHandler { [CompilerGenerated] private sealed class d__2 : IEnumerator, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public ExodiaCards <>4__this; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public 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)ExodiaTheForbiddenOne.Card)) { <>2__current = null; <>1__state = 1; return true; } ClassesRegistry.Register(ExodiaTheForbiddenOne.Card, (CardType)33, 0); ClassesRegistry.Register(LeftArmOfTheForbiddenOne.Card, (CardType)48, ExodiaTheForbiddenOne.Card, 0); ClassesRegistry.Register(LeftLegOfTheForbiddenOne.Card, (CardType)48, ExodiaTheForbiddenOne.Card, 0); ClassesRegistry.Register(RightArmOfTheForbiddenOne.Card, (CardType)48, ExodiaTheForbiddenOne.Card, 0); ClassesRegistry.Register(RightLegOfTheForbiddenOne.Card, (CardType)48, ExodiaTheForbiddenOne.Card, 0); return false; } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class d__3 : IEnumerator, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public ExodiaCards <>4__this; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public 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 = "Exodia"; internal static List plugins; [IteratorStateMachine(typeof(d__2))] public override IEnumerator Init() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__2(0) { <>4__this = this }; } [IteratorStateMachine(typeof(d__3))] public override IEnumerator PostInit() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__3(0) { <>4__this = this }; } } internal class ExodiaTheForbiddenOne : CustomCard { internal static CardInfo Card; protected override GameObject GetCardBase() { return ((Component)this).gameObject.GetComponent().cardBase; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; CPCDebug.Log((object)("[CPCComplex][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 (player.data.currentCards.Contains(LeftArmOfTheForbiddenOne.Card) && player.data.currentCards.Contains(RightArmOfTheForbiddenOne.Card) && player.data.currentCards.Contains(LeftLegOfTheForbiddenOne.Card) && player.data.currentCards.Contains(RightLegOfTheForbiddenOne.Card)) { TriggerWin exodiaVictory = new TriggerWin(); exodiaVictory.WinnerId(player.playerID); exodiaVictory.WinText("Exodia Victory!"); GameModeManager.AddHook("PlayerPickEnd", (Func)exodiaVictory.Win); GameModeManager.TriggerHook("Win"); ExtensionMethods.ExecuteAfterSeconds((MonoBehaviour)(object)ChaosPoppycarsCardsComplex.Instance, 2f, (Action)delegate { GameModeManager.RemoveHook("PlayerPickEnd", (Func)exodiaVictory.Win); }); } CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Exodia the Forbidden One"; } protected override string GetDescription() { return "If you have \"Right Leg of the Forbidden One\", \"Left Leg of the Forbidden One\", \"Right Arm of the Forbidden One\" and \"Left Arm of the Forbidden One\" in addition to this card, you win the Duel."; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_ExodiaTheForbiddenOne"); } 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() { return (CardInfoStat[])(object)new CardInfoStat[0]; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)0; } public override string GetModName() { return "CPC"; } } internal class LeftArmOfTheForbiddenOne : CustomCard { internal static CardInfo Card; protected override GameObject GetCardBase() { return ((Component)this).gameObject.GetComponent().cardBase; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; CPCDebug.Log((object)("[CPCComplex][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 (player.data.currentCards.Contains(ExodiaTheForbiddenOne.Card) && player.data.currentCards.Contains(RightArmOfTheForbiddenOne.Card) && player.data.currentCards.Contains(LeftLegOfTheForbiddenOne.Card) && player.data.currentCards.Contains(RightLegOfTheForbiddenOne.Card)) { TriggerWin exodiaVictory = new TriggerWin(); exodiaVictory.WinnerId(player.playerID); exodiaVictory.WinText("Exodia Victory!"); GameModeManager.AddHook("PlayerPickEnd", (Func)exodiaVictory.Win); GameModeManager.TriggerHook("Win"); ExtensionMethods.ExecuteAfterSeconds((MonoBehaviour)(object)ChaosPoppycarsCardsComplex.Instance, 2f, (Action)delegate { GameModeManager.RemoveHook("PlayerPickEnd", (Func)exodiaVictory.Win); }); } CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Left Arm of the Forbidden One"; } protected override string GetDescription() { return "A forbidden left arm sealed by magic. Whosoever breaks this seal will know infinite power."; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_LeftArmOfTheForbiddenOne"); } 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() { return (CardInfoStat[])(object)new CardInfoStat[0]; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)1; } public override string GetModName() { return "CPC"; } } internal class LeftLegOfTheForbiddenOne : CustomCard { internal static CardInfo Card; protected override GameObject GetCardBase() { return ((Component)this).gameObject.GetComponent().cardBase; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; CPCDebug.Log((object)("[CPCComplex][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 (player.data.currentCards.Contains(ExodiaTheForbiddenOne.Card) && player.data.currentCards.Contains(LeftArmOfTheForbiddenOne.Card) && player.data.currentCards.Contains(RightArmOfTheForbiddenOne.Card) && player.data.currentCards.Contains(RightLegOfTheForbiddenOne.Card)) { TriggerWin exodiaVictory = new TriggerWin(); exodiaVictory.WinnerId(player.playerID); exodiaVictory.WinText("Exodia Victory!"); GameModeManager.AddHook("PlayerPickEnd", (Func)exodiaVictory.Win); GameModeManager.TriggerHook("Win"); ExtensionMethods.ExecuteAfterSeconds((MonoBehaviour)(object)ChaosPoppycarsCardsComplex.Instance, 2f, (Action)delegate { GameModeManager.RemoveHook("PlayerPickEnd", (Func)exodiaVictory.Win); }); } CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Left Leg of the Forbidden One"; } protected override string GetDescription() { return "A forbidden left leg sealed by magic. Whosoever breaks this seal will know infinite power."; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_LeftLegOfTheForbiddenOne"); } 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() { return (CardInfoStat[])(object)new CardInfoStat[0]; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)1; } public override string GetModName() { return "CPC"; } } internal class RightArmOfTheForbiddenOne : CustomCard { internal static CardInfo Card; protected override GameObject GetCardBase() { return ((Component)this).gameObject.GetComponent().cardBase; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; CPCDebug.Log((object)("[CPCComplex][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 (player.data.currentCards.Contains(ExodiaTheForbiddenOne.Card) && player.data.currentCards.Contains(LeftArmOfTheForbiddenOne.Card) && player.data.currentCards.Contains(LeftLegOfTheForbiddenOne.Card) && player.data.currentCards.Contains(RightLegOfTheForbiddenOne.Card)) { TriggerWin exodiaVictory = new TriggerWin(); exodiaVictory.WinnerId(player.playerID); exodiaVictory.WinText("Exodia Victory!"); GameModeManager.AddHook("PlayerPickEnd", (Func)exodiaVictory.Win); GameModeManager.TriggerHook("Win"); ExtensionMethods.ExecuteAfterSeconds((MonoBehaviour)(object)ChaosPoppycarsCardsComplex.Instance, 2f, (Action)delegate { GameModeManager.RemoveHook("PlayerPickEnd", (Func)exodiaVictory.Win); }); } CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Right Arm of the Forbidden One"; } protected override string GetDescription() { return "A forbidden right arm sealed by magic. Whosoever breaks this seal will know infinite power."; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_RightArmOfTheForbiddenOne"); } 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() { return (CardInfoStat[])(object)new CardInfoStat[0]; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)1; } public override string GetModName() { return "CPC"; } } internal class RightLegOfTheForbiddenOne : CustomCard { internal static CardInfo Card; protected override GameObject GetCardBase() { return ((Component)this).gameObject.GetComponent().cardBase; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; CPCDebug.Log((object)("[CPCComplex][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 (player.data.currentCards.Contains(ExodiaTheForbiddenOne.Card) && player.data.currentCards.Contains(LeftArmOfTheForbiddenOne.Card) && player.data.currentCards.Contains(RightArmOfTheForbiddenOne.Card) && player.data.currentCards.Contains(LeftLegOfTheForbiddenOne.Card)) { TriggerWin exodiaVictory = new TriggerWin(); exodiaVictory.WinnerId(player.playerID); exodiaVictory.WinText("Exodia Victory!"); GameModeManager.AddHook("PlayerPickEnd", (Func)exodiaVictory.Win); GameModeManager.TriggerHook("Win"); ExtensionMethods.ExecuteAfterSeconds((MonoBehaviour)(object)ChaosPoppycarsCardsComplex.Instance, 2f, (Action)delegate { GameModeManager.RemoveHook("PlayerPickEnd", (Func)exodiaVictory.Win); }); } CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Right Leg of the Forbidden One"; } protected override string GetDescription() { return "A forbidden right leg sealed by magic. Whosoever breaks this seal will know infinite power."; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_RightLegOfTheForbiddenOne"); } 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() { return (CardInfoStat[])(object)new CardInfoStat[0]; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)1; } public override string GetModName() { return "CPC"; } } internal class PAG : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; statModifiers.movementSpeed = 0.5f; gun.damage = 2.5f; block.additionalBlocks = 2; block.cdAdd = -0.25f; statModifiers.jump = 0.5f; CPCDebug.Log((object)("[CPCComplex][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) { player.data.movement.extraDrag = 0.25f; player.data.movement.extraAngularDrag = 0.25f; CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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.extraDrag = 200f; player.data.movement.extraAngularDrag = 250f; CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "P.A.G."; } protected override string GetDescription() { return "Personalized Anti-Gravity Gear, with a P.A.G. you will no longer deal with the restrictions of gravity"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_PAG"); } 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("Legendary"); } 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_0019: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Expected O, but got Unknown //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Expected O, but got Unknown //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0066: 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_007c: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Expected O, but got Unknown //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Expected O, but got Unknown //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Expected O, but got Unknown //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: 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_00f5: Unknown result type (might be due to invalid IL or missing references) //IL_0100: Unknown result type (might be due to invalid IL or missing references) //IL_0102: Unknown result type (might be due to invalid IL or missing references) //IL_0108: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[6] { new CardInfoStat { stat = "<#FFFF00>Anti Gravity", amount = "<#FFFF00>+", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Damage", amount = "+150%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Blocks", amount = "+2", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Block cooldown", amount = "-0.25s", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Movement Speed", amount = "-50%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Jump Height", amount = "-50%", 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 ReforgeKnockback : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { CardInfoExtension.NeedsNull(cardInfo); CardInfoExtension.MarkUnNullable(cardInfo); CPCDebug.Log((object)("[CPCComplex][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) { int nullCount = PlayerExtensions.GetNullCount(player, (Rarity)(-1)); CPCNullData nullData = CharacterStatModifiersExtension.GetAdditionalData(characterStats).nullData; nullData.knockback *= 1.5f; gun.knockback *= Mathf.Pow(1.5f, (float)nullCount); ChaosPoppycarsCardsCore.UpdateNullStatsForPlayer(player); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Reforge Knockback"; } protected override string GetDescription() { return "Nulls give you +50% Knockback"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_REFORGE_Knockback"); } 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("Trinket"); } protected override CardInfoStat[] GetStats() { return (CardInfoStat[])(object)new CardInfoStat[0]; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)8; } public override string GetModName() { return "CPC"; } } internal class ReforgeLuck : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { CardInfoExtension.NeedsNull(cardInfo); CardInfoExtension.MarkUnNullable(cardInfo); CPCDebug.Log((object)("[CPCComplex][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) { int nullCount = PlayerExtensions.GetNullCount(player, (Rarity)(-1)); CPCNullData nullData = CharacterStatModifiersExtension.GetAdditionalData(characterStats).nullData; nullData.luckInc += 10; Luck component = ((Component)player).GetComponent(); component.PlayerLuck += 10 * nullCount; ChaosPoppycarsCardsCore.UpdateNullStatsForPlayer(player); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Reforge Luck"; } protected override string GetDescription() { return "Nulls give you +10 Luck"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_REFORGE_LUCK"); } 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("Trinket"); } protected override CardInfoStat[] GetStats() { return (CardInfoStat[])(object)new CardInfoStat[0]; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)8; } public override string GetModName() { return "CPC"; } } internal class ReforgeWarp : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { CardInfoExtension.NeedsNull(cardInfo); CardInfoExtension.MarkUnNullable(cardInfo); CPCDebug.Log((object)("[CPCComplex][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) { int nullCount = PlayerExtensions.GetNullCount(player, (Rarity)(-1)); CPCNullData nullData = CharacterStatModifiersExtension.GetAdditionalData(characterStats).nullData; nullData.screenWarps += 3; CharacterStatModifiersAdditionalData additionalData = CharacterStatModifiersExtension.GetAdditionalData(characterStats); additionalData.maxWarps += 3 * nullCount; ChaosPoppycarsCardsCore.UpdateNullStatsForPlayer(player); ScreenWarpMono orAddComponent = ExtensionMethods.GetOrAddComponent(((Component)player).gameObject, false); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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) { ScreenWarpMono orAddComponent = ExtensionMethods.GetOrAddComponent(((Component)player).gameObject, false); Object.Destroy((Object)(object)orAddComponent); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Reforge Warp"; } protected override string GetDescription() { return "Nulls give you +3 Screen Warps"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_REFORGE_Warp"); } 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() { return (CardInfoStat[])(object)new CardInfoStat[0]; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)8; } public override string GetModName() { return "CPC"; } } internal class ReverseThruster : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { CPCDebug.Log((object)("[CPCComplex][Card] " + ((CustomCard)this).GetTitle() + " has been setup.")); cardInfo.allowMultiple = true; gun.damage = 0.75f; gun.ammo = -2; } 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}.", "CPCComplex", ((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}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Reverse Thrusters"; } protected override string GetDescription() { return "Team Rocket's blasting off again!"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_ReverseThrusters"); } 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("Legendary"); } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[2] { new CardInfoStat { positive = false, stat = "Damage", amount = "-25%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Ammo", 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)7; } public override string GetModName() { return "CPC"; } } internal class ScreenWarp : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { CPCDebug.Log((object)("[CPCComplex][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.maxWarps += 10; ScreenWarpMono orAddComponent = ExtensionMethods.GetOrAddComponent(((Component)player).gameObject, false); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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) { ScreenWarpMono orAddComponent = ExtensionMethods.GetOrAddComponent(((Component)player).gameObject, false); Object.Destroy((Object)(object)orAddComponent); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Screen Warp"; } protected override string GetDescription() { return "You can now warp around the screen"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_ScreenWarp"); } 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 = true, stat = "Screen Warps", amount = "+10", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)7; } public override string GetModName() { return "CPC"; } } internal class SentryGun : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { block.cdMultiplier = 1.25f; cardInfo.allowMultiple = false; CPCDebug.Log((object)("[CPCComplex][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) { SentryGunMono orAddComponent = ExtensionMethods.GetOrAddComponent(((Component)player).gameObject, false); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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) { SentryGunMono orAddComponent = ExtensionMethods.GetOrAddComponent(((Component)player).gameObject, false); Object.Destroy((Object)(object)orAddComponent); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Sentry Gun"; } protected override string GetDescription() { return "When you block you spawn or move your sentry that fires when you fire, be careful of the limited ammo (idea stolen from root)"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_SentryGun"); } 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 Cooldown", amount = "+25%", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)7; } public override string GetModName() { return "CPC"; } } internal class ShadowCloak : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; statModifiers.health = 0.85f; CPCDebug.Log((object)("[CPCComplex][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) { ShadowCloakMono orAddComponent = ExtensionMethods.GetOrAddComponent(((Component)player).gameObject, false); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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) { ShadowCloakMono orAddComponent = ExtensionMethods.GetOrAddComponent(((Component)player).gameObject, false); Object.Destroy((Object)(object)orAddComponent); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Shadow Cloak"; } protected override string GetDescription() { return "Hold V [Press down your left stick on controller] to phase through the ground, you can only phase through the ground for a total of 3 seconds before having to recharge"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_ShadowCloak"); } 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 = "Health", amount = "-15%", 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 StunningStare : CustomCard { private Player player; private CharacterStatModifiers characterStats; public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { statModifiers.health = 0.85f; CPCDebug.Log((object)("[CPCComplex][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_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) CharacterStatModifiersAdditionalData additionalData = CharacterStatModifiersExtension.GetAdditionalData(characterStats); additionalData.StunningStares++; InConeEffect val = ((Component)player).gameObject.AddComponent(); val.SetCenterRay(new Vector2(1f, 0f)); val.SetOtherColor(Color.magenta); val.SetNeedsLineOfSight(true); val.SetApplyToSelf(false); val.SetApplyToOthers(true); val.SetCheckEnemiesOnly(true); val.SetOtherEffectFunc((Func>)stunningstare); val.SetPeriod(6f); val.SetRange(10f * (float)((CharacterStatModifiersExtension.GetAdditionalData(characterStats).StunningStares + 1) / 2)); this.player = player; this.characterStats = characterStats; CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCComplex", ((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}.", "CPCComplex", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Stunning Stare"; } protected override string GetDescription() { return "People in your vision within a certain range get stunned (getting this card more then once increases the range)"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsComplex.Bundle.LoadAsset("C_StunningStare"); } 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 = "Health", amount = "-15%", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)2; } public List stunningstare(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) List list = new List(); ReversibleEffect val = ((Component)player).gameObject.AddComponent(); GameObject item = Object.Instantiate(ChaosPoppycarsCardsComplex.Bundle.LoadAsset("StunningStareEffect"), ((Component)player).transform.position, ((Component)player).transform.rotation, ((Component)player).transform); val.stats.objectsAddedToPlayer.Add(item); list.Add((MonoBehaviour)(object)val); return list; } public override string GetModName() { return "CPC"; } } }