Decompiled source of ChaosPoppycarsCardsClassic v1.0.0
ChaosPoppycarsCardsClassic.dll
Decompiled a month ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections.Generic; using System.Diagnostics; using System.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 CPCClassic.MonoBehaviours; using CPCCore; using CPCCore.Extensions; using CPCCore.Utilities; using CardChoiceSpawnUniqueCardPatch.CustomCategories; using HarmonyLib; using Jotunn.Utils; using Microsoft.CodeAnalysis; using ModdingUtils.Extensions; using ModdingUtils.MonoBehaviours; using ModdingUtils.Utils; using RarityLib.Utils; using UnboundLib; using UnboundLib.Cards; using UnboundLib.Utils; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETFramework,Version=v4.7.1", FrameworkDisplayName = ".NET Framework 4.7.1")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("0.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace CPCClassic { [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.CPCClassic.Id", "ChaosPoppycarsCardsClassic", "1.0.0")] [BepInProcess("Rounds.exe")] public class ChaosPoppycarsCardsClassic : BaseUnityPlugin { private const string ModId = "com.Poppycars.CPCClassic.Id"; private const string ModName = "ChaosPoppycarsCardsClassic"; public const string Version = "1.0.0"; public const string ModInitials = "CPCClassic"; internal static List<BaseUnityPlugin> plugins; public static AssetBundle Bundle; public static ChaosPoppycarsCardsClassic Instance { get; private set; } private void Awake() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Expected O, but got Unknown Bundle = AssetUtils.LoadAssetBundleFromResources("cpcclassic", typeof(ChaosPoppycarsCardsClassic).Assembly); Harmony val = new Harmony("com.Poppycars.CPCClassic.Id"); val.PatchAll(); GameObject val2 = Bundle.LoadAsset<GameObject>("ModCards"); CardHolder component = val2.GetComponent<CardHolder>(); component.RegisterCards(); } private void Start() { plugins = (List<BaseUnityPlugin>)typeof(Chainloader).GetField("_plugins", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null); Instance = this; ChaosPoppycarsCardsCore.RegisterCards(typeof(ChaosPoppycarsCardsClassic).Assembly, Bundle); ExtensionMethods.ExecuteAfterFrames((MonoBehaviour)(object)this, 60, (Action)delegate { CardManager.cards.Values.ToList().ForEach(delegate(Card card) { AddMod(card); }); }); } private void AddMod(Card card) { string text = "__Rarity-" + ((object)(Rarity)(ref card.cardInfo.rarity)).ToString(); CardCategory val = CustomCardCategories.instance.CardCategory(text); CardCategory[] categories = CollectionExtensions.AddToArray<CardCategory>(card.cardInfo.categories, val); card.cardInfo.categories = categories; } } } namespace CPCClassic.MonoBehaviours { internal class BouncyMono : ReversibleEffect { private float duration = 0f; public override void OnOnDestroy() { Block block = base.data.block; block.BlockAction = (Action<BlockTriggerType>)Delegate.Remove(block.BlockAction, new Action<BlockTriggerType>(OnBlock)); } private void OnBlock(BlockTriggerType trigger) { //IL_003b: Unknown result type (might be due to invalid IL or missing references) if (duration <= 0f) { ((ReversibleEffect)this).ApplyModifiers(); } duration = 5f; ColorEffect val = ((Component)base.player).gameObject.AddComponent<ColorEffect>(); val.SetColor(Color.blue); } public override void OnStart() { //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) base.gunStatModifier.reflects_add = 3; base.gunStatModifier.reflects_mult = 3; base.gunStatModifier.projectileColor = Color.blue; Block block = base.data.block; block.BlockAction = (Action<BlockTriggerType>)Delegate.Combine(block.BlockAction, new Action<BlockTriggerType>(OnBlock)); ((ReversibleEffect)this).SetLivesToEffect(int.MaxValue); } public override void OnUpdate() { if (!(duration <= 0f)) { duration -= TimeHandler.deltaTime; return; } ((ReversibleEffect)this).ClearModifiers(true); Object.Destroy((Object)(object)ExtensionMethods.GetOrAddComponent<ColorEffect>(((Component)this).gameObject, false)); } public override void OnOnDisable() { duration = 0f; ((ReversibleEffect)this).ClearModifiers(true); Object.Destroy((Object)(object)ExtensionMethods.GetOrAddComponent<ColorEffect>(((Component)this).gameObject, false)); } } internal class CenterPullMono : MonoBehaviour { private Player player; public void Start() { player = ((Component)this).GetComponentInParent<Player>(); } 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<PlayerVelocity>(), "velocity", (object)((Vector2)ExtensionMethods.GetFieldValue((object)((Component)player).GetComponent<PlayerVelocity>(), "velocity") + val3 * 1f / (Vector2.Distance(val, val2) / 1.5f))); } else { ExtensionMethods.SetFieldValue((object)((Component)player).GetComponent<PlayerVelocity>(), "velocity", (object)((Vector2)ExtensionMethods.GetFieldValue((object)((Component)player).GetComponent<PlayerVelocity>(), "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<Player>(); } 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<PlayerVelocity>(), "velocity", (object)((Vector2)ExtensionMethods.GetFieldValue((object)((Component)player).GetComponent<PlayerVelocity>(), "velocity") - val3 * 1f / (Vector2.Distance(val, val2) / 1.5f))); } else { ExtensionMethods.SetFieldValue((object)((Component)player).GetComponent<PlayerVelocity>(), "velocity", (object)((Vector2)ExtensionMethods.GetFieldValue((object)((Component)player).GetComponent<PlayerVelocity>(), "velocity") - val3)); } if (Vector2.Distance(val, val2) <= 6f) { player.data.sinceGrounded = 0f; } } } public void Remove() { } } internal class DupeEffect : ReversibleEffect { private float duration = 0f; public override void OnOnDestroy() { Block block = base.data.block; block.BlockAction = (Action<BlockTriggerType>)Delegate.Remove(block.BlockAction, new Action<BlockTriggerType>(OnBlock)); } private void OnBlock(BlockTriggerType trigger) { //IL_003b: Unknown result type (might be due to invalid IL or missing references) if (duration <= 0f) { ((ReversibleEffect)this).ApplyModifiers(); } duration = 5f; ColorEffect val = ((Component)base.player).gameObject.AddComponent<ColorEffect>(); val.SetColor(Color.gray); } public override void OnStart() { //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) base.gunStatModifier.numberOfProjectiles_mult = 2; base.gunStatModifier.spread_add = 0.1f; base.gunStatModifier.projectileColor = Color.grey; Block block = base.data.block; block.BlockAction = (Action<BlockTriggerType>)Delegate.Combine(block.BlockAction, new Action<BlockTriggerType>(OnBlock)); ((ReversibleEffect)this).SetLivesToEffect(int.MaxValue); } public override void OnUpdate() { if (!(duration <= 0f)) { duration -= TimeHandler.deltaTime; return; } ((ReversibleEffect)this).ClearModifiers(true); Object.Destroy((Object)(object)ExtensionMethods.GetOrAddComponent<ColorEffect>(((Component)this).gameObject, false)); } public override void OnOnDisable() { duration = 0f; ((ReversibleEffect)this).ClearModifiers(true); Object.Destroy((Object)(object)ExtensionMethods.GetOrAddComponent<ColorEffect>(((Component)this).gameObject, false)); } } internal class JumpBurstEffect : ReversibleEffect { private float duration = 0f; public override void OnOnDestroy() { PlayerJump jump = base.data.jump; jump.JumpAction = (Action)Delegate.Remove(jump.JumpAction, new Action(OnJump)); } private void OnJump() { //IL_004a: Unknown result type (might be due to invalid IL or missing references) if (duration <= 0f) { ((ReversibleEffect)this).ApplyModifiers(); } duration = 0.65f; ColorEffect val = ((Component)base.player).gameObject.AddComponent<ColorEffect>(); val.SetColor(new Color(0.6f, 0f, 0.923f)); } public override void OnStart() { base.gunStatModifier.bursts_add = 2; base.gunStatModifier.timeBetweenBullets_add = 0.1f; PlayerJump jump = base.data.jump; jump.JumpAction = (Action)Delegate.Combine(jump.JumpAction, new Action(OnJump)); ((ReversibleEffect)this).SetLivesToEffect(int.MaxValue); } public override void OnUpdate() { if (!(duration <= 0f)) { duration -= TimeHandler.deltaTime; return; } ((ReversibleEffect)this).ClearModifiers(true); Object.Destroy((Object)(object)ExtensionMethods.GetOrAddComponent<ColorEffect>(((Component)this).gameObject, false)); } public override void OnOnDisable() { duration = 0f; ((ReversibleEffect)this).ClearModifiers(true); Object.Destroy((Object)(object)ExtensionMethods.GetOrAddComponent<ColorEffect>(((Component)this).gameObject, false)); } } internal class JumpPowerEffect : ReversibleEffect { private float duration = 0f; public override void OnOnDestroy() { PlayerJump jump = base.data.jump; jump.JumpAction = (Action)Delegate.Remove(jump.JumpAction, new Action(OnJump)); } private void OnJump() { //IL_004a: Unknown result type (might be due to invalid IL or missing references) if (duration <= 0f) { ((ReversibleEffect)this).ApplyModifiers(); } duration = 0.65f; ColorEffect val = ((Component)base.player).gameObject.AddComponent<ColorEffect>(); val.SetColor(new Color(1f, 0.1f, 0.1f)); } public override void OnStart() { base.gunStatModifier.damage_mult = 2f; PlayerJump jump = base.data.jump; jump.JumpAction = (Action)Delegate.Combine(jump.JumpAction, new Action(OnJump)); ((ReversibleEffect)this).SetLivesToEffect(int.MaxValue); } public override void OnUpdate() { if (!(duration <= 0f)) { duration -= TimeHandler.deltaTime; return; } ((ReversibleEffect)this).ClearModifiers(true); Object.Destroy((Object)(object)ExtensionMethods.GetOrAddComponent<ColorEffect>(((Component)this).gameObject, false)); } public override void OnOnDisable() { duration = 0f; ((ReversibleEffect)this).ClearModifiers(true); Object.Destroy((Object)(object)ExtensionMethods.GetOrAddComponent<ColorEffect>(((Component)this).gameObject, false)); } } internal class JumpShrinkEffect : ReversibleEffect { private float duration = 0f; public override void OnOnDestroy() { PlayerJump jump = base.data.jump; jump.JumpAction = (Action)Delegate.Remove(jump.JumpAction, new Action(OnJump)); } private void OnJump() { //IL_004a: Unknown result type (might be due to invalid IL or missing references) if (duration <= 0f) { ((ReversibleEffect)this).ApplyModifiers(); } duration = 0.75f; ColorEffect val = ((Component)base.player).gameObject.AddComponent<ColorEffect>(); val.SetColor(new Color(0.6f, 0f, 0.923f)); } public override void OnStart() { base.characterStatModifiersModifier.sizeMultiplier_mult = 0.5f; PlayerJump jump = base.data.jump; jump.JumpAction = (Action)Delegate.Combine(jump.JumpAction, new Action(OnJump)); ((ReversibleEffect)this).SetLivesToEffect(int.MaxValue); } public override void OnUpdate() { if (!(duration <= 0f)) { duration -= TimeHandler.deltaTime; return; } ((ReversibleEffect)this).ClearModifiers(true); Object.Destroy((Object)(object)ExtensionMethods.GetOrAddComponent<ColorEffect>(((Component)this).gameObject, false)); } public override void OnOnDisable() { duration = 0f; ((ReversibleEffect)this).ClearModifiers(true); Object.Destroy((Object)(object)ExtensionMethods.GetOrAddComponent<ColorEffect>(((Component)this).gameObject, false)); } } internal class JumpSpeedEffect : ReversibleEffect { private float duration = 0f; public override void OnOnDestroy() { PlayerJump jump = base.data.jump; jump.JumpAction = (Action)Delegate.Remove(jump.JumpAction, new Action(OnJump)); } private void OnJump() { //IL_004a: Unknown result type (might be due to invalid IL or missing references) if (duration <= 0f) { ((ReversibleEffect)this).ApplyModifiers(); } duration = 0.65f; ColorEffect val = ((Component)base.player).gameObject.AddComponent<ColorEffect>(); val.SetColor(new Color(0.2f, 0.1f, 1f)); } public override void OnStart() { base.characterStatModifiersModifier.movementSpeed_mult = 2f; PlayerJump jump = base.data.jump; jump.JumpAction = (Action)Delegate.Combine(jump.JumpAction, new Action(OnJump)); ((ReversibleEffect)this).SetLivesToEffect(int.MaxValue); } public override void OnUpdate() { if (!(duration <= 0f)) { duration -= TimeHandler.deltaTime; return; } ((ReversibleEffect)this).ClearModifiers(true); Object.Destroy((Object)(object)ExtensionMethods.GetOrAddComponent<ColorEffect>(((Component)this).gameObject, false)); } public override void OnOnDisable() { duration = 0f; ((ReversibleEffect)this).ClearModifiers(true); Object.Destroy((Object)(object)ExtensionMethods.GetOrAddComponent<ColorEffect>(((Component)this).gameObject, false)); } } internal class COCSodaEffect : ReversibleEffect { private float duration = 0f; public override void OnOnDestroy() { Block block = base.data.block; block.BlockAction = (Action<BlockTriggerType>)Delegate.Remove(block.BlockAction, new Action<BlockTriggerType>(OnBlock)); } private void OnBlock(BlockTriggerType trigger) { //IL_003c: Unknown result type (might be due to invalid IL or missing references) if (duration <= 0f) { ((ReversibleEffect)this).ApplyModifiers(); } duration = 2f; ColorEffect orAddComponent = ExtensionMethods.GetOrAddComponent<ColorEffect>(((Component)base.player).gameObject, false); orAddComponent.SetColor(Color.red); } public override void OnStart() { base.gravityModifier.gravityForce_mult = 0.5f; base.characterDataModifier.maxHealth_mult = 1.5f; base.healthHandlerModifier.regen_add = 10f; Block block = base.data.block; block.BlockAction = (Action<BlockTriggerType>)Delegate.Combine(block.BlockAction, new Action<BlockTriggerType>(OnBlock)); ((ReversibleEffect)this).SetLivesToEffect(int.MaxValue); } public override void OnUpdate() { if (!(duration <= 0f)) { duration -= TimeHandler.deltaTime; return; } ((ReversibleEffect)this).ClearModifiers(true); Object.Destroy((Object)(object)ExtensionMethods.GetOrAddComponent<ColorEffect>(((Component)base.player).gameObject, false)); } public override void OnOnDisable() { duration = 0f; ((ReversibleEffect)this).ClearModifiers(true); Object.Destroy((Object)(object)ExtensionMethods.GetOrAddComponent<ColorEffect>(((Component)base.player).gameObject, false)); } } internal class DRSodaEffect : ReversibleEffect { private float duration = 0f; public override void OnOnDestroy() { Block block = base.data.block; block.BlockAction = (Action<BlockTriggerType>)Delegate.Remove(block.BlockAction, new Action<BlockTriggerType>(OnBlock)); } private void OnBlock(BlockTriggerType trigger) { //IL_003b: Unknown result type (might be due to invalid IL or missing references) if (duration <= 0f) { ((ReversibleEffect)this).ApplyModifiers(); } duration = 2f; ColorEffect val = ((Component)base.player).gameObject.AddComponent<ColorEffect>(); val.SetColor(Color.red); } public override void OnStart() { base.gunStatModifier.damage_mult = 1.5f; base.gunAmmoStatModifier.reloadTimeMultiplier_mult = 0.5f; base.gunStatModifier.attackSpeed_mult = 0.5f; Block block = base.data.block; block.BlockAction = (Action<BlockTriggerType>)Delegate.Combine(block.BlockAction, new Action<BlockTriggerType>(OnBlock)); ((ReversibleEffect)this).SetLivesToEffect(int.MaxValue); } public override void OnUpdate() { if (!(duration <= 0f)) { duration -= TimeHandler.deltaTime; return; } ((ReversibleEffect)this).ClearModifiers(true); Object.Destroy((Object)(object)ExtensionMethods.GetOrAddComponent<ColorEffect>(((Component)this).gameObject, false)); } public override void OnOnDisable() { duration = 0f; ((ReversibleEffect)this).ClearModifiers(true); Object.Destroy((Object)(object)ExtensionMethods.GetOrAddComponent<ColorEffect>(((Component)this).gameObject, false)); } } internal class MTDSodaEffect : ReversibleEffect { private float duration = 0f; public override void OnOnDestroy() { Block block = base.data.block; block.BlockAction = (Action<BlockTriggerType>)Delegate.Remove(block.BlockAction, new Action<BlockTriggerType>(OnBlock)); } private void OnBlock(BlockTriggerType trigger) { //IL_003b: Unknown result type (might be due to invalid IL or missing references) if (duration <= 0f) { ((ReversibleEffect)this).ApplyModifiers(); } duration = 2f; ColorEffect val = ((Component)base.player).gameObject.AddComponent<ColorEffect>(); val.SetColor(Color.green); } public override void OnStart() { base.characterStatModifiersModifier.movementSpeed_mult = 2f; base.characterStatModifiersModifier.sizeMultiplier_mult = 1.5f; base.characterStatModifiersModifier.jump_mult = 1.25f; Block block = base.data.block; block.BlockAction = (Action<BlockTriggerType>)Delegate.Combine(block.BlockAction, new Action<BlockTriggerType>(OnBlock)); ((ReversibleEffect)this).SetLivesToEffect(int.MaxValue); } public override void OnUpdate() { if (!(duration <= 0f)) { duration -= TimeHandler.deltaTime; return; } ((ReversibleEffect)this).ClearModifiers(true); Object.Destroy((Object)(object)ExtensionMethods.GetOrAddComponent<ColorEffect>(((Component)this).gameObject, false)); } public override void OnOnDisable() { duration = 0f; ((ReversibleEffect)this).ClearModifiers(true); Object.Destroy((Object)(object)ExtensionMethods.GetOrAddComponent<ColorEffect>(((Component)this).gameObject, false)); } } internal class PEPSodaEffect : ReversibleEffect { private float duration = 0f; public override void OnOnDestroy() { Block block = base.data.block; block.BlockAction = (Action<BlockTriggerType>)Delegate.Remove(block.BlockAction, new Action<BlockTriggerType>(OnBlock)); } private void OnBlock(BlockTriggerType trigger) { //IL_003b: Unknown result type (might be due to invalid IL or missing references) if (duration <= 0f) { ((ReversibleEffect)this).ApplyModifiers(); } duration = 2f; ColorEffect val = ((Component)base.player).gameObject.AddComponent<ColorEffect>(); val.SetColor(Color.blue); } public override void OnStart() { base.characterStatModifiersModifier.movementSpeed_mult = 1.25f; base.characterStatModifiersModifier.secondsToTakeDamageOver_add = 3f; base.characterDataModifier.maxHealth_mult = 1.25f; Block block = base.data.block; block.BlockAction = (Action<BlockTriggerType>)Delegate.Combine(block.BlockAction, new Action<BlockTriggerType>(OnBlock)); ((ReversibleEffect)this).SetLivesToEffect(int.MaxValue); } public override void OnUpdate() { if (!(duration <= 0f)) { duration -= TimeHandler.deltaTime; return; } ((ReversibleEffect)this).ClearModifiers(true); Object.Destroy((Object)(object)ExtensionMethods.GetOrAddComponent<ColorEffect>(((Component)this).gameObject, false)); } public override void OnOnDisable() { duration = 0f; ((ReversibleEffect)this).ClearModifiers(true); Object.Destroy((Object)(object)ExtensionMethods.GetOrAddComponent<ColorEffect>(((Component)this).gameObject, false)); } } internal class SPRSodaEffect : ReversibleEffect { private float duration = 0f; public override void OnOnDestroy() { Block block = base.data.block; block.BlockAction = (Action<BlockTriggerType>)Delegate.Remove(block.BlockAction, new Action<BlockTriggerType>(OnBlock)); } private void OnBlock(BlockTriggerType trigger) { //IL_003b: Unknown result type (might be due to invalid IL or missing references) if (duration <= 0f) { ((ReversibleEffect)this).ApplyModifiers(); } duration = 2f; ColorEffect val = ((Component)base.player).gameObject.AddComponent<ColorEffect>(); val.SetColor(Color.green); } public override void OnStart() { base.characterStatModifiersModifier.lifeSteal_add = 1f; base.characterStatModifiersModifier.sizeMultiplier_mult = 0.75f; Block block = base.data.block; block.BlockAction = (Action<BlockTriggerType>)Delegate.Combine(block.BlockAction, new Action<BlockTriggerType>(OnBlock)); ((ReversibleEffect)this).SetLivesToEffect(int.MaxValue); } public override void OnUpdate() { if (!(duration <= 0f)) { duration -= TimeHandler.deltaTime; return; } ((ReversibleEffect)this).ClearModifiers(true); Object.Destroy((Object)(object)ExtensionMethods.GetOrAddComponent<ColorEffect>(((Component)this).gameObject, false)); } public override void OnOnDisable() { duration = 0f; ((ReversibleEffect)this).ClearModifiers(true); Object.Destroy((Object)(object)ExtensionMethods.GetOrAddComponent<ColorEffect>(((Component)this).gameObject, false)); } } } namespace CPCClassic.Cards { internal class AbsorbingBullets : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.dmgMOnBounce = 1.1f; gun.reflects = 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) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) ObjectsToSpawn item = ((GameObject)Resources.Load("0 cards/Mayhem")).GetComponent<Gun>().objectsToSpawn[0]; List<ObjectsToSpawn> 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}.", "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) { CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "CPCCore", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Plant-like bullets"; } protected override string GetDescription() { return "Your bullets absorb nutrients from the ground as they bounce making them stronger"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsClassic.Bundle.LoadAsset<GameObject>("C_AbsorbingBullets"); } protected override Rarity GetRarity() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) return RarityUtils.GetRarity("Exotic"); } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[2] { new CardInfoStat { positive = true, stat = "Damage on Bounce", amount = "+10%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Bounces", 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)6; } public override string GetModName() { return "CPC"; } } internal class ActivatedDuplicator : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; block.cdMultiplier = 1.15f; CPCDebug.Log((object)("[CPCClassic][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) { DupeEffect orAddComponent = ExtensionMethods.GetOrAddComponent<DupeEffect>(((Component)player).gameObject, false); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCClassic", ((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}.", "CPCClassic", ((CustomCard)this).GetTitle(), player.playerID)); DupeEffect orAddComponent = ExtensionMethods.GetOrAddComponent<DupeEffect>(((Component)player).gameObject, false); Object.Destroy((Object)(object)orAddComponent); } protected override string GetTitle() { return "Activated Duplicator"; } protected override string GetDescription() { return "When you block you activate a duplicator that doubles your projectiles for 5 seconds"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsClassic.Bundle.LoadAsset<GameObject>("C_ActivatedDuplicator"); } protected override Rarity GetRarity() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (Rarity)1; } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[1] { new CardInfoStat { positive = false, stat = "Block Cooldown", amount = "+15%", simepleAmount = (SimpleAmount)2 } }; } 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 AmmoChest : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.reloadTime = 1.5f; gun.ammo = 20; CPCDebug.Log((object)("[CPCClassic][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}.", "CPCClassic", ((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}.", "CPCClassic", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Ammo Chest"; } protected override string GetDescription() { return "You find a chest full of ammo"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsClassic.Bundle.LoadAsset<GameObject>("C_AmmoChest"); } protected override Rarity GetRarity() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) return RarityUtils.GetRarity("Exotic"); } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[2] { new CardInfoStat { positive = true, stat = "Ammo", amount = "+20", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Reload Time", 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 BalloonBullets : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.projectileSize = 1.75f; gun.damage = 0.75f; CPCDebug.Log((object)("[CPCClassic][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}.", "CPCClassic", ((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}.", "CPCClassic", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Balloon Bullets"; } protected override string GetDescription() { return "Your bullets are now inflated like balloons, making them larger but they do less damage"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsClassic.Bundle.LoadAsset<GameObject>("C_BalloonBullets"); } 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 = "Projectile Size", amount = "+175%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Damage", 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 BouncyGel : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { block.cdMultiplier = 1.15f; cardInfo.allowMultiple = false; CPCDebug.Log((object)("[CPCClassic][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_0018: Unknown result type (might be due to invalid IL or missing references) BouncyMono orAddComponent = ExtensionMethods.GetOrAddComponent<BouncyMono>(((Component)player).gameObject, false); ObjectsToSpawn item = ((GameObject)Resources.Load("0 cards/Mayhem")).GetComponent<Gun>().objectsToSpawn[0]; List<ObjectsToSpawn> 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}.", "CPCClassic", ((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) { BouncyMono orAddComponent = ExtensionMethods.GetOrAddComponent<BouncyMono>(((Component)player).gameObject, false); Object.Destroy((Object)(object)orAddComponent); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "CPCClassic", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Bouncy Gel"; } protected override string GetDescription() { return "You get bouncy bullets for 5 seconds after blocking"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsClassic.Bundle.LoadAsset<GameObject>("C_BouncyGel"); } protected override Rarity GetRarity() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (Rarity)1; } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[1] { new CardInfoStat { positive = false, stat = "Block Cooldown", amount = "+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)7; } public override string GetModName() { return "CPC"; } } internal class DoubleDuplicator : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; CPCDebug.Log((object)("[CPCClassic][Card] " + ((CustomCard)this).GetTitle() + " has been setup.")); gun.spread = 0.2f; gun.damage = 0.5f; gun.numberOfProjectiles = 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}.", "CPCClassic", ((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}.", "CPCClassic", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Double Duplicator"; } protected override string GetDescription() { return "Gives you TWO projectiles"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsClassic.Bundle.LoadAsset<GameObject>("C_DoubleDuplicator"); } 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 = "Projectiles", amount = "+2", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Damage", amount = "-50%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Spread", amount = "+20%", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)1; } public override string GetModName() { return "CPC"; } } internal class Duplicator : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { CPCDebug.Log((object)("[CPCClassic][Card] " + ((CustomCard)this).GetTitle() + " has been setup.")); gun.spread = 0.1f; gun.damage = 0.75f; gun.numberOfProjectiles = 1; } 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}.", "CPCClassic", ((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}.", "CPCClassic", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Duplicator"; } protected override string GetDescription() { return "Gives you an additional projectile"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsClassic.Bundle.LoadAsset<GameObject>("C_Duplicator"); } protected override Rarity GetRarity() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (Rarity)1; } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Expected O, but got Unknown //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[3] { new CardInfoStat { positive = true, stat = "Projectiles", amount = "+1", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Damage", amount = "-25%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Spread", 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)1; } 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)("[CPCClassic][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<HealthBasedEffect>(); ((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}.", "CPCClassic", ((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}.", "CPCClassic", ((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 ChaosPoppycarsCardsClassic.Bundle.LoadAsset<GameObject>("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 HealingBlock : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { block.healing = 30f; block.cdAdd = -0.25f; CPCDebug.Log((object)("[CPCClassic][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}.", "CPCClassic", ((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}.", "CPCClassic", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Healing block"; } protected override string GetDescription() { return "Heal 30 health on block"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsClassic.Bundle.LoadAsset<GameObject>("C_HealingBlock"); } protected override Rarity GetRarity() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) return RarityUtils.GetRarity("Exotic"); } protected override CardInfoStat[] GetStats() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[2] { new CardInfoStat { positive = true, stat = "Heal on block", amount = "+30", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Block Cooldown", amount = "-0.25s", simepleAmount = (SimpleAmount)0 } }; } protected override CardThemeColorType GetTheme() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (CardThemeColorType)7; } public override string GetModName() { return "CPC"; } } internal class IcySprings : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) gun.knockback = 2.5f; gun.slow = 0.5f; gun.damage = 0.75f; gun.projectileColor = Color.cyan; CPCDebug.Log((object)("[CPCClassic][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}.", "CPCClassic", ((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}.", "CPCClassic", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Icy springs"; } protected override string GetDescription() { return "Your bullets are now frozen springs and freeze launch your opponents"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsClassic.Bundle.LoadAsset<GameObject>("C_IcySprings"); } 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 = "Slow", amount = "+50%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Knockback", amount = "+150%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = false, stat = "Damage", 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 JumpBursts : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; CPCDebug.Log((object)("[CPCClassic][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) { JumpBurstEffect orAddComponent = ExtensionMethods.GetOrAddComponent<JumpBurstEffect>(((Component)player).gameObject, false); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCClassic", ((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}.", "CPCClassic", ((CustomCard)this).GetTitle(), player.playerID)); JumpBurstEffect orAddComponent = ExtensionMethods.GetOrAddComponent<JumpBurstEffect>(((Component)player).gameObject, false); Object.Destroy((Object)(object)orAddComponent); } protected override string GetTitle() { return "Burst Jumps"; } protected override string GetDescription() { return "When you jump you get some bursts"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsClassic.Bundle.LoadAsset<GameObject>("C_BurstJumps"); } 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_000f: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[1] { new CardInfoStat() }; } 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 JumpPower : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; CPCDebug.Log((object)("[CPCClassic][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) { JumpPowerEffect orAddComponent = ExtensionMethods.GetOrAddComponent<JumpPowerEffect>(((Component)player).gameObject, false); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCClassic", ((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}.", "CPCClassic", ((CustomCard)this).GetTitle(), player.playerID)); JumpPowerEffect orAddComponent = ExtensionMethods.GetOrAddComponent<JumpPowerEffect>(((Component)player).gameObject, false); Object.Destroy((Object)(object)orAddComponent); } protected override string GetTitle() { return "Power Jumps"; } protected override string GetDescription() { return "When you jump you get some damage"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsClassic.Bundle.LoadAsset<GameObject>("C_PowerJumps"); } 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_000f: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[1] { new CardInfoStat() }; } 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 JumpShrink : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; CPCDebug.Log((object)("[CPCClassic][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) { JumpShrinkEffect orAddComponent = ExtensionMethods.GetOrAddComponent<JumpShrinkEffect>(((Component)player).gameObject, false); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCClassic", ((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}.", "CPCClassic", ((CustomCard)this).GetTitle(), player.playerID)); JumpShrinkEffect orAddComponent = ExtensionMethods.GetOrAddComponent<JumpShrinkEffect>(((Component)player).gameObject, false); Object.Destroy((Object)(object)orAddComponent); } protected override string GetTitle() { return "Shrinking Jumps"; } protected override string GetDescription() { return "When you jump you get smaller"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsClassic.Bundle.LoadAsset<GameObject>("C_ShrinkingJumps"); } 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_000f: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[1] { new CardInfoStat() }; } 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 JumpSpeed : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; CPCDebug.Log((object)("[CPCClassic][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) { JumpSpeedEffect orAddComponent = ExtensionMethods.GetOrAddComponent<JumpSpeedEffect>(((Component)player).gameObject, false); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCClassic", ((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}.", "CPCClassic", ((CustomCard)this).GetTitle(), player.playerID)); JumpSpeedEffect orAddComponent = ExtensionMethods.GetOrAddComponent<JumpSpeedEffect>(((Component)player).gameObject, false); Object.Destroy((Object)(object)orAddComponent); } protected override string GetTitle() { return "Speedy Jumps"; } protected override string GetDescription() { return "When you jump you get some movement speed"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsClassic.Bundle.LoadAsset<GameObject>("C_SpeedyJumps"); } 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_000f: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[1] { new CardInfoStat() }; } 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 NanoMachines : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { statModifiers.health = 1.15f; CPCDebug.Log((object)("[CPCClassic][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.NanoMachines++; HealthBasedEffect val = ((Component)player).gameObject.AddComponent<HealthBasedEffect>(); HealthHandlerModifier healthHandlerModifier = ((ReversibleEffect)val).healthHandlerModifier; healthHandlerModifier.regen_add += 0.1f * (float)((CharacterStatModifiersExtension.GetAdditionalData(characterStats).NanoMachines + 1) / 2); val.SetPercThresholdMax(1f); val.SetPercThresholdMin(0.9f); HealthBasedEffect val2 = ((Component)player).gameObject.AddComponent<HealthBasedEffect>(); HealthHandlerModifier healthHandlerModifier2 = ((ReversibleEffect)val2).healthHandlerModifier; healthHandlerModifier2.regen_add += 0.5f * (float)((CharacterStatModifiersExtension.GetAdditionalData(characterStats).NanoMachines + 1) / 2); val2.SetPercThresholdMax(0.9f); val2.SetPercThresholdMin(0.8f); HealthBasedEffect val3 = ((Component)player).gameObject.AddComponent<HealthBasedEffect>(); HealthHandlerModifier healthHandlerModifier3 = ((ReversibleEffect)val3).healthHandlerModifier; healthHandlerModifier3.regen_add += 1f * (float)((CharacterStatModifiersExtension.GetAdditionalData(characterStats).NanoMachines + 1) / 2); val3.SetPercThresholdMax(0.8f); val3.SetPercThresholdMin(0.7f); HealthBasedEffect val4 = ((Component)player).gameObject.AddComponent<HealthBasedEffect>(); HealthHandlerModifier healthHandlerModifier4 = ((ReversibleEffect)val4).healthHandlerModifier; healthHandlerModifier4.regen_add += 2f * (float)((CharacterStatModifiersExtension.GetAdditionalData(characterStats).NanoMachines + 1) / 2); val4.SetPercThresholdMax(0.7f); val4.SetPercThresholdMin(0.6f); HealthBasedEffect val5 = ((Component)player).gameObject.AddComponent<HealthBasedEffect>(); HealthHandlerModifier healthHandlerModifier5 = ((ReversibleEffect)val5).healthHandlerModifier; healthHandlerModifier5.regen_add += 4f * (float)((CharacterStatModifiersExtension.GetAdditionalData(characterStats).NanoMachines + 1) / 2); val5.SetPercThresholdMax(0.6f); val5.SetPercThresholdMin(0.5f); HealthBasedEffect val6 = ((Component)player).gameObject.AddComponent<HealthBasedEffect>(); HealthHandlerModifier healthHandlerModifier6 = ((ReversibleEffect)val6).healthHandlerModifier; healthHandlerModifier6.regen_add += 6f * (float)((CharacterStatModifiersExtension.GetAdditionalData(characterStats).NanoMachines + 1) / 2); val6.SetPercThresholdMax(0.5f); val6.SetPercThresholdMin(0.4f); HealthBasedEffect val7 = ((Component)player).gameObject.AddComponent<HealthBasedEffect>(); HealthHandlerModifier healthHandlerModifier7 = ((ReversibleEffect)val7).healthHandlerModifier; healthHandlerModifier7.regen_add += 8f * (float)((CharacterStatModifiersExtension.GetAdditionalData(characterStats).NanoMachines + 1) / 2); val7.SetPercThresholdMax(0.4f); val7.SetPercThresholdMin(0.3f); HealthBasedEffect val8 = ((Component)player).gameObject.AddComponent<HealthBasedEffect>(); HealthHandlerModifier healthHandlerModifier8 = ((ReversibleEffect)val8).healthHandlerModifier; healthHandlerModifier8.regen_add += 10f * (float)((CharacterStatModifiersExtension.GetAdditionalData(characterStats).NanoMachines + 1) / 2); val8.SetPercThresholdMax(0.3f); val8.SetPercThresholdMin(0.2f); HealthBasedEffect val9 = ((Component)player).gameObject.AddComponent<HealthBasedEffect>(); HealthHandlerModifier healthHandlerModifier9 = ((ReversibleEffect)val9).healthHandlerModifier; healthHandlerModifier9.regen_add += 12f * (float)((CharacterStatModifiersExtension.GetAdditionalData(characterStats).NanoMachines + 1) / 2); val9.SetPercThresholdMax(0.2f); val9.SetPercThresholdMin(0.1f); HealthBasedEffect val10 = ((Component)player).gameObject.AddComponent<HealthBasedEffect>(); HealthHandlerModifier healthHandlerModifier10 = ((ReversibleEffect)val10).healthHandlerModifier; healthHandlerModifier10.regen_add += 15f * (float)((CharacterStatModifiersExtension.GetAdditionalData(characterStats).NanoMachines + 1) / 2); val10.SetPercThresholdMax(0.1f); val10.SetPercThresholdMin(0f); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCClassic", ((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}.", "CPCClassic", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Nano Machines"; } protected override string GetDescription() { return "Nanomachines, son. The lower your health gets the higher your regen gets (getting this card more then once increases the regen)"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsClassic.Bundle.LoadAsset<GameObject>("C_NanoMachines"); } 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 return (CardInfoStat[])(object)new CardInfoStat[1] { new CardInfoStat { positive = true, 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 override string GetModName() { return "CPC"; } } internal class PercentageBullets : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.attackSpeed = 1.5f; gun.percentageDamage = 0.025f; CPCDebug.Log((object)("[CPCClassic][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}.", "CPCClassic", ((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}.", "CPCClassic", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Biting bullets"; } protected override string GetDescription() { return "Your bullets bite away a small percentage of your opponents health"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsClassic.Bundle.LoadAsset<GameObject>("C_BitingBullets"); } 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 = "Percentage Damage", amount = "+2.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)7; } public override string GetModName() { return "CPC"; } } internal class RedVelvetCake : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { //IL_0026: 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) statModifiers.lifeSteal = 0.5f; statModifiers.health = 1.5f; statModifiers.regen = 6f; gun.projectileColor = Color.red; CPCDebug.Log((object)("[CPCClassic][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}.", "CPCClassic", ((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}.", "CPCClassic", ((CustomCard)this).GetTitle(), player.playerID)); } protected override string GetTitle() { return "Red Velvet Cake"; } protected override string GetDescription() { return "A card to celebrate Poppycars birthday (July 22nd)"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsClassic.Bundle.LoadAsset<GameObject>("C_RedVelvetCake"); } 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 = "Life Steal", amount = "+50%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Health", amount = "+50%", simepleAmount = (SimpleAmount)0 }, new CardInfoStat { positive = true, stat = "Regen", amount = "+6", 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 CocaCola : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; CPCDebug.Log((object)("[CPCClassic][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) { COCSodaEffect orAddComponent = ExtensionMethods.GetOrAddComponent<COCSodaEffect>(((Component)player).gameObject, false); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCClassic", ((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}.", "CPCClassic", ((CustomCard)this).GetTitle(), player.playerID)); COCSodaEffect orAddComponent = ExtensionMethods.GetOrAddComponent<COCSodaEffect>(((Component)player).gameObject, false); Object.Destroy((Object)(object)orAddComponent); } protected override string GetTitle() { return "Coca-Cola"; } protected override string GetDescription() { return "When you block you get increased player stats (lower grav, regen, health) for 2 seconds"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsClassic.Bundle.LoadAsset<GameObject>("C_Coke"); } 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 DrPepper : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; CPCDebug.Log((object)("[CPCClassic][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) { DRSodaEffect orAddComponent = ExtensionMethods.GetOrAddComponent<DRSodaEffect>(((Component)player).gameObject, false); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCClassic", ((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}.", "CPCClassic", ((CustomCard)this).GetTitle(), player.playerID)); DRSodaEffect orAddComponent = ExtensionMethods.GetOrAddComponent<DRSodaEffect>(((Component)player).gameObject, false); Object.Destroy((Object)(object)orAddComponent); } protected override string GetTitle() { return "Dr.Pepper"; } protected override string GetDescription() { return "When you block you get increased gun stats for 2 seconds"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsClassic.Bundle.LoadAsset<GameObject>("C_DrPepper"); } 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 MountainDew : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; CPCDebug.Log((object)("[CPCClassic][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) { MTDSodaEffect orAddComponent = ExtensionMethods.GetOrAddComponent<MTDSodaEffect>(((Component)player).gameObject, false); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCClassic", ((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}.", "CPCClassic", ((CustomCard)this).GetTitle(), player.playerID)); MTDSodaEffect orAddComponent = ExtensionMethods.GetOrAddComponent<MTDSodaEffect>(((Component)player).gameObject, false); Object.Destroy((Object)(object)orAddComponent); } protected override string GetTitle() { return "Mountain Dew"; } protected override string GetDescription() { return "When you block you get increased movment speed, jump height, and you become bigger for 2 seconds"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsClassic.Bundle.LoadAsset<GameObject>("C_MountainDew"); } 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 Pepsi : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; CPCDebug.Log((object)("[CPCClassic][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) { PEPSodaEffect orAddComponent = ExtensionMethods.GetOrAddComponent<PEPSodaEffect>(((Component)player).gameObject, false); CPCDebug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "CPCClassic", ((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}.", "CPCClassic", ((CustomCard)this).GetTitle(), player.playerID)); PEPSodaEffect orAddComponent = ExtensionMethods.GetOrAddComponent<PEPSodaEffect>(((Component)player).gameObject, false); Object.Destroy((Object)(object)orAddComponent); } protected override string GetTitle() { return "Pepsi"; } protected override string GetDescription() { return "When you block you get increased player stats (movment speed, seconds to take dmg over, health) for 2 seconds"; } protected override GameObject GetCardArt() { return ChaosPoppycarsCardsClassic.Bundle.LoadAsset<GameObject>("C_Pepsi"); } 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 Sprite : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; CPCDebug.Log((object)("[CPCClassic][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) { SPRSodaEffect orAddComponent = ExtensionMeth