ASK.dll

Decompiled 7 months ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using ASK.Cards;
using ASK.Cards.COD;
using ASK.Cards.Clash;
using BepInEx;
using HarmonyLib;
using Microsoft.CodeAnalysis;
using ModdingUtils.Utils;
using ModsPlus;
using RarityLib.Utils;
using UnboundLib.Cards;
using UnboundLib.GameModes;
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(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("ASK")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("ASK")]
[assembly: AssemblyTitle("ASK")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)]
	internal sealed class NullableAttribute : Attribute
	{
		public readonly byte[] NullableFlags;

		public NullableAttribute(byte P_0)
		{
			NullableFlags = new byte[1] { P_0 };
		}

		public NullableAttribute(byte[] P_0)
		{
			NullableFlags = P_0;
		}
	}
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)]
	internal sealed class NullableContextAttribute : Attribute
	{
		public readonly byte Flag;

		public NullableContextAttribute(byte P_0)
		{
			Flag = P_0;
		}
	}
}
namespace ASK
{
	[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("tk.scyye.rounds.ask", "Aidan Scyye Keyanlux", "2.0.5")]
	[BepInProcess("Rounds.exe")]
	public class Main : BaseUnityPlugin
	{
		private const string ModId = "tk.scyye.rounds.ask";

		private const string ModName = "Aidan Scyye Keyanlux";

		public const string Version = "2.0.5";

		public const string ModInitials = "ASK";

		public const string CodInitials = "COD";

		public const string ClashInitials = "Clash";

		public static Rarity CodRarity;

		public List<CardInfo> CodCards;

		public static Main instance { get; private set; }

		public void Log(string str)
		{
			Debug.Log((object)("[Aidan Scyye Keyanlux] " + str));
		}

		private void Awake()
		{
			//IL_0019: Unknown result type (might be due to invalid IL or missing references)
			//IL_001f: Expected O, but got Unknown
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0053: Unknown result type (might be due to invalid IL or missing references)
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			instance = this;
			Log("tk.scyye.rounds.ask");
			Harmony val = new Harmony("tk.scyye.rounds.ask");
			val.PatchAll();
			RarityUtils.AddRarity("Call of Duty", 0.05f, new Color(24f, 89f, 40f), new Color(88f, 133f, 99f));
			CodRarity = RarityUtils.GetRarity("Call of Duty");
		}

		private void Start()
		{
			Log("Enabling cards");
			CustomCard.BuildCard<DeadshotDaiquiri>();
			CustomCard.BuildCard<DoubleTapRootBeer>();
			CustomCard.BuildCard<Juggernog>();
			CustomCard.BuildCard<MuleKick>();
			CustomCard.BuildCard<PHDFlopper>();
			CustomCard.BuildCard<SpeedCola>();
			CustomCard.BuildCard<StaminUp>();
			CustomCard.BuildCard<Archer>();
			CustomCard.BuildCard<DartGoblin>();
			CustomCard.BuildCard<Giant>();
			CustomCard.BuildCard<Knight>();
			CustomCard.BuildCard<Princess>();
			CustomCard.BuildCard<Sparky>();
			CustomCard.BuildCard<Fly>();
			CustomCard.BuildCard<Microcosm>();
			CustomCard.BuildCard<OneForAll>();
			CustomCard.BuildCard<ZeroPoint>();
			CustomCard.BuildCard<Arthritis>();
		}
	}
}
namespace ASK.Cards
{
	public class Arthritis : CustomEffectCard<ArthritisEffect>
	{
		public override CardDetails<ArthritisEffect> Details
		{
			get
			{
				//IL_0043: Unknown result type (might be due to invalid IL or missing references)
				//IL_0048: Unknown result type (might be due to invalid IL or missing references)
				//IL_0053: Unknown result type (might be due to invalid IL or missing references)
				//IL_005a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0066: Expected O, but got Unknown
				//IL_0068: Unknown result type (might be due to invalid IL or missing references)
				//IL_006d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0078: Unknown result type (might be due to invalid IL or missing references)
				//IL_007f: 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_009d: 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_00b0: Expected O, but got Unknown
				//IL_00b2: Unknown result type (might be due to invalid IL or missing references)
				//IL_00b7: Unknown result type (might be due to invalid IL or missing references)
				//IL_00c2: Unknown result type (might be due to invalid IL or missing references)
				//IL_00c9: Unknown result type (might be due to invalid IL or missing references)
				//IL_00d5: Expected O, but got Unknown
				//IL_00d7: Unknown result type (might be due to invalid IL or missing references)
				//IL_00dc: Unknown result type (might be due to invalid IL or missing references)
				//IL_00e7: Unknown result type (might be due to invalid IL or missing references)
				//IL_00ee: Unknown result type (might be due to invalid IL or missing references)
				//IL_00fa: Expected O, but got Unknown
				CardDetails<ArthritisEffect> val = new CardDetails<ArthritisEffect>();
				val.ModName = "ASK";
				val.Rarity = (Rarity)1;
				val.Title = "Arthritis";
				val.Description = "These old joints got a lot of experience";
				val.Theme = (CardThemeColorType)0;
				val.Stats = (CardInfoStat[])(object)new CardInfoStat[5]
				{
					new CardInfoStat
					{
						amount = "+10%",
						positive = true,
						stat = "Lifesteal"
					},
					new CardInfoStat
					{
						amount = "+3",
						positive = true,
						stat = "Ammo"
					},
					new CardInfoStat
					{
						amount = "+2",
						positive = true,
						stat = "Jumps"
					},
					new CardInfoStat
					{
						amount = "-15%",
						positive = false,
						stat = "Movement Speed"
					},
					new CardInfoStat
					{
						amount = "1% Self Damage",
						positive = false,
						stat = "On Jump"
					}
				};
				return val;
			}
		}

		protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
		{
			characterStats.movementSpeed *= 0.85f;
			characterStats.lifeSteal *= 1.25f;
			characterStats.numberOfJumps++;
		}

		public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers)
		{
			Main.instance.Log("Enabling Card: " + cardInfo.cardName);
		}
	}
	public class ArthritisEffect : CardEffect
	{
		private HealthHandler Health { get; set; }

		private Player Player { get; set; }

		private CharacterStatModifiers Modifiers { get; set; }

		public override void Initialize(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
		{
			((CardEffect)this).Initialize(player, gun, gunAmmo, data, health, gravity, block, characterStats);
			Health = health;
			Player = player;
			Modifiers = characterStats;
		}

		public override void OnJump()
		{
			//IL_0036: 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_004c: Unknown result type (might be due to invalid IL or missing references)
			int num = Mathf.RoundToInt(Modifiers.health / 100f);
			if (num == 0)
			{
				num = 1;
			}
			Vector2 val = default(Vector2);
			((Vector2)(ref val))..ctor(0f, (float)num);
			Health.DoDamage(val, Vector2.op_Implicit(((Component)Player).transform.position), Color.cyan, (GameObject)null, (Player)null, false, true, false);
		}
	}
	public class Fly : SimpleCard
	{
		public override CardDetails Details
		{
			get
			{
				//IL_0000: Unknown result type (might be due to invalid IL or missing references)
				//IL_0006: Expected O, but got Unknown
				//IL_0043: Unknown result type (might be due to invalid IL or missing references)
				//IL_0048: Unknown result type (might be due to invalid IL or missing references)
				//IL_0053: Unknown result type (might be due to invalid IL or missing references)
				//IL_005a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0066: Expected O, but got Unknown
				//IL_0068: Unknown result type (might be due to invalid IL or missing references)
				//IL_006d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0078: Unknown result type (might be due to invalid IL or missing references)
				//IL_007f: Unknown result type (might be due to invalid IL or missing references)
				//IL_008b: Expected O, but got Unknown
				CardDetails val = new CardDetails();
				val.ModName = "ASK";
				val.Rarity = (Rarity)1;
				val.Title = "Fly";
				val.Description = "Allows you to jump multiple times, 3 to be excat!";
				val.Theme = (CardThemeColorType)2;
				val.Stats = (CardInfoStat[])(object)new CardInfoStat[2]
				{
					new CardInfoStat
					{
						amount = "+3",
						positive = true,
						stat = "Jumps"
					},
					new CardInfoStat
					{
						amount = "-15%",
						positive = false,
						stat = "Movement Speed"
					}
				};
				return val;
			}
		}

		public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers)
		{
			Main.instance.Log("Enabling Card: " + cardInfo.cardName);
		}

		protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
		{
			characterStats.movementSpeed = 0.85f;
		}

		public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
		{
			((CustomCard)this).SetupCard(cardInfo, gun, cardStats, statModifiers, block);
			statModifiers.numberOfJumps += 3;
		}
	}
	public class Microcosm : SimpleCard
	{
		public override CardDetails Details
		{
			get
			{
				//IL_0000: Unknown result type (might be due to invalid IL or missing references)
				//IL_0006: Expected O, but got Unknown
				//IL_0043: Unknown result type (might be due to invalid IL or missing references)
				//IL_0048: Unknown result type (might be due to invalid IL or missing references)
				//IL_0053: Unknown result type (might be due to invalid IL or missing references)
				//IL_005a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0066: Expected O, but got Unknown
				//IL_0068: Unknown result type (might be due to invalid IL or missing references)
				//IL_006d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0078: Unknown result type (might be due to invalid IL or missing references)
				//IL_007f: 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_009d: 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_00b0: Expected O, but got Unknown
				CardDetails val = new CardDetails();
				val.ModName = "ASK";
				val.Rarity = (Rarity)1;
				val.Title = "Microcosm";
				val.Description = "Compact your damage into a tiny bullet!";
				val.Theme = (CardThemeColorType)3;
				val.Stats = (CardInfoStat[])(object)new CardInfoStat[3]
				{
					new CardInfoStat
					{
						amount = "+50%",
						positive = true,
						stat = "Damage"
					},
					new CardInfoStat
					{
						amount = "-25%",
						positive = false,
						stat = "Bullet Size"
					},
					new CardInfoStat
					{
						amount = "-10%",
						positive = false,
						stat = "Health"
					}
				};
				return val;
			}
		}

		public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers)
		{
			Main.instance.Log("Enabling Card: " + cardInfo.cardName);
		}

		protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
		{
			gun.projectileSize = 0.75f;
			gun.damage = 1.5f;
			characterStats.health = 0.9f;
		}
	}
	public class OneForAll : SimpleCard
	{
		public override CardDetails Details
		{
			get
			{
				//IL_0000: Unknown result type (might be due to invalid IL or missing references)
				//IL_0006: Expected O, but got Unknown
				//IL_0043: Unknown result type (might be due to invalid IL or missing references)
				//IL_0048: Unknown result type (might be due to invalid IL or missing references)
				//IL_0053: Unknown result type (might be due to invalid IL or missing references)
				//IL_005a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0066: Expected O, but got Unknown
				//IL_0068: Unknown result type (might be due to invalid IL or missing references)
				//IL_006d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0078: Unknown result type (might be due to invalid IL or missing references)
				//IL_007f: Unknown result type (might be due to invalid IL or missing references)
				//IL_008b: Expected O, but got Unknown
				CardDetails val = new CardDetails();
				val.ModName = "ASK";
				val.Rarity = (Rarity)2;
				val.Title = "One For All";
				val.Description = "One for all, all for one.";
				val.Theme = (CardThemeColorType)0;
				val.Stats = (CardInfoStat[])(object)new CardInfoStat[2]
				{
					new CardInfoStat
					{
						amount = "+25%",
						positive = true,
						stat = "All Stats"
					},
					new CardInfoStat
					{
						amount = "+25%",
						positive = false,
						stat = "All Stats"
					}
				};
				return val;
			}
		}

		public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers)
		{
			Main.instance.Log("Enabling Card: " + cardInfo.cardName);
		}

		protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
		{
			gun.ammo += gun.ammo / 4;
			gun.ammoReg *= 1.25f;
			gun.attackSpeed *= 1.25f;
			gun.bodyRecoil *= 1.25f;
			gun.bursts += gun.bursts / 4;
			gun.damage *= 1.25f;
			gun.gravity *= 1.25f;
			gun.projectileSpeed *= 1.25f;
			gun.recoil *= 1.25f;
			gun.damageAfterDistanceMultiplier *= 1.25f;
			gunAmmo.reloadTimeMultiplier *= 1.25f;
			gravity.gravityForce *= 1.25f;
			block.additionalBlocks += block.additionalBlocks / 4;
			block.cdMultiplier *= 1.25f;
			block.forceToAdd *= 1.25f;
			block.forceToAddUp *= 1.25f;
			characterStats.health *= 1.25f;
			characterStats.jump *= 1.25f;
			characterStats.numberOfJumps += characterStats.numberOfJumps / 4;
			characterStats.attackSpeedMultiplier *= 1.25f;
			characterStats.sizeMultiplier *= 1.25f;
			characterStats.lifeSteal *= 1.25f;
			characterStats.movementSpeed *= 1.25f;
			characterStats.regen *= 1.25f;
			characterStats.respawns++;
			characterStats.sizeMultiplier *= 1.25f;
			characterStats.secondsToTakeDamageOver *= 1.25f;
		}
	}
	internal class QualityOverQuantity : CustomEffectCard<QualityOverQuantityEffect>
	{
		public override CardDetails<QualityOverQuantityEffect> Details
		{
			get
			{
				//IL_0043: Unknown result type (might be due to invalid IL or missing references)
				//IL_0048: Unknown result type (might be due to invalid IL or missing references)
				//IL_0053: Unknown result type (might be due to invalid IL or missing references)
				//IL_005a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0066: Expected O, but got Unknown
				//IL_0068: Unknown result type (might be due to invalid IL or missing references)
				//IL_006d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0078: Unknown result type (might be due to invalid IL or missing references)
				//IL_007f: Unknown result type (might be due to invalid IL or missing references)
				//IL_008b: Expected O, but got Unknown
				CardDetails<QualityOverQuantityEffect> val = new CardDetails<QualityOverQuantityEffect>();
				val.ModName = "ASK";
				val.Rarity = (Rarity)0;
				val.Title = "Quality Over Quantity";
				val.Description = "The less bullets you have, the more damage you do!";
				val.Theme = (CardThemeColorType)0;
				val.Stats = (CardInfoStat[])(object)new CardInfoStat[2]
				{
					new CardInfoStat
					{
						amount = "RESET",
						positive = true,
						stat = "ALL STATS"
					},
					new CardInfoStat
					{
						amount = "RESET",
						positive = false,
						stat = "ALL STATS"
					}
				};
				return val;
			}
		}

		protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
		{
			base.Added(player, gun, gunAmmo, data, health, gravity, block, characterStats);
		}
	}
	internal class QualityOverQuantityEffect : CardEffect
	{
		private Gun gun { get; set; }

		public override void Initialize(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
		{
			((CardEffect)this).Initialize(player, gun, gunAmmo, data, health, gravity, block, characterStats);
			this.gun = gun;
		}

		public override IEnumerator OnBattleStart(IGameModeHandler gameModeHandler)
		{
			return ((CardEffect)this).OnBattleStart(gameModeHandler);
		}
	}
	public class ZeroPoint : SimpleCard
	{
		public override CardDetails Details
		{
			get
			{
				//IL_0000: Unknown result type (might be due to invalid IL or missing references)
				//IL_0006: Expected O, but got Unknown
				//IL_0043: Unknown result type (might be due to invalid IL or missing references)
				//IL_0048: Unknown result type (might be due to invalid IL or missing references)
				//IL_0053: Unknown result type (might be due to invalid IL or missing references)
				//IL_005a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0066: Expected O, but got Unknown
				//IL_0068: Unknown result type (might be due to invalid IL or missing references)
				//IL_006d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0078: Unknown result type (might be due to invalid IL or missing references)
				//IL_007f: Unknown result type (might be due to invalid IL or missing references)
				//IL_008b: Expected O, but got Unknown
				CardDetails val = new CardDetails();
				val.ModName = "ASK";
				val.Rarity = (Rarity)0;
				val.Title = "Zero Point";
				val.Description = "Don't like your stats?";
				val.Theme = (CardThemeColorType)0;
				val.Stats = (CardInfoStat[])(object)new CardInfoStat[2]
				{
					new CardInfoStat
					{
						amount = "RESET",
						positive = true,
						stat = "ALL STATS"
					},
					new CardInfoStat
					{
						amount = "RESET",
						positive = false,
						stat = "ALL STATS"
					}
				};
				return val;
			}
		}

		public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers)
		{
			Main.instance.Log("Enabling Card: " + cardInfo.cardName);
		}

		protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
		{
			Cards.instance.RemoveAllCardsFromPlayer(player, true);
		}
	}
}
namespace ASK.Cards.COD
{
	public class DeadshotDaiquiri : SimpleCard
	{
		public override CardDetails Details
		{
			get
			{
				//IL_0000: Unknown result type (might be due to invalid IL or missing references)
				//IL_0006: Expected O, but got Unknown
				//IL_0027: Unknown result type (might be due to invalid IL or missing references)
				//IL_003b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0040: 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_0052: Unknown result type (might be due to invalid IL or missing references)
				//IL_005e: Expected O, but got Unknown
				CardDetails val = new CardDetails();
				val.Title = "Deadshot Daiquiri";
				val.Description = "To err is human, to forgive is divine. Well I'm not forgiving, and the error ain't mine!";
				val.Theme = (CardThemeColorType)3;
				val.Rarity = Main.CodRarity;
				val.Stats = (CardInfoStat[])(object)new CardInfoStat[1]
				{
					new CardInfoStat
					{
						positive = true,
						stat = "Spread",
						amount = "Reset"
					}
				};
				val.ModName = "COD";
				return val;
			}
		}

		public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers)
		{
			Main.instance.Log("Enabling Card: " + cardInfo.cardName);
		}

		protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
		{
			((SimpleCard)this).Added(player, gun, gunAmmo, data, health, gravity, block, characterStats);
			gun.spread = 0f;
		}
	}
	public class DoubleTapRootBeer : SimpleCard
	{
		public override CardDetails Details
		{
			get
			{
				//IL_0000: Unknown result type (might be due to invalid IL or missing references)
				//IL_0006: Expected O, but got Unknown
				//IL_0027: Unknown result type (might be due to invalid IL or missing references)
				//IL_003b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0040: 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_0052: Unknown result type (might be due to invalid IL or missing references)
				//IL_005e: Expected O, but got Unknown
				//IL_0060: Unknown result type (might be due to invalid IL or missing references)
				//IL_0065: Unknown result type (might be due to invalid IL or missing references)
				//IL_006c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0077: Unknown result type (might be due to invalid IL or missing references)
				//IL_0083: Expected O, but got Unknown
				CardDetails val = new CardDetails();
				val.Title = "Double Tap Root Beer";
				val.Description = "Cowboys can't shoot slow or they'll end up below. When they need some help, they reach for the Root beer shelf-";
				val.Theme = (CardThemeColorType)7;
				val.Rarity = Main.CodRarity;
				val.Stats = (CardInfoStat[])(object)new CardInfoStat[2]
				{
					new CardInfoStat
					{
						positive = true,
						stat = "Bullets",
						amount = "+2"
					},
					new CardInfoStat
					{
						positive = true,
						stat = "Fire Rate",
						amount = "+33%"
					}
				};
				val.ModName = "COD";
				return val;
			}
		}

		public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers)
		{
			Main.instance.Log("Enabling Card: " + cardInfo.cardName);
		}

		protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
		{
			((SimpleCard)this).Added(player, gun, gunAmmo, data, health, gravity, block, characterStats);
			gun.numberOfProjectiles += 2;
			gun.timeBetweenBullets *= 0.66f;
		}
	}
	public class Juggernog : SimpleCard
	{
		public override CardDetails Details
		{
			get
			{
				//IL_0000: Unknown result type (might be due to invalid IL or missing references)
				//IL_0006: Expected O, but got Unknown
				//IL_0027: Unknown result type (might be due to invalid IL or missing references)
				//IL_003b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0040: 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_0052: Unknown result type (might be due to invalid IL or missing references)
				//IL_005d: Unknown result type (might be due to invalid IL or missing references)
				//IL_005f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0065: Expected O, but got Unknown
				CardDetails val = new CardDetails();
				val.Title = "Juggernog";
				val.Description = "When you need some help to get by, something to make you feel strong.";
				val.Theme = (CardThemeColorType)2;
				val.Rarity = Main.CodRarity;
				val.Stats = (CardInfoStat[])(object)new CardInfoStat[1]
				{
					new CardInfoStat
					{
						positive = true,
						stat = "Health",
						amount = "+150",
						simepleAmount = (SimpleAmount)3
					}
				};
				val.ModName = "COD";
				return val;
			}
		}

		public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers)
		{
			Main.instance.Log("Enabling Card: " + cardInfo.cardName);
		}

		protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
		{
			((SimpleCard)this).Added(player, gun, gunAmmo, data, health, gravity, block, characterStats);
			characterStats.health += 150f;
		}
	}
	public class MuleKick : SimpleCard
	{
		public override CardDetails Details
		{
			get
			{
				//IL_0000: Unknown result type (might be due to invalid IL or missing references)
				//IL_0006: Expected O, but got Unknown
				//IL_0027: Unknown result type (might be due to invalid IL or missing references)
				//IL_003b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0040: 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_0052: Unknown result type (might be due to invalid IL or missing references)
				//IL_005e: Expected O, but got Unknown
				CardDetails val = new CardDetails();
				val.Title = "Mule Kick";
				val.Description = "Legend tells us of a man, a hero in a tortured land, where Señoritas lived in fear.";
				val.Theme = (CardThemeColorType)5;
				val.Rarity = Main.CodRarity;
				val.Stats = (CardInfoStat[])(object)new CardInfoStat[1]
				{
					new CardInfoStat
					{
						positive = true,
						stat = "Bullets",
						amount = "x2"
					}
				};
				val.ModName = "COD";
				return val;
			}
		}

		public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers)
		{
			Main.instance.Log("Enabling Card: " + cardInfo.cardName);
		}

		protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
		{
			((SimpleCard)this).Added(player, gun, gunAmmo, data, health, gravity, block, characterStats);
			gun.numberOfProjectiles *= 2;
		}
	}
	internal class PerkACola : SimpleCard
	{
		public override CardDetails Details
		{
			get
			{
				//IL_0000: Unknown result type (might be due to invalid IL or missing references)
				//IL_0006: Expected O, but got Unknown
				//IL_0037: Unknown result type (might be due to invalid IL or missing references)
				//IL_003c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0043: Unknown result type (might be due to invalid IL or missing references)
				//IL_004e: Unknown result type (might be due to invalid IL or missing references)
				//IL_005a: Expected O, but got Unknown
				CardDetails val = new CardDetails();
				val.Title = "Perk-A-Cola";
				val.Description = "Gives you a random COD card from ASK (or any mod that adds more COD cards)";
				val.Theme = (CardThemeColorType)1;
				val.Rarity = (Rarity)2;
				val.Stats = (CardInfoStat[])(object)new CardInfoStat[1]
				{
					new CardInfoStat
					{
						positive = true,
						stat = "COD Card",
						amount = "+1 Random"
					}
				};
				val.ModName = "COD";
				return val;
			}
		}

		protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
		{
			((SimpleCard)this).Added(player, gun, gunAmmo, data, health, gravity, block, characterStats);
			CardInfo val = Cards.instance.NORARITY_GetRandomCardWithCondition(player, gun, gunAmmo, data, health, gravity, block, characterStats, (Func<CardInfo, Player, Gun, GunAmmo, CharacterData, HealthHandler, Gravity, Block, CharacterStatModifiers, bool>)condition, 1000);
			if ((Object)(object)val == (Object)null)
			{
				val = Cards.instance.NORARITY_GetRandomCardWithCondition(player, gun, gunAmmo, data, health, gravity, block, characterStats, (Func<CardInfo, Player, Gun, GunAmmo, CharacterData, HealthHandler, Gravity, Block, CharacterStatModifiers, bool>)conditionDupe, 1000);
			}
			Cards.instance.AddCardToPlayer(player, val, false, "", 0f, 0f);
		}

		public bool condition(CardInfo card, Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
		{
			//IL_0036: Unknown result type (might be due to invalid IL or missing references)
			//IL_003b: Unknown result type (might be due to invalid IL or missing references)
			foreach (CardInfo codCard in Main.instance.CodCards)
			{
				if (!((object)codCard).Equals((object?)card) || !data.currentCards.Contains(codCard) || codCard.rarity == Main.CodRarity)
				{
					continue;
				}
				return true;
			}
			return false;
		}

		public bool conditionDupe(CardInfo card, Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
		{
			//IL_0022: Unknown result type (might be due to invalid IL or missing references)
			//IL_0027: Unknown result type (might be due to invalid IL or missing references)
			foreach (CardInfo item in Cards.all)
			{
				if (!((object)item).Equals((object?)card) || item.rarity == Main.CodRarity)
				{
					continue;
				}
				return true;
			}
			return false;
		}
	}
	public class PHDFlopper : SimpleCard
	{
		public override CardDetails Details
		{
			get
			{
				//IL_0000: Unknown result type (might be due to invalid IL or missing references)
				//IL_0006: Expected O, but got Unknown
				//IL_0027: Unknown result type (might be due to invalid IL or missing references)
				//IL_003b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0040: 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_0052: Unknown result type (might be due to invalid IL or missing references)
				//IL_005e: Expected O, but got Unknown
				CardDetails val = new CardDetails();
				val.Title = "PhD Flopper";
				val.Description = "PhD, night-time scene. PhD, the streets are mean. PhD, the things I've seen, the good (PhD), and the bad.";
				val.Theme = (CardThemeColorType)2;
				val.Rarity = Main.CodRarity;
				val.Stats = (CardInfoStat[])(object)new CardInfoStat[1]
				{
					new CardInfoStat
					{
						positive = true,
						stat = "Projectile Cunt",
						amount = "+2"
					}
				};
				val.ModName = "COD";
				return val;
			}
		}

		public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers)
		{
			Main.instance.Log("Enabling Card: " + cardInfo.cardName);
		}

		protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
		{
			((SimpleCard)this).Added(player, gun, gunAmmo, data, health, gravity, block, characterStats);
			gun.numberOfProjectiles += 2;
		}
	}
	public class QuickRevive : SimpleCard
	{
		public override CardDetails Details
		{
			get
			{
				//IL_0000: Unknown result type (might be due to invalid IL or missing references)
				//IL_0006: Expected O, but got Unknown
				//IL_0027: Unknown result type (might be due to invalid IL or missing references)
				//IL_003b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0040: 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_0052: Unknown result type (might be due to invalid IL or missing references)
				//IL_005e: Expected O, but got Unknown
				CardDetails val = new CardDetails();
				val.Title = "Quick Revive";
				val.Description = "When everything's, been draggin' you down, grabbed you by the hair and pulled you to the ground-";
				val.Theme = (CardThemeColorType)2;
				val.Rarity = Main.CodRarity;
				val.Stats = (CardInfoStat[])(object)new CardInfoStat[1]
				{
					new CardInfoStat
					{
						positive = true,
						stat = "Extra Life",
						amount = "+1"
					}
				};
				val.ModName = "COD";
				return val;
			}
		}

		public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers)
		{
			Main.instance.Log("Enabling Card: " + cardInfo.cardName);
		}

		protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
		{
			((SimpleCard)this).Added(player, gun, gunAmmo, data, health, gravity, block, characterStats);
			characterStats.respawns++;
		}
	}
	public class SpeedCola : SimpleCard
	{
		public override CardDetails Details
		{
			get
			{
				//IL_0000: Unknown result type (might be due to invalid IL or missing references)
				//IL_0006: Expected O, but got Unknown
				//IL_0027: Unknown result type (might be due to invalid IL or missing references)
				//IL_003b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0040: 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_0052: Unknown result type (might be due to invalid IL or missing references)
				//IL_005e: Expected O, but got Unknown
				//IL_0060: Unknown result type (might be due to invalid IL or missing references)
				//IL_0065: Unknown result type (might be due to invalid IL or missing references)
				//IL_006c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0077: Unknown result type (might be due to invalid IL or missing references)
				//IL_0083: Expected O, but got Unknown
				CardDetails val = new CardDetails();
				val.Title = "Speed Cola";
				val.Description = "Your hands are slow, your movement's sluggish, your lack of speed, just brings you anguish.";
				val.Theme = (CardThemeColorType)3;
				val.Rarity = Main.CodRarity;
				val.Stats = (CardInfoStat[])(object)new CardInfoStat[2]
				{
					new CardInfoStat
					{
						positive = true,
						stat = "Block Cooldown",
						amount = "-25%"
					},
					new CardInfoStat
					{
						positive = true,
						stat = "Reload Speed",
						amount = "+50%"
					}
				};
				val.ModName = "COD";
				return val;
			}
		}

		public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers)
		{
			Main.instance.Log("Enabling Card: " + cardInfo.cardName);
		}

		protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
		{
			((SimpleCard)this).Added(player, gun, gunAmmo, data, health, gravity, block, characterStats);
			gun.reloadTime *= 0.5f;
			block.cdMultiplier *= 0.75f;
		}
	}
	public class StaminUp : SimpleCard
	{
		public override CardDetails Details
		{
			get
			{
				//IL_0000: Unknown result type (might be due to invalid IL or missing references)
				//IL_0006: Expected O, but got Unknown
				//IL_0027: Unknown result type (might be due to invalid IL or missing references)
				//IL_003b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0040: 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_0052: Unknown result type (might be due to invalid IL or missing references)
				//IL_005d: Unknown result type (might be due to invalid IL or missing references)
				//IL_005f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0065: Expected O, but got Unknown
				CardDetails val = new CardDetails();
				val.Title = "Stamin-Up";
				val.Description = "Stamin-up-Min-Up! (x3) When you need some extra runnin', when you need some extra time-";
				val.Theme = (CardThemeColorType)3;
				val.Rarity = Main.CodRarity;
				val.Stats = (CardInfoStat[])(object)new CardInfoStat[1]
				{
					new CardInfoStat
					{
						positive = true,
						stat = "Movement Speed",
						amount = "+50%",
						simepleAmount = (SimpleAmount)1
					}
				};
				val.ModName = "COD";
				return val;
			}
		}

		public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers)
		{
			Main.instance.Log("Enabling Card: " + cardInfo.cardName);
		}

		protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
		{
			((SimpleCard)this).Added(player, gun, gunAmmo, data, health, gravity, block, characterStats);
			characterStats.movementSpeed *= 1.5f;
		}
	}
}
namespace ASK.Cards.Clash
{
	public class Archer : SimpleCard
	{
		public override CardDetails Details
		{
			get
			{
				//IL_0000: Unknown result type (might be due to invalid IL or missing references)
				//IL_0006: Expected O, but got Unknown
				//IL_0037: Unknown result type (might be due to invalid IL or missing references)
				//IL_003c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0043: Unknown result type (might be due to invalid IL or missing references)
				//IL_004e: Unknown result type (might be due to invalid IL or missing references)
				//IL_005a: Expected O, but got Unknown
				//IL_005c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0061: Unknown result type (might be due to invalid IL or missing references)
				//IL_0068: Unknown result type (might be due to invalid IL or missing references)
				//IL_0073: Unknown result type (might be due to invalid IL or missing references)
				//IL_007f: Expected O, but got Unknown
				//IL_0081: Unknown result type (might be due to invalid IL or missing references)
				//IL_0086: Unknown result type (might be due to invalid IL or missing references)
				//IL_008d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0098: Unknown result type (might be due to invalid IL or missing references)
				//IL_00a4: Expected O, but got Unknown
				CardDetails val = new CardDetails();
				val.Title = "Archer";
				val.Description = "A pair of lightly armored ranged attackers. They'll help you take down ground and air units, but you're on your own with hair coloring advice.";
				val.Theme = (CardThemeColorType)5;
				val.Rarity = (Rarity)1;
				val.Stats = (CardInfoStat[])(object)new CardInfoStat[3]
				{
					new CardInfoStat
					{
						positive = true,
						stat = "Range",
						amount = "+50%"
					},
					new CardInfoStat
					{
						positive = true,
						stat = "Bullet Growth",
						amount = "+15%"
					},
					new CardInfoStat
					{
						positive = false,
						amount = "-20%",
						stat = "Damage"
					}
				};
				val.ModName = "Clash";
				return val;
			}
		}

		protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
		{
			((SimpleCard)this).Added(player, gun, gunAmmo, data, health, gravity, block, characterStats);
			gun.destroyBulletAfter *= 1.5f;
			gun.damageAfterDistanceMultiplier *= 1.15f;
			gun.damage *= 0.8f;
		}

		public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers)
		{
			((CustomCard)this).SetupCard(cardInfo, gun, cardStats, statModifiers);
		}
	}
	public class DartGoblin : SimpleCard
	{
		public override CardDetails Details
		{
			get
			{
				//IL_0000: Unknown result type (might be due to invalid IL or missing references)
				//IL_0006: Expected O, but got Unknown
				//IL_0037: Unknown result type (might be due to invalid IL or missing references)
				//IL_003c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0043: Unknown result type (might be due to invalid IL or missing references)
				//IL_004e: Unknown result type (might be due to invalid IL or missing references)
				//IL_005a: Expected O, but got Unknown
				//IL_005c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0061: Unknown result type (might be due to invalid IL or missing references)
				//IL_0068: Unknown result type (might be due to invalid IL or missing references)
				//IL_0073: Unknown result type (might be due to invalid IL or missing references)
				//IL_007f: Expected O, but got Unknown
				//IL_0081: Unknown result type (might be due to invalid IL or missing references)
				//IL_0086: Unknown result type (might be due to invalid IL or missing references)
				//IL_008d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0098: Unknown result type (might be due to invalid IL or missing references)
				//IL_00a4: Expected O, but got Unknown
				//IL_00a6: Unknown result type (might be due to invalid IL or missing references)
				//IL_00ab: Unknown result type (might be due to invalid IL or missing references)
				//IL_00b2: Unknown result type (might be due to invalid IL or missing references)
				//IL_00bd: Unknown result type (might be due to invalid IL or missing references)
				//IL_00c9: Expected O, but got Unknown
				//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
				//IL_00d0: Unknown result type (might be due to invalid IL or missing references)
				//IL_00d7: 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_00ee: Expected O, but got Unknown
				CardDetails val = new CardDetails();
				val.Title = "Dart Goblin";
				val.Description = "Runs fast, shoots far and chews gum. How does he blow darts with a mouthful of Double Trouble Gum? Years of didgeridoo lessons.";
				val.Theme = (CardThemeColorType)5;
				val.Rarity = (Rarity)2;
				val.Stats = (CardInfoStat[])(object)new CardInfoStat[5]
				{
					new CardInfoStat
					{
						positive = true,
						stat = "Speed",
						amount = "+55%"
					},
					new CardInfoStat
					{
						positive = true,
						stat = "ATKSPD",
						amount = "x4"
					},
					new CardInfoStat
					{
						positive = true,
						amount = "+15",
						stat = "Ammo"
					},
					new CardInfoStat
					{
						positive = false,
						amount = "-20%",
						stat = "Damage"
					},
					new CardInfoStat
					{
						positive = false,
						amount = "-40%",
						stat = "Health"
					}
				};
				val.ModName = "Clash";
				return val;
			}
		}

		protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
		{
			((SimpleCard)this).Added(player, gun, gunAmmo, data, health, gravity, block, characterStats);
			characterStats.movementSpeed *= 1.55f;
			gun.attackSpeedMultiplier *= 0.25f;
			gun.damage *= 0.8f;
			characterStats.health *= 0.6f;
		}

		public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers)
		{
			((CustomCard)this).SetupCard(cardInfo, gun, cardStats, statModifiers);
			gun.ammo += 15;
		}
	}
	public class Giant : SimpleCard
	{
		public override CardDetails Details
		{
			get
			{
				//IL_0000: Unknown result type (might be due to invalid IL or missing references)
				//IL_0006: Expected O, but got Unknown
				//IL_0037: Unknown result type (might be due to invalid IL or missing references)
				//IL_003c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0043: Unknown result type (might be due to invalid IL or missing references)
				//IL_004e: Unknown result type (might be due to invalid IL or missing references)
				//IL_005a: Expected O, but got Unknown
				//IL_005c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0061: Unknown result type (might be due to invalid IL or missing references)
				//IL_0068: Unknown result type (might be due to invalid IL or missing references)
				//IL_0073: Unknown result type (might be due to invalid IL or missing references)
				//IL_007f: Expected O, but got Unknown
				//IL_0081: Unknown result type (might be due to invalid IL or missing references)
				//IL_0086: Unknown result type (might be due to invalid IL or missing references)
				//IL_008d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0098: Unknown result type (might be due to invalid IL or missing references)
				//IL_00a4: Expected O, but got Unknown
				CardDetails val = new CardDetails();
				val.Title = "Giant";
				val.Description = "Slow but durable, only attacks buildings. A real one-man wrecking crew!";
				val.Theme = (CardThemeColorType)5;
				val.Rarity = (Rarity)1;
				val.Stats = (CardInfoStat[])(object)new CardInfoStat[3]
				{
					new CardInfoStat
					{
						positive = true,
						stat = "Damage",
						amount = "+50%"
					},
					new CardInfoStat
					{
						positive = true,
						stat = "Health",
						amount = "+50%"
					},
					new CardInfoStat
					{
						positive = false,
						amount = "-40%",
						stat = "Move Speed"
					}
				};
				val.ModName = "Clash";
				return val;
			}
		}

		protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
		{
			((SimpleCard)this).Added(player, gun, gunAmmo, data, health, gravity, block, characterStats);
			gun.damage *= 1.5f;
			characterStats.health *= 1.5f;
			characterStats.movementSpeed *= 0.6f;
		}
	}
	public class Knight : SimpleCard
	{
		public override CardDetails Details
		{
			get
			{
				//IL_0000: Unknown result type (might be due to invalid IL or missing references)
				//IL_0006: Expected O, but got Unknown
				//IL_0037: Unknown result type (might be due to invalid IL or missing references)
				//IL_003c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0043: Unknown result type (might be due to invalid IL or missing references)
				//IL_004e: Unknown result type (might be due to invalid IL or missing references)
				//IL_005a: Expected O, but got Unknown
				//IL_005c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0061: Unknown result type (might be due to invalid IL or missing references)
				//IL_0068: Unknown result type (might be due to invalid IL or missing references)
				//IL_0073: Unknown result type (might be due to invalid IL or missing references)
				//IL_007f: Expected O, but got Unknown
				//IL_0081: Unknown result type (might be due to invalid IL or missing references)
				//IL_0086: Unknown result type (might be due to invalid IL or missing references)
				//IL_008d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0098: Unknown result type (might be due to invalid IL or missing references)
				//IL_00a4: Expected O, but got Unknown
				CardDetails val = new CardDetails();
				val.Title = "Knight";
				val.Description = "A tough melee fighter. The Barbarian's handsome, cultured cousin. Rumor has it that he was knighted based on the sheer awesomeness of his mustache alone.";
				val.Theme = (CardThemeColorType)5;
				val.Rarity = (Rarity)1;
				val.Stats = (CardInfoStat[])(object)new CardInfoStat[3]
				{
					new CardInfoStat
					{
						positive = true,
						stat = "Health",
						amount = "+45%"
					},
					new CardInfoStat
					{
						positive = true,
						stat = "ATKSPD",
						amount = "+25%"
					},
					new CardInfoStat
					{
						positive = false,
						stat = "Damage",
						amount = "-15%"
					}
				};
				val.ModName = "Clash";
				return val;
			}
		}

		protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
		{
			((SimpleCard)this).Added(player, gun, gunAmmo, data, health, gravity, block, characterStats);
			characterStats.health *= 1.5f;
			gun.attackSpeedMultiplier *= 0.75f;
			gun.damage *= 0.85f;
		}
	}
	public class Princess : SimpleCard
	{
		public override CardDetails Details
		{
			get
			{
				//IL_0000: Unknown result type (might be due to invalid IL or missing references)
				//IL_0006: Expected O, but got Unknown
				//IL_0037: Unknown result type (might be due to invalid IL or missing references)
				//IL_003c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0043: Unknown result type (might be due to invalid IL or missing references)
				//IL_004e: Unknown result type (might be due to invalid IL or missing references)
				//IL_005a: Expected O, but got Unknown
				//IL_005c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0061: Unknown result type (might be due to invalid IL or missing references)
				//IL_0068: Unknown result type (might be due to invalid IL or missing references)
				//IL_0073: Unknown result type (might be due to invalid IL or missing references)
				//IL_007f: Expected O, but got Unknown
				//IL_0081: Unknown result type (might be due to invalid IL or missing references)
				//IL_0086: Unknown result type (might be due to invalid IL or missing references)
				//IL_008d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0098: Unknown result type (might be due to invalid IL or missing references)
				//IL_00a4: Expected O, but got Unknown
				CardDetails val = new CardDetails();
				val.Title = "Princess";
				val.Description = "This stunning Princess shoots flaming arrows from long range. If you're feeling warm feelings towards her, it's probably because you're on fire.";
				val.Theme = (CardThemeColorType)5;
				val.Rarity = (Rarity)1;
				val.Stats = (CardInfoStat[])(object)new CardInfoStat[3]
				{
					new CardInfoStat
					{
						positive = true,
						stat = "Damage",
						amount = "+25%"
					},
					new CardInfoStat
					{
						positive = true,
						stat = "Bullet Gravity",
						amount = "-25%"
					},
					new CardInfoStat
					{
						positive = false,
						amount = "-30%",
						stat = "Health"
					}
				};
				val.ModName = "Clash";
				return val;
			}
		}

		protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
		{
			((SimpleCard)this).Added(player, gun, gunAmmo, data, health, gravity, block, characterStats);
			gun.damage *= 1.25f;
			gun.gravity *= 0.75f;
			characterStats.health *= 0.7f;
		}
	}
	public class Sparky : CustomEffectCard<SparkyEffect>
	{
		public override CardDetails<SparkyEffect> Details
		{
			get
			{
				//IL_0037: Unknown result type (might be due to invalid IL or missing references)
				//IL_003c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0043: Unknown result type (might be due to invalid IL or missing references)
				//IL_004e: Unknown result type (might be due to invalid IL or missing references)
				//IL_005a: Expected O, but got Unknown
				//IL_005c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0061: Unknown result type (might be due to invalid IL or missing references)
				//IL_0068: Unknown result type (might be due to invalid IL or missing references)
				//IL_0073: Unknown result type (might be due to invalid IL or missing references)
				//IL_007f: Expected O, but got Unknown
				//IL_0081: Unknown result type (might be due to invalid IL or missing references)
				//IL_0086: Unknown result type (might be due to invalid IL or missing references)
				//IL_008d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0098: Unknown result type (might be due to invalid IL or missing references)
				//IL_00a4: Expected O, but got Unknown
				CardDetails<SparkyEffect> val = new CardDetails<SparkyEffect>();
				val.Title = "Sparky";
				val.Description = "Sparky slowly charges up, then unloads MASSIVE area damage. Overkill isn't in her vocabulary.";
				val.Theme = (CardThemeColorType)5;
				val.Rarity = (Rarity)2;
				val.Stats = (CardInfoStat[])(object)new CardInfoStat[3]
				{
					new CardInfoStat
					{
						positive = true,
						stat = "Damage",
						amount = "x3"
					},
					new CardInfoStat
					{
						positive = false,
						stat = "Max Bullets",
						amount = "1"
					},
					new CardInfoStat
					{
						positive = false,
						amount = "-75%",
						stat = "ATKSPD"
					}
				};
				val.ModName = "Clash";
				return val;
			}
		}

		protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
		{
			base.Added(player, gun, gunAmmo, data, health, gravity, block, characterStats);
			gun.damage *= 3f;
			gun.attackSpeedMultiplier *= 0.25f;
			gun.ammo = 1;
		}
	}
	public class SparkyEffect : CardEffect
	{
		private Gun gun;

		public override void Initialize(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
		{
			((CardEffect)this).Initialize(player, gun, gunAmmo, data, health, gravity, block, characterStats);
			this.gun = gun;
		}

		public override IEnumerator OnBattleStart(IGameModeHandler gameModeHandler)
		{
			gun.ammo = 1;
			return ((CardEffect)this).OnBattleStart(gameModeHandler);
		}
	}
}