BCM.dll

Decompiled 2 weeks ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using BepInEx;
using HarmonyLib;
using JARL.Armor;
using JARL.Armor.Bases;
using JARL.Armor.Builtin;
using ModdingUtils.Utils;
using ModsPlus;
using RarityLib.Utils;
using UnboundLib.Cards;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("BCM")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("BCM")]
[assembly: AssemblyTitle("BCM")]
[assembly: AssemblyVersion("1.0.0.0")]
public class Backwards : 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_002d: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Unknown result type (might be due to invalid IL or missing references)
			//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_007e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0080: Unknown result type (might be due to invalid IL or missing references)
			//IL_0086: Expected O, but got Unknown
			//IL_0088: 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_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_009f: Unknown result type (might be due to invalid IL or missing references)
			//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b2: Expected O, but got Unknown
			//IL_00b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00de: Expected O, but got Unknown
			CardDetails val = new CardDetails();
			val.Title = "Backwards";
			val.Description = "Trade aim for da win";
			val.ModName = "BCM";
			val.Rarity = RarityUtils.GetRarity("Uncommon");
			val.Theme = (CardThemeColorType)7;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("C:\\Users\\logan\\Documents\\rounds mod\\data\\CardIcon.png");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[3]
			{
				new CardInfoStat
				{
					positive = true,
					stat = "Bullet Speed",
					amount = "-400%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Damage",
					amount = "+1000%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Reload Time",
					amount = "+100%",
					simepleAmount = (SimpleAmount)0
				}
			};
			return val;
		}
	}

	public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
	{
		Dictionary<string, Action<float>> dictionary = new Dictionary<string, Action<float>>();
		dictionary.Add("damage", delegate(float val)
		{
			gun.damage = val;
		});
		dictionary.Add("health", delegate(float val)
		{
			statModifiers.health = val;
		});
		dictionary.Add("reload", delegate(float val)
		{
			gun.reloadTime = val;
		});
		dictionary.Add("ammo", delegate(float val)
		{
			gun.ammo = (int)val;
		});
		dictionary.Add("ammoregeneration", delegate(float val)
		{
			gun.ammoReg = val;
		});
		dictionary.Add("projectiles", delegate(float val)
		{
			gun.numberOfProjectiles = Mathf.Max(1, (int)val);
		});
		dictionary.Add("projectilesize", delegate(float val)
		{
			gun.projectileSize = val;
		});
		dictionary.Add("bursts", delegate(float val)
		{
			gun.bursts = (int)val;
		});
		dictionary.Add("timeBetweenBullets", delegate(float val)
		{
			gun.timeBetweenBullets = val;
		});
		dictionary.Add("knockback", delegate(float val)
		{
			gun.knockback = val;
		});
		dictionary.Add("attackSpeed", delegate(float val)
		{
			gun.attackSpeed = val;
		});
		dictionary.Add("bounces", delegate(float val)
		{
			gun.reflects = (int)val;
		});
		dictionary.Add("bulletSpeed", delegate(float val)
		{
			gun.projectileSpeed = val;
		});
		dictionary.Add("blocksamount", delegate(float val)
		{
			block.additionalBlocks = (int)val;
		});
		dictionary.Add("blockhealamount", delegate(float val)
		{
			block.healing = (int)val;
		});
		dictionary.Add("blockcooldown", delegate(float val)
		{
			block.cdMultiplier = val;
		});
		dictionary.Add("lifesteal", delegate(float val)
		{
			statModifiers.lifeSteal = val;
		});
		dictionary.Add("respawns", delegate(float val)
		{
			statModifiers.respawns = (int)val;
		});
		dictionary.Add("numberofjumps", delegate(float val)
		{
			statModifiers.numberOfJumps = (int)val;
		});
		dictionary.Add("gravity", delegate(float val)
		{
			statModifiers.gravity = val;
		});
		dictionary.Add("size", delegate(float val)
		{
			statModifiers.sizeMultiplier = val;
		});
		dictionary.Add("movementspeed", delegate(float val)
		{
			statModifiers.movementSpeed = val;
		});
		dictionary.Add("spread", delegate(float val)
		{
			gun.spread = (int)val;
		});
		dictionary.Add("slow", delegate(float val)
		{
			gun.slow = val;
		});
		dictionary["bulletSpeed"](-3f);
		dictionary["damage"](11f);
		dictionary["reload"](2f);
	}

	protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
	{
		ArmorBase armor = ArmorFramework.ArmorHandlers[player].GetArmorByType<DefaultArmor>();
		new Dictionary<string, Action<float>>
		{
			{
				"armorHealth",
				delegate(float val)
				{
					ArmorBase obj2 = armor;
					obj2.MaxArmorValue += (float)(int)val;
				}
			},
			{
				"armorRegen",
				delegate(float val)
				{
					ArmorBase obj = armor;
					obj.ArmorRegenerationRate += val;
				}
			},
			{
				"regenCooldownSeconds",
				delegate(float val)
				{
					if (armor.ArmorRegenCooldownSeconds < val)
					{
						armor.ArmorRegenCooldownSeconds = val;
					}
				}
			},
			{
				"reactivateAfterSeconds",
				delegate(float val)
				{
					armor.reactivateArmorType = (ArmorReactivateType)1;
					if (armor.reactivateArmorValue < val)
					{
						armor.reactivateArmorValue = val;
					}
				}
			}
		};
	}
}
[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("bunnie.cards.mod", "BCM", "2.5.5")]
[BepInProcess("Rounds.exe")]
public class BCMPlugin : BaseUnityPlugin
{
	private const string ModId = "bunnie.cards.mod";

	private const string ModName = "BCM";

	private const string ModVersion = "2.5.5";

	private const string CompatabilityModName = "BCM";

	private void Awake()
	{
		//IL_00c8: Unknown result type (might be due to invalid IL or missing references)
		//IL_00cd: Unknown result type (might be due to invalid IL or missing references)
		//IL_00de: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e3: Unknown result type (might be due to invalid IL or missing references)
		CardRegistry.RegisterCard<Kamehameha>(hidden: false);
		CardRegistry.RegisterCard<PlinkoTime>(hidden: false);
		CardRegistry.RegisterCard<InfiniteBullets>(hidden: false);
		CardRegistry.RegisterCard<OneShotWonder>(hidden: false);
		CardRegistry.RegisterCard<RealBulletsNow>(hidden: false);
		CardRegistry.RegisterCard<SonicDaHedgehog>(hidden: false);
		CardRegistry.RegisterCard<TheWholeClip>(hidden: false);
		CardRegistry.RegisterCard<MachineGun>(hidden: false);
		CardRegistry.RegisterCard<SmolAndSpeedy>(hidden: false);
		CardRegistry.RegisterCard<KingOfBlocks>(hidden: false);
		CardRegistry.RegisterCard<Invincible>(hidden: false);
		CardRegistry.RegisterCard<GigaGlassCannon>(hidden: false);
		CardRegistry.RegisterCard<SizeTrade>(hidden: false);
		CardRegistry.RegisterCard<FlippedButMighty>(hidden: false);
		CardRegistry.RegisterCard<Lightweight>(hidden: false);
		CardRegistry.RegisterCard<ReverseGlassCannon>(hidden: false);
		CardRegistry.RegisterCard<Generalbuff>(hidden: false);
		CardRegistry.RegisterCard<FlightTime>(hidden: false);
		CardRegistry.RegisterCard<TurretMode>(hidden: false);
		CardRegistry.RegisterCard<HeavyDuty>(hidden: false);
		CardRegistry.RegisterCard<IronClad>(hidden: false);
		CardRegistry.RegisterCard<LeatherClad>(hidden: false);
		CardRegistry.RegisterCard<SilkClad>(hidden: false);
		CardRegistry.RegisterCard<RaidBoss>(hidden: false);
		CardRegistry.RegisterCard<LilBuff>(hidden: false);
		CardRegistry.RegisterCard<Backwards>(hidden: false);
		CardRegistry.RegisterCard<EchoBullets>(hidden: false);
		CardRegistry.RegisterCard<BigChungus>(hidden: false);
		CardRegistry.RegisterCard<SniperRifle>(hidden: false);
		RarityUtils.AddRarity("Exordium", 0.003f, Color32.op_Implicit(new Color32((byte)199, (byte)209, (byte)130, (byte)0)), Color32.op_Implicit(new Color32((byte)0, (byte)199, (byte)209, (byte)0)));
	}

	private void Start()
	{
		//IL_0005: Unknown result type (might be due to invalid IL or missing references)
		new Harmony("bunnie.cards.mod").PatchAll();
	}
}
public class BigChungus : 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_002d: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Unknown result type (might be due to invalid IL or missing references)
			//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_007e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0080: Unknown result type (might be due to invalid IL or missing references)
			//IL_0086: Expected O, but got Unknown
			//IL_0088: 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_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_009f: Unknown result type (might be due to invalid IL or missing references)
			//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b2: Expected O, but got Unknown
			//IL_00b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00de: Expected O, but got Unknown
			//IL_00e0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ec: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0102: Unknown result type (might be due to invalid IL or missing references)
			//IL_0104: Unknown result type (might be due to invalid IL or missing references)
			//IL_010a: Expected O, but got Unknown
			CardDetails val = new CardDetails();
			val.Title = "Big Chungus";
			val.Description = "U Fat Now XD";
			val.ModName = "BCM";
			val.Rarity = RarityUtils.GetRarity("Uncommon");
			val.Theme = (CardThemeColorType)3;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("C:\\Users\\logan\\Documents\\rounds mod\\data\\CardIcon.png");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[4]
			{
				new CardInfoStat
				{
					positive = true,
					stat = "Health",
					amount = "+400%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Movement Speed",
					amount = "-90%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Gravity",
					amount = "+200%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Size",
					amount = "+200%",
					simepleAmount = (SimpleAmount)0
				}
			};
			return val;
		}
	}

	public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
	{
		Dictionary<string, Action<float>> dictionary = new Dictionary<string, Action<float>>();
		dictionary.Add("damage", delegate(float val)
		{
			gun.damage = val;
		});
		dictionary.Add("health", delegate(float val)
		{
			statModifiers.health = val;
		});
		dictionary.Add("reload", delegate(float val)
		{
			gun.reloadTime = val;
		});
		dictionary.Add("ammo", delegate(float val)
		{
			gun.ammo = (int)val;
		});
		dictionary.Add("ammoregeneration", delegate(float val)
		{
			gun.ammoReg = val;
		});
		dictionary.Add("projectiles", delegate(float val)
		{
			gun.numberOfProjectiles = Mathf.Max(1, (int)val);
		});
		dictionary.Add("projectilesize", delegate(float val)
		{
			gun.projectileSize = val;
		});
		dictionary.Add("bursts", delegate(float val)
		{
			gun.bursts = (int)val;
		});
		dictionary.Add("timeBetweenBullets", delegate(float val)
		{
			gun.timeBetweenBullets = val;
		});
		dictionary.Add("knockback", delegate(float val)
		{
			gun.knockback = val;
		});
		dictionary.Add("attackSpeed", delegate(float val)
		{
			gun.attackSpeed = val;
		});
		dictionary.Add("bounces", delegate(float val)
		{
			gun.reflects = (int)val;
		});
		dictionary.Add("bulletSpeed", delegate(float val)
		{
			gun.projectileSpeed = val;
		});
		dictionary.Add("blocksamount", delegate(float val)
		{
			block.additionalBlocks = (int)val;
		});
		dictionary.Add("blockhealamount", delegate(float val)
		{
			block.healing = (int)val;
		});
		dictionary.Add("blockcooldown", delegate(float val)
		{
			block.cdMultiplier = val;
		});
		dictionary.Add("lifesteal", delegate(float val)
		{
			statModifiers.lifeSteal = val;
		});
		dictionary.Add("respawns", delegate(float val)
		{
			statModifiers.respawns = (int)val;
		});
		dictionary.Add("numberofjumps", delegate(float val)
		{
			statModifiers.numberOfJumps = (int)val;
		});
		dictionary.Add("gravity", delegate(float val)
		{
			statModifiers.gravity = val;
		});
		dictionary.Add("size", delegate(float val)
		{
			statModifiers.sizeMultiplier = val;
		});
		dictionary.Add("movementspeed", delegate(float val)
		{
			statModifiers.movementSpeed = val;
		});
		dictionary.Add("spread", delegate(float val)
		{
			gun.spread = (int)val;
		});
		dictionary.Add("slow", delegate(float val)
		{
			gun.slow = val;
		});
		dictionary["health"](5f);
		dictionary["movementspeed"](0.1f);
		dictionary["gravity"](3f);
		dictionary["size"](3f);
	}

	protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
	{
		ArmorBase armor = ArmorFramework.ArmorHandlers[player].GetArmorByType<DefaultArmor>();
		new Dictionary<string, Action<float>>
		{
			{
				"armorHealth",
				delegate(float val)
				{
					ArmorBase obj2 = armor;
					obj2.MaxArmorValue += (float)(int)val;
				}
			},
			{
				"armorRegen",
				delegate(float val)
				{
					ArmorBase obj = armor;
					obj.ArmorRegenerationRate += val;
				}
			},
			{
				"regenCooldownSeconds",
				delegate(float val)
				{
					if (armor.ArmorRegenCooldownSeconds < val)
					{
						armor.ArmorRegenCooldownSeconds = val;
					}
				}
			},
			{
				"reactivateAfterSeconds",
				delegate(float val)
				{
					armor.reactivateArmorType = (ArmorReactivateType)1;
					if (armor.reactivateArmorValue < val)
					{
						armor.reactivateArmorValue = val;
					}
				}
			}
		};
	}
}
public static class CardRegistry
{
	private static Dictionary<Type, CardInfo> storedCardInfo = new Dictionary<Type, CardInfo>();

	public static void RegisterCard<T>(bool hidden = false) where T : CustomCard
	{
		CustomCard.BuildCard<T>((Action<CardInfo>)delegate(CardInfo c)
		{
			StoreCard<T>(c);
			if (hidden)
			{
				Cards.instance.AddHiddenCard(c);
			}
		});
	}

	private static void StoreCard<T>(CardInfo card) where T : CustomCard
	{
		storedCardInfo.Add(typeof(T), card);
	}

	public static CardInfo GetCard<T>() where T : CustomCard
	{
		if (storedCardInfo.TryGetValue(typeof(T), out var value))
		{
			return value;
		}
		return null;
	}

	public static CardInfo GetCard(Type T)
	{
		if (storedCardInfo.TryGetValue(T, out var value))
		{
			return value;
		}
		return null;
	}
}
public class EchoBullets : 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_002d: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Unknown result type (might be due to invalid IL or missing references)
			//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_007e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0080: Unknown result type (might be due to invalid IL or missing references)
			//IL_0086: Expected O, but got Unknown
			//IL_0088: 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_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_009f: Unknown result type (might be due to invalid IL or missing references)
			//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b2: Expected O, but got Unknown
			//IL_00b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00de: Expected O, but got Unknown
			//IL_00e0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ec: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0102: Unknown result type (might be due to invalid IL or missing references)
			//IL_0104: Unknown result type (might be due to invalid IL or missing references)
			//IL_010a: Expected O, but got Unknown
			CardDetails val = new CardDetails();
			val.Title = "Echo Bullets";
			val.Description = "They come back now";
			val.ModName = "BCM";
			val.Rarity = RarityUtils.GetRarity("Uncommon");
			val.Theme = (CardThemeColorType)3;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("C:\\Users\\logan\\Documents\\rounds mod\\data\\CardIcon.png");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[4]
			{
				new CardInfoStat
				{
					positive = true,
					stat = "Bounces",
					amount = "+5",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Bursts",
					amount = "+3",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Time Between Bullets",
					amount = "+10 seconds",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Damage",
					amount = "-25%",
					simepleAmount = (SimpleAmount)0
				}
			};
			return val;
		}
	}

	public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
	{
		Dictionary<string, Action<float>> dictionary = new Dictionary<string, Action<float>>();
		dictionary.Add("damage", delegate(float val)
		{
			gun.damage = val;
		});
		dictionary.Add("health", delegate(float val)
		{
			statModifiers.health = val;
		});
		dictionary.Add("reload", delegate(float val)
		{
			gun.reloadTime = val;
		});
		dictionary.Add("ammo", delegate(float val)
		{
			gun.ammo = (int)val;
		});
		dictionary.Add("ammoregeneration", delegate(float val)
		{
			gun.ammoReg = val;
		});
		dictionary.Add("projectiles", delegate(float val)
		{
			gun.numberOfProjectiles = Mathf.Max(1, (int)val);
		});
		dictionary.Add("projectilesize", delegate(float val)
		{
			gun.projectileSize = val;
		});
		dictionary.Add("bursts", delegate(float val)
		{
			gun.bursts = (int)val;
		});
		dictionary.Add("timeBetweenBullets", delegate(float val)
		{
			gun.timeBetweenBullets = val;
		});
		dictionary.Add("knockback", delegate(float val)
		{
			gun.knockback = val;
		});
		dictionary.Add("attackSpeed", delegate(float val)
		{
			gun.attackSpeed = val;
		});
		dictionary.Add("bounces", delegate(float val)
		{
			gun.reflects = (int)val;
		});
		dictionary.Add("bulletSpeed", delegate(float val)
		{
			gun.projectileSpeed = val;
		});
		dictionary.Add("blocksamount", delegate(float val)
		{
			block.additionalBlocks = (int)val;
		});
		dictionary.Add("blockhealamount", delegate(float val)
		{
			block.healing = (int)val;
		});
		dictionary.Add("blockcooldown", delegate(float val)
		{
			block.cdMultiplier = val;
		});
		dictionary.Add("lifesteal", delegate(float val)
		{
			statModifiers.lifeSteal = val;
		});
		dictionary.Add("respawns", delegate(float val)
		{
			statModifiers.respawns = (int)val;
		});
		dictionary.Add("numberofjumps", delegate(float val)
		{
			statModifiers.numberOfJumps = (int)val;
		});
		dictionary.Add("gravity", delegate(float val)
		{
			statModifiers.gravity = val;
		});
		dictionary.Add("size", delegate(float val)
		{
			statModifiers.sizeMultiplier = val;
		});
		dictionary.Add("movementspeed", delegate(float val)
		{
			statModifiers.movementSpeed = val;
		});
		dictionary.Add("spread", delegate(float val)
		{
			gun.spread = (int)val;
		});
		dictionary.Add("slow", delegate(float val)
		{
			gun.slow = val;
		});
		dictionary["bounces"](5f);
		dictionary["bursts"](3f);
		dictionary["timeBetweenBullets"](10f);
		dictionary["damage"](0.75f);
	}

	protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
	{
		ArmorBase armor = ArmorFramework.ArmorHandlers[player].GetArmorByType<DefaultArmor>();
		new Dictionary<string, Action<float>>
		{
			{
				"armorHealth",
				delegate(float val)
				{
					ArmorBase obj2 = armor;
					obj2.MaxArmorValue += (float)(int)val;
				}
			},
			{
				"armorRegen",
				delegate(float val)
				{
					ArmorBase obj = armor;
					obj.ArmorRegenerationRate += val;
				}
			},
			{
				"regenCooldownSeconds",
				delegate(float val)
				{
					if (armor.ArmorRegenCooldownSeconds < val)
					{
						armor.ArmorRegenCooldownSeconds = val;
					}
				}
			},
			{
				"reactivateAfterSeconds",
				delegate(float val)
				{
					armor.reactivateArmorType = (ArmorReactivateType)1;
					if (armor.reactivateArmorValue < val)
					{
						armor.reactivateArmorValue = val;
					}
				}
			}
		};
	}
}
public class FlightTime : 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_002d: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Unknown result type (might be due to invalid IL or missing references)
			//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_007e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0080: Unknown result type (might be due to invalid IL or missing references)
			//IL_0086: Expected O, but got Unknown
			//IL_0088: 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_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_009f: Unknown result type (might be due to invalid IL or missing references)
			//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b2: Expected O, but got Unknown
			//IL_00b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00de: Expected O, but got Unknown
			CardDetails val = new CardDetails();
			val.Title = "Flight Time";
			val.Description = "I BELIVE I CAN FLY!";
			val.ModName = "BCM";
			val.Rarity = RarityUtils.GetRarity("Uncommon");
			val.Theme = (CardThemeColorType)3;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("C:\\Users\\logan\\Documents\\rounds mod\\data\\CardIcon.png");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[3]
			{
				new CardInfoStat
				{
					positive = true,
					stat = "Gravity",
					amount = "-99%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Movement Speed",
					amount = "+100%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Total Jumps",
					amount = "+10000",
					simepleAmount = (SimpleAmount)0
				}
			};
			return val;
		}
	}

	public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
	{
		Dictionary<string, Action<float>> dictionary = new Dictionary<string, Action<float>>();
		dictionary.Add("damage", delegate(float val)
		{
			gun.damage = val;
		});
		dictionary.Add("health", delegate(float val)
		{
			statModifiers.health = val;
		});
		dictionary.Add("reload", delegate(float val)
		{
			gun.reloadTime = val;
		});
		dictionary.Add("ammo", delegate(float val)
		{
			gun.ammo = (int)val;
		});
		dictionary.Add("ammoregeneration", delegate(float val)
		{
			gun.ammoReg = val;
		});
		dictionary.Add("projectiles", delegate(float val)
		{
			gun.numberOfProjectiles = Mathf.Max(1, (int)val);
		});
		dictionary.Add("projectilesize", delegate(float val)
		{
			gun.projectileSize = val;
		});
		dictionary.Add("bursts", delegate(float val)
		{
			gun.bursts = (int)val;
		});
		dictionary.Add("timeBetweenBullets", delegate(float val)
		{
			gun.timeBetweenBullets = val;
		});
		dictionary.Add("knockback", delegate(float val)
		{
			gun.knockback = val;
		});
		dictionary.Add("attackSpeed", delegate(float val)
		{
			gun.attackSpeed = val;
		});
		dictionary.Add("bounces", delegate(float val)
		{
			gun.reflects = (int)val;
		});
		dictionary.Add("bulletSpeed", delegate(float val)
		{
			gun.projectileSpeed = val;
		});
		dictionary.Add("blocksamount", delegate(float val)
		{
			block.additionalBlocks = (int)val;
		});
		dictionary.Add("blockhealamount", delegate(float val)
		{
			block.healing = (int)val;
		});
		dictionary.Add("blockcooldown", delegate(float val)
		{
			block.cdMultiplier = val;
		});
		dictionary.Add("lifesteal", delegate(float val)
		{
			statModifiers.lifeSteal = val;
		});
		dictionary.Add("respawns", delegate(float val)
		{
			statModifiers.respawns = (int)val;
		});
		dictionary.Add("numberofjumps", delegate(float val)
		{
			statModifiers.numberOfJumps = (int)val;
		});
		dictionary.Add("gravity", delegate(float val)
		{
			statModifiers.gravity = val;
		});
		dictionary.Add("size", delegate(float val)
		{
			statModifiers.sizeMultiplier = val;
		});
		dictionary.Add("movementspeed", delegate(float val)
		{
			statModifiers.movementSpeed = val;
		});
		dictionary.Add("spread", delegate(float val)
		{
			gun.spread = (int)val;
		});
		dictionary.Add("slow", delegate(float val)
		{
			gun.slow = val;
		});
		dictionary["gravity"](0.01f);
		dictionary["movementspeed"](2f);
		dictionary["numberofjumps"](10000f);
	}

	protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
	{
		ArmorBase armor = ArmorFramework.ArmorHandlers[player].GetArmorByType<DefaultArmor>();
		new Dictionary<string, Action<float>>
		{
			{
				"armorHealth",
				delegate(float val)
				{
					ArmorBase obj2 = armor;
					obj2.MaxArmorValue += (float)(int)val;
				}
			},
			{
				"armorRegen",
				delegate(float val)
				{
					ArmorBase obj = armor;
					obj.ArmorRegenerationRate += val;
				}
			},
			{
				"regenCooldownSeconds",
				delegate(float val)
				{
					if (armor.ArmorRegenCooldownSeconds < val)
					{
						armor.ArmorRegenCooldownSeconds = val;
					}
				}
			},
			{
				"reactivateAfterSeconds",
				delegate(float val)
				{
					armor.reactivateArmorType = (ArmorReactivateType)1;
					if (armor.reactivateArmorValue < val)
					{
						armor.reactivateArmorValue = val;
					}
				}
			}
		};
	}
}
public class FlippedButMighty : 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_002d: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Unknown result type (might be due to invalid IL or missing references)
			//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_007e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0080: Unknown result type (might be due to invalid IL or missing references)
			//IL_0086: Expected O, but got Unknown
			//IL_0088: 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_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_009f: Unknown result type (might be due to invalid IL or missing references)
			//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b2: Expected O, but got Unknown
			//IL_00b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00de: Expected O, but got Unknown
			//IL_00e0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ec: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0102: Unknown result type (might be due to invalid IL or missing references)
			//IL_0104: Unknown result type (might be due to invalid IL or missing references)
			//IL_010a: Expected O, but got Unknown
			CardDetails val = new CardDetails();
			val.Title = "Flipped But Mighty";
			val.Description = "Hope There's a Ceiling";
			val.ModName = "BCM";
			val.Rarity = RarityUtils.GetRarity("Exotic");
			val.Theme = (CardThemeColorType)3;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("C:\\Users\\logan\\Documents\\rounds mod\\data\\CardIcon.png");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[4]
			{
				new CardInfoStat
				{
					positive = true,
					stat = "Damage",
					amount = "+150%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Gravity",
					amount = "-125%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Bullet Speed",
					amount = "-200%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Movement Speed",
					amount = "-200%",
					simepleAmount = (SimpleAmount)0
				}
			};
			return val;
		}
	}

	public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
	{
		Dictionary<string, Action<float>> dictionary = new Dictionary<string, Action<float>>();
		dictionary.Add("damage", delegate(float val)
		{
			gun.damage = val;
		});
		dictionary.Add("health", delegate(float val)
		{
			statModifiers.health = val;
		});
		dictionary.Add("reload", delegate(float val)
		{
			gun.reloadTime = val;
		});
		dictionary.Add("ammo", delegate(float val)
		{
			gun.ammo = (int)val;
		});
		dictionary.Add("ammoregeneration", delegate(float val)
		{
			gun.ammoReg = val;
		});
		dictionary.Add("projectiles", delegate(float val)
		{
			gun.numberOfProjectiles = Mathf.Max(1, (int)val);
		});
		dictionary.Add("projectilesize", delegate(float val)
		{
			gun.projectileSize = val;
		});
		dictionary.Add("bursts", delegate(float val)
		{
			gun.bursts = (int)val;
		});
		dictionary.Add("timeBetweenBullets", delegate(float val)
		{
			gun.timeBetweenBullets = val;
		});
		dictionary.Add("knockback", delegate(float val)
		{
			gun.knockback = val;
		});
		dictionary.Add("attackSpeed", delegate(float val)
		{
			gun.attackSpeed = val;
		});
		dictionary.Add("bounces", delegate(float val)
		{
			gun.reflects = (int)val;
		});
		dictionary.Add("bulletSpeed", delegate(float val)
		{
			gun.projectileSpeed = val;
		});
		dictionary.Add("blocksamount", delegate(float val)
		{
			block.additionalBlocks = (int)val;
		});
		dictionary.Add("blockhealamount", delegate(float val)
		{
			block.healing = (int)val;
		});
		dictionary.Add("blockcooldown", delegate(float val)
		{
			block.cdMultiplier = val;
		});
		dictionary.Add("lifesteal", delegate(float val)
		{
			statModifiers.lifeSteal = val;
		});
		dictionary.Add("respawns", delegate(float val)
		{
			statModifiers.respawns = (int)val;
		});
		dictionary.Add("numberofjumps", delegate(float val)
		{
			statModifiers.numberOfJumps = (int)val;
		});
		dictionary.Add("gravity", delegate(float val)
		{
			statModifiers.gravity = val;
		});
		dictionary.Add("size", delegate(float val)
		{
			statModifiers.sizeMultiplier = val;
		});
		dictionary.Add("movementspeed", delegate(float val)
		{
			statModifiers.movementSpeed = val;
		});
		dictionary.Add("spread", delegate(float val)
		{
			gun.spread = (int)val;
		});
		dictionary.Add("slow", delegate(float val)
		{
			gun.slow = val;
		});
		dictionary["damage"](2.5f);
		dictionary["gravity"](-0.25f);
		dictionary["bulletSpeed"](-1f);
		dictionary["movementspeed"](-1f);
	}

	protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
	{
		ArmorBase armor = ArmorFramework.ArmorHandlers[player].GetArmorByType<DefaultArmor>();
		new Dictionary<string, Action<float>>
		{
			{
				"armorHealth",
				delegate(float val)
				{
					ArmorBase obj2 = armor;
					obj2.MaxArmorValue += (float)(int)val;
				}
			},
			{
				"armorRegen",
				delegate(float val)
				{
					ArmorBase obj = armor;
					obj.ArmorRegenerationRate += val;
				}
			},
			{
				"regenCooldownSeconds",
				delegate(float val)
				{
					if (armor.ArmorRegenCooldownSeconds < val)
					{
						armor.ArmorRegenCooldownSeconds = val;
					}
				}
			},
			{
				"reactivateAfterSeconds",
				delegate(float val)
				{
					armor.reactivateArmorType = (ArmorReactivateType)1;
					if (armor.reactivateArmorValue < val)
					{
						armor.reactivateArmorValue = val;
					}
				}
			}
		};
	}
}
public class Generalbuff : 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_002d: 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_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_0069: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Unknown result type (might be due to invalid IL or missing references)
			//IL_007f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0081: Unknown result type (might be due to invalid IL or missing references)
			//IL_0087: Expected O, but got Unknown
			//IL_0089: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0095: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ab: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ad: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b3: Expected O, but got Unknown
			//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cc: 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_00d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00df: Expected O, but got Unknown
			//IL_00e1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0103: Unknown result type (might be due to invalid IL or missing references)
			//IL_0105: Unknown result type (might be due to invalid IL or missing references)
			//IL_010b: Expected O, but got Unknown
			//IL_010d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0112: Unknown result type (might be due to invalid IL or missing references)
			//IL_0119: Unknown result type (might be due to invalid IL or missing references)
			//IL_0124: Unknown result type (might be due to invalid IL or missing references)
			//IL_012f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0131: Unknown result type (might be due to invalid IL or missing references)
			//IL_0137: Expected O, but got Unknown
			//IL_0139: Unknown result type (might be due to invalid IL or missing references)
			//IL_013e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0145: Unknown result type (might be due to invalid IL or missing references)
			//IL_0150: Unknown result type (might be due to invalid IL or missing references)
			//IL_015b: Unknown result type (might be due to invalid IL or missing references)
			//IL_015d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0163: Expected O, but got Unknown
			//IL_0165: Unknown result type (might be due to invalid IL or missing references)
			//IL_016a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0171: Unknown result type (might be due to invalid IL or missing references)
			//IL_017c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0187: Unknown result type (might be due to invalid IL or missing references)
			//IL_0189: Unknown result type (might be due to invalid IL or missing references)
			//IL_018f: Expected O, but got Unknown
			//IL_0191: Unknown result type (might be due to invalid IL or missing references)
			//IL_0196: Unknown result type (might be due to invalid IL or missing references)
			//IL_019d: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a8: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_01bb: Expected O, but got Unknown
			//IL_01bd: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d4: Unknown result type (might be due to invalid IL or missing references)
			//IL_01df: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e1: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e7: Expected O, but got Unknown
			//IL_01ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f6: Unknown result type (might be due to invalid IL or missing references)
			//IL_0201: Unknown result type (might be due to invalid IL or missing references)
			//IL_020c: Unknown result type (might be due to invalid IL or missing references)
			//IL_020e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0214: Expected O, but got Unknown
			//IL_0217: Unknown result type (might be due to invalid IL or missing references)
			//IL_021c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0223: Unknown result type (might be due to invalid IL or missing references)
			//IL_022e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0239: Unknown result type (might be due to invalid IL or missing references)
			//IL_023b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0241: Expected O, but got Unknown
			//IL_0244: Unknown result type (might be due to invalid IL or missing references)
			//IL_0249: Unknown result type (might be due to invalid IL or missing references)
			//IL_0250: Unknown result type (might be due to invalid IL or missing references)
			//IL_025b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0266: Unknown result type (might be due to invalid IL or missing references)
			//IL_0268: Unknown result type (might be due to invalid IL or missing references)
			//IL_026e: Expected O, but got Unknown
			//IL_0271: Unknown result type (might be due to invalid IL or missing references)
			//IL_0276: Unknown result type (might be due to invalid IL or missing references)
			//IL_027d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0288: Unknown result type (might be due to invalid IL or missing references)
			//IL_0293: Unknown result type (might be due to invalid IL or missing references)
			//IL_0295: Unknown result type (might be due to invalid IL or missing references)
			//IL_029b: Expected O, but got Unknown
			//IL_029e: Unknown result type (might be due to invalid IL or missing references)
			//IL_02a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_02aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_02b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_02c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_02c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_02c8: Expected O, but got Unknown
			//IL_02cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_02e2: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_02f5: Expected O, but got Unknown
			//IL_02f8: Unknown result type (might be due to invalid IL or missing references)
			//IL_02fd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0304: Unknown result type (might be due to invalid IL or missing references)
			//IL_030f: Unknown result type (might be due to invalid IL or missing references)
			//IL_031a: Unknown result type (might be due to invalid IL or missing references)
			//IL_031c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0322: Expected O, but got Unknown
			//IL_0325: Unknown result type (might be due to invalid IL or missing references)
			//IL_032a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0331: Unknown result type (might be due to invalid IL or missing references)
			//IL_033c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0347: Unknown result type (might be due to invalid IL or missing references)
			//IL_0349: Unknown result type (might be due to invalid IL or missing references)
			//IL_034f: Expected O, but got Unknown
			//IL_0352: Unknown result type (might be due to invalid IL or missing references)
			//IL_0357: Unknown result type (might be due to invalid IL or missing references)
			//IL_035e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0369: Unknown result type (might be due to invalid IL or missing references)
			//IL_0374: Unknown result type (might be due to invalid IL or missing references)
			//IL_0376: Unknown result type (might be due to invalid IL or missing references)
			//IL_037c: Expected O, but got Unknown
			//IL_037f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0384: Unknown result type (might be due to invalid IL or missing references)
			//IL_038b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0396: Unknown result type (might be due to invalid IL or missing references)
			//IL_03a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_03a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_03a9: Expected O, but got Unknown
			//IL_03ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_03b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_03b8: Unknown result type (might be due to invalid IL or missing references)
			//IL_03c3: Unknown result type (might be due to invalid IL or missing references)
			//IL_03ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_03d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_03d6: Expected O, but got Unknown
			//IL_03d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_03de: Unknown result type (might be due to invalid IL or missing references)
			//IL_03e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_03f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_03fb: Unknown result type (might be due to invalid IL or missing references)
			//IL_03fd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0403: Expected O, but got Unknown
			//IL_0406: Unknown result type (might be due to invalid IL or missing references)
			//IL_040b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0412: Unknown result type (might be due to invalid IL or missing references)
			//IL_041d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0428: Unknown result type (might be due to invalid IL or missing references)
			//IL_042a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0430: Expected O, but got Unknown
			//IL_0433: Unknown result type (might be due to invalid IL or missing references)
			//IL_0438: Unknown result type (might be due to invalid IL or missing references)
			//IL_043f: Unknown result type (might be due to invalid IL or missing references)
			//IL_044a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0455: Unknown result type (might be due to invalid IL or missing references)
			//IL_0457: Unknown result type (might be due to invalid IL or missing references)
			//IL_045d: Expected O, but got Unknown
			//IL_0460: Unknown result type (might be due to invalid IL or missing references)
			//IL_0465: Unknown result type (might be due to invalid IL or missing references)
			//IL_046c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0477: Unknown result type (might be due to invalid IL or missing references)
			//IL_0482: Unknown result type (might be due to invalid IL or missing references)
			//IL_0484: Unknown result type (might be due to invalid IL or missing references)
			//IL_048a: Expected O, but got Unknown
			//IL_048d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0492: Unknown result type (might be due to invalid IL or missing references)
			//IL_0499: Unknown result type (might be due to invalid IL or missing references)
			//IL_04a4: Unknown result type (might be due to invalid IL or missing references)
			//IL_04af: Unknown result type (might be due to invalid IL or missing references)
			//IL_04b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_04b7: Expected O, but got Unknown
			CardDetails val = new CardDetails();
			val.Title = "General buff";
			val.Description = "A little buff to everything";
			val.ModName = "BCM";
			val.Rarity = RarityUtils.GetRarity("Uncommon");
			val.Theme = (CardThemeColorType)3;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("C:\\Users\\logan\\Documents\\rounds mod\\data\\CardIcon.png");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[25]
			{
				new CardInfoStat
				{
					positive = true,
					stat = "Damage",
					amount = "+5%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Health",
					amount = "+5%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Reload Time",
					amount = "-5%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Ammunition",
					amount = "+1",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Attack Speed",
					amount = "-5%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Bounces",
					amount = "+1",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Bullet Speed",
					amount = "+5%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Additional Blocks",
					amount = "+1",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Block Cooldown",
					amount = "-5%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Lifesteal",
					amount = "+5%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Size",
					amount = "-5%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Movement Speed",
					amount = "+5%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Projectile Size",
					amount = "+5%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Projectiles",
					amount = "+1",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Heal Amount",
					amount = "+1",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Respawns",
					amount = "+1",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Total Jumps",
					amount = "+1",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Slow",
					amount = "+5%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Knockback",
					amount = "+5%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Gravity",
					amount = "-5%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Ammo Regeneration",
					amount = "+5%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Armor Health",
					amount = "+1",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Armor Regeneration",
					amount = "+1",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Regen Cooldown",
					amount = "+1",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Spread",
					amount = "-5%",
					simepleAmount = (SimpleAmount)0
				}
			};
			return val;
		}
	}

	public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
	{
		Dictionary<string, Action<float>> dictionary = new Dictionary<string, Action<float>>();
		dictionary.Add("damage", delegate(float val)
		{
			gun.damage = val;
		});
		dictionary.Add("health", delegate(float val)
		{
			statModifiers.health = val;
		});
		dictionary.Add("reload", delegate(float val)
		{
			gun.reloadTime = val;
		});
		dictionary.Add("ammo", delegate(float val)
		{
			gun.ammo = (int)val;
		});
		dictionary.Add("ammoregeneration", delegate(float val)
		{
			gun.ammoReg = val;
		});
		dictionary.Add("projectiles", delegate(float val)
		{
			gun.numberOfProjectiles = Mathf.Max(1, (int)val);
		});
		dictionary.Add("projectilesize", delegate(float val)
		{
			gun.projectileSize = val;
		});
		dictionary.Add("bursts", delegate(float val)
		{
			gun.bursts = (int)val;
		});
		dictionary.Add("timeBetweenBullets", delegate(float val)
		{
			gun.timeBetweenBullets = val;
		});
		dictionary.Add("knockback", delegate(float val)
		{
			gun.knockback = val;
		});
		dictionary.Add("attackSpeed", delegate(float val)
		{
			gun.attackSpeed = val;
		});
		dictionary.Add("bounces", delegate(float val)
		{
			gun.reflects = (int)val;
		});
		dictionary.Add("bulletSpeed", delegate(float val)
		{
			gun.projectileSpeed = val;
		});
		dictionary.Add("blocksamount", delegate(float val)
		{
			block.additionalBlocks = (int)val;
		});
		dictionary.Add("blockhealamount", delegate(float val)
		{
			block.healing = (int)val;
		});
		dictionary.Add("blockcooldown", delegate(float val)
		{
			block.cdMultiplier = val;
		});
		dictionary.Add("lifesteal", delegate(float val)
		{
			statModifiers.lifeSteal = val;
		});
		dictionary.Add("respawns", delegate(float val)
		{
			statModifiers.respawns = (int)val;
		});
		dictionary.Add("numberofjumps", delegate(float val)
		{
			statModifiers.numberOfJumps = (int)val;
		});
		dictionary.Add("gravity", delegate(float val)
		{
			statModifiers.gravity = val;
		});
		dictionary.Add("size", delegate(float val)
		{
			statModifiers.sizeMultiplier = val;
		});
		dictionary.Add("movementspeed", delegate(float val)
		{
			statModifiers.movementSpeed = val;
		});
		dictionary.Add("spread", delegate(float val)
		{
			gun.spread = (int)val;
		});
		dictionary.Add("slow", delegate(float val)
		{
			gun.slow = val;
		});
		dictionary["damage"](1.05f);
		dictionary["health"](1.05f);
		dictionary["reload"](0.96f);
		dictionary["ammo"](1f);
		dictionary["attackSpeed"](0.96f);
		dictionary["bounces"](1f);
		dictionary["bulletSpeed"](1.05f);
		dictionary["blocksamount"](1f);
		dictionary["blockcooldown"](0.96f);
		dictionary["lifesteal"](1.05f);
		dictionary["size"](0.96f);
		dictionary["movementspeed"](1.05f);
		dictionary["projectilesize"](1.05f);
		dictionary["projectiles"](1f);
		dictionary["blockhealamount"](1f);
		dictionary["respawns"](1f);
		dictionary["numberofjumps"](1f);
		dictionary["slow"](1.05f);
		dictionary["knockback"](1.05f);
		dictionary["gravity"](0.96f);
		dictionary["ammoregeneration"](1.05f);
		dictionary["spread"](0.96f);
	}

	protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
	{
		ArmorBase armor = ArmorFramework.ArmorHandlers[player].GetArmorByType<DefaultArmor>();
		Dictionary<string, Action<float>> dictionary = new Dictionary<string, Action<float>>();
		dictionary.Add("armorHealth", delegate(float val)
		{
			ArmorBase obj2 = armor;
			obj2.MaxArmorValue += (float)(int)val;
		});
		dictionary.Add("armorRegen", delegate(float val)
		{
			ArmorBase obj = armor;
			obj.ArmorRegenerationRate += val;
		});
		dictionary.Add("regenCooldownSeconds", delegate(float val)
		{
			if (armor.ArmorRegenCooldownSeconds < val)
			{
				armor.ArmorRegenCooldownSeconds = val;
			}
		});
		dictionary.Add("reactivateAfterSeconds", delegate(float val)
		{
			armor.reactivateArmorType = (ArmorReactivateType)1;
			if (armor.reactivateArmorValue < val)
			{
				armor.reactivateArmorValue = val;
			}
		});
		dictionary["armorHealth"](1f);
		dictionary["armorRegen"](1f);
		dictionary["regenCooldownSeconds"](1f);
	}
}
public class GigaGlassCannon : 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_002d: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Unknown result type (might be due to invalid IL or missing references)
			//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_007e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0080: Unknown result type (might be due to invalid IL or missing references)
			//IL_0086: Expected O, but got Unknown
			//IL_0088: 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_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_009f: Unknown result type (might be due to invalid IL or missing references)
			//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b2: Expected O, but got Unknown
			CardDetails val = new CardDetails();
			val.Title = "Giga Glass Cannon";
			val.Description = "DAMAGE!!!!!!";
			val.ModName = "BCM";
			val.Rarity = RarityUtils.GetRarity("Rare");
			val.Theme = (CardThemeColorType)3;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("C:\\Users\\logan\\Documents\\rounds mod\\data\\CardIcon.png");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[2]
			{
				new CardInfoStat
				{
					positive = true,
					stat = "Damage",
					amount = "+9900%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Health",
					amount = "-99%",
					simepleAmount = (SimpleAmount)0
				}
			};
			return val;
		}
	}

	public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
	{
		Dictionary<string, Action<float>> dictionary = new Dictionary<string, Action<float>>();
		dictionary.Add("damage", delegate(float val)
		{
			gun.damage = val;
		});
		dictionary.Add("health", delegate(float val)
		{
			statModifiers.health = val;
		});
		dictionary.Add("reload", delegate(float val)
		{
			gun.reloadTime = val;
		});
		dictionary.Add("ammo", delegate(float val)
		{
			gun.ammo = (int)val;
		});
		dictionary.Add("ammoregeneration", delegate(float val)
		{
			gun.ammoReg = val;
		});
		dictionary.Add("projectiles", delegate(float val)
		{
			gun.numberOfProjectiles = Mathf.Max(1, (int)val);
		});
		dictionary.Add("projectilesize", delegate(float val)
		{
			gun.projectileSize = val;
		});
		dictionary.Add("bursts", delegate(float val)
		{
			gun.bursts = (int)val;
		});
		dictionary.Add("timeBetweenBullets", delegate(float val)
		{
			gun.timeBetweenBullets = val;
		});
		dictionary.Add("knockback", delegate(float val)
		{
			gun.knockback = val;
		});
		dictionary.Add("attackSpeed", delegate(float val)
		{
			gun.attackSpeed = val;
		});
		dictionary.Add("bounces", delegate(float val)
		{
			gun.reflects = (int)val;
		});
		dictionary.Add("bulletSpeed", delegate(float val)
		{
			gun.projectileSpeed = val;
		});
		dictionary.Add("blocksamount", delegate(float val)
		{
			block.additionalBlocks = (int)val;
		});
		dictionary.Add("blockhealamount", delegate(float val)
		{
			block.healing = (int)val;
		});
		dictionary.Add("blockcooldown", delegate(float val)
		{
			block.cdMultiplier = val;
		});
		dictionary.Add("lifesteal", delegate(float val)
		{
			statModifiers.lifeSteal = val;
		});
		dictionary.Add("respawns", delegate(float val)
		{
			statModifiers.respawns = (int)val;
		});
		dictionary.Add("numberofjumps", delegate(float val)
		{
			statModifiers.numberOfJumps = (int)val;
		});
		dictionary.Add("gravity", delegate(float val)
		{
			statModifiers.gravity = val;
		});
		dictionary.Add("size", delegate(float val)
		{
			statModifiers.sizeMultiplier = val;
		});
		dictionary.Add("movementspeed", delegate(float val)
		{
			statModifiers.movementSpeed = val;
		});
		dictionary.Add("spread", delegate(float val)
		{
			gun.spread = (int)val;
		});
		dictionary.Add("slow", delegate(float val)
		{
			gun.slow = val;
		});
		dictionary["damage"](100f);
		dictionary["health"](0.01f);
	}

	protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
	{
		ArmorBase armor = ArmorFramework.ArmorHandlers[player].GetArmorByType<DefaultArmor>();
		new Dictionary<string, Action<float>>
		{
			{
				"armorHealth",
				delegate(float val)
				{
					ArmorBase obj2 = armor;
					obj2.MaxArmorValue += (float)(int)val;
				}
			},
			{
				"armorRegen",
				delegate(float val)
				{
					ArmorBase obj = armor;
					obj.ArmorRegenerationRate += val;
				}
			},
			{
				"regenCooldownSeconds",
				delegate(float val)
				{
					if (armor.ArmorRegenCooldownSeconds < val)
					{
						armor.ArmorRegenCooldownSeconds = val;
					}
				}
			},
			{
				"reactivateAfterSeconds",
				delegate(float val)
				{
					armor.reactivateArmorType = (ArmorReactivateType)1;
					if (armor.reactivateArmorValue < val)
					{
						armor.reactivateArmorValue = val;
					}
				}
			}
		};
	}
}
public class HeavyDuty : 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_002d: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Unknown result type (might be due to invalid IL or missing references)
			//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_007e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0080: Unknown result type (might be due to invalid IL or missing references)
			//IL_0086: Expected O, but got Unknown
			//IL_0088: 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_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_009f: Unknown result type (might be due to invalid IL or missing references)
			//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b2: Expected O, but got Unknown
			//IL_00b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00de: Expected O, but got Unknown
			CardDetails val = new CardDetails();
			val.Title = "Heavy Duty";
			val.Description = "Heavy hitting but Heavy";
			val.ModName = "BCM";
			val.Rarity = RarityUtils.GetRarity("Uncommon");
			val.Theme = (CardThemeColorType)3;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("C:\\Users\\logan\\Documents\\rounds mod\\data\\CardIcon.png");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[3]
			{
				new CardInfoStat
				{
					positive = true,
					stat = "Movement Speed",
					amount = "-25%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Gravity",
					amount = "+200%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Damage",
					amount = "+200%",
					simepleAmount = (SimpleAmount)0
				}
			};
			return val;
		}
	}

	public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
	{
		Dictionary<string, Action<float>> dictionary = new Dictionary<string, Action<float>>();
		dictionary.Add("damage", delegate(float val)
		{
			gun.damage = val;
		});
		dictionary.Add("health", delegate(float val)
		{
			statModifiers.health = val;
		});
		dictionary.Add("reload", delegate(float val)
		{
			gun.reloadTime = val;
		});
		dictionary.Add("ammo", delegate(float val)
		{
			gun.ammo = (int)val;
		});
		dictionary.Add("ammoregeneration", delegate(float val)
		{
			gun.ammoReg = val;
		});
		dictionary.Add("projectiles", delegate(float val)
		{
			gun.numberOfProjectiles = Mathf.Max(1, (int)val);
		});
		dictionary.Add("projectilesize", delegate(float val)
		{
			gun.projectileSize = val;
		});
		dictionary.Add("bursts", delegate(float val)
		{
			gun.bursts = (int)val;
		});
		dictionary.Add("timeBetweenBullets", delegate(float val)
		{
			gun.timeBetweenBullets = val;
		});
		dictionary.Add("knockback", delegate(float val)
		{
			gun.knockback = val;
		});
		dictionary.Add("attackSpeed", delegate(float val)
		{
			gun.attackSpeed = val;
		});
		dictionary.Add("bounces", delegate(float val)
		{
			gun.reflects = (int)val;
		});
		dictionary.Add("bulletSpeed", delegate(float val)
		{
			gun.projectileSpeed = val;
		});
		dictionary.Add("blocksamount", delegate(float val)
		{
			block.additionalBlocks = (int)val;
		});
		dictionary.Add("blockhealamount", delegate(float val)
		{
			block.healing = (int)val;
		});
		dictionary.Add("blockcooldown", delegate(float val)
		{
			block.cdMultiplier = val;
		});
		dictionary.Add("lifesteal", delegate(float val)
		{
			statModifiers.lifeSteal = val;
		});
		dictionary.Add("respawns", delegate(float val)
		{
			statModifiers.respawns = (int)val;
		});
		dictionary.Add("numberofjumps", delegate(float val)
		{
			statModifiers.numberOfJumps = (int)val;
		});
		dictionary.Add("gravity", delegate(float val)
		{
			statModifiers.gravity = val;
		});
		dictionary.Add("size", delegate(float val)
		{
			statModifiers.sizeMultiplier = val;
		});
		dictionary.Add("movementspeed", delegate(float val)
		{
			statModifiers.movementSpeed = val;
		});
		dictionary.Add("spread", delegate(float val)
		{
			gun.spread = (int)val;
		});
		dictionary.Add("slow", delegate(float val)
		{
			gun.slow = val;
		});
		dictionary["movementspeed"](0.75f);
		dictionary["gravity"](3f);
		dictionary["damage"](3f);
	}

	protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
	{
		ArmorBase armor = ArmorFramework.ArmorHandlers[player].GetArmorByType<DefaultArmor>();
		new Dictionary<string, Action<float>>
		{
			{
				"armorHealth",
				delegate(float val)
				{
					ArmorBase obj2 = armor;
					obj2.MaxArmorValue += (float)(int)val;
				}
			},
			{
				"armorRegen",
				delegate(float val)
				{
					ArmorBase obj = armor;
					obj.ArmorRegenerationRate += val;
				}
			},
			{
				"regenCooldownSeconds",
				delegate(float val)
				{
					if (armor.ArmorRegenCooldownSeconds < val)
					{
						armor.ArmorRegenCooldownSeconds = val;
					}
				}
			},
			{
				"reactivateAfterSeconds",
				delegate(float val)
				{
					armor.reactivateArmorType = (ArmorReactivateType)1;
					if (armor.reactivateArmorValue < val)
					{
						armor.reactivateArmorValue = val;
					}
				}
			}
		};
	}
}
public class InfiniteBullets : 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_002d: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Unknown result type (might be due to invalid IL or missing references)
			//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_007e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0080: Unknown result type (might be due to invalid IL or missing references)
			//IL_0086: Expected O, but got Unknown
			CardDetails val = new CardDetails();
			val.Title = "Infinite Bullets";
			val.Description = "It just gives you infinite bullets, it's quite simple.";
			val.ModName = "BCM";
			val.Rarity = RarityUtils.GetRarity("Uncommon");
			val.Theme = (CardThemeColorType)1;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("C:\\Users\\logan\\Documents\\rounds mod\\data\\CardIcon.png");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[1]
			{
				new CardInfoStat
				{
					positive = false,
					stat = "Reload Time",
					amount = "-100%",
					simepleAmount = (SimpleAmount)7
				}
			};
			return val;
		}
	}

	public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
	{
		Dictionary<string, Action<float>> dictionary = new Dictionary<string, Action<float>>();
		dictionary.Add("damage", delegate(float val)
		{
			gun.damage = val;
		});
		dictionary.Add("health", delegate(float val)
		{
			statModifiers.health = val;
		});
		dictionary.Add("reload", delegate(float val)
		{
			gun.reloadTime = val;
		});
		dictionary.Add("ammo", delegate(float val)
		{
			gun.ammo = (int)val;
		});
		dictionary.Add("ammoregeneration", delegate(float val)
		{
			gun.ammoReg = val;
		});
		dictionary.Add("projectiles", delegate(float val)
		{
			gun.numberOfProjectiles = Mathf.Max(1, (int)val);
		});
		dictionary.Add("projectilesize", delegate(float val)
		{
			gun.projectileSize = val;
		});
		dictionary.Add("bursts", delegate(float val)
		{
			gun.bursts = (int)val;
		});
		dictionary.Add("timeBetweenBullets", delegate(float val)
		{
			gun.timeBetweenBullets = val;
		});
		dictionary.Add("knockback", delegate(float val)
		{
			gun.knockback = val;
		});
		dictionary.Add("attackSpeed", delegate(float val)
		{
			gun.attackSpeed = val;
		});
		dictionary.Add("bounces", delegate(float val)
		{
			gun.reflects = (int)val;
		});
		dictionary.Add("bulletSpeed", delegate(float val)
		{
			gun.projectileSpeed = val;
		});
		dictionary.Add("blocksamount", delegate(float val)
		{
			block.additionalBlocks = (int)val;
		});
		dictionary.Add("blockhealamount", delegate(float val)
		{
			block.healing = (int)val;
		});
		dictionary.Add("blockcooldown", delegate(float val)
		{
			block.cdMultiplier = val;
		});
		dictionary.Add("lifesteal", delegate(float val)
		{
			statModifiers.lifeSteal = val;
		});
		dictionary.Add("respawns", delegate(float val)
		{
			statModifiers.respawns = (int)val;
		});
		dictionary.Add("numberofjumps", delegate(float val)
		{
			statModifiers.numberOfJumps = (int)val;
		});
		dictionary.Add("gravity", delegate(float val)
		{
			statModifiers.gravity = val;
		});
		dictionary.Add("size", delegate(float val)
		{
			statModifiers.sizeMultiplier = val;
		});
		dictionary.Add("movementspeed", delegate(float val)
		{
			statModifiers.movementSpeed = val;
		});
		dictionary.Add("spread", delegate(float val)
		{
			gun.spread = (int)val;
		});
		dictionary.Add("slow", delegate(float val)
		{
			gun.slow = val;
		});
		dictionary["reload"](0f);
	}

	protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
	{
		ArmorBase armor = ArmorFramework.ArmorHandlers[player].GetArmorByType<DefaultArmor>();
		new Dictionary<string, Action<float>>
		{
			{
				"armorHealth",
				delegate(float val)
				{
					ArmorBase obj2 = armor;
					obj2.MaxArmorValue += (float)(int)val;
				}
			},
			{
				"armorRegen",
				delegate(float val)
				{
					ArmorBase obj = armor;
					obj.ArmorRegenerationRate += val;
				}
			},
			{
				"regenCooldownSeconds",
				delegate(float val)
				{
					if (armor.ArmorRegenCooldownSeconds < val)
					{
						armor.ArmorRegenCooldownSeconds = val;
					}
				}
			},
			{
				"reactivateAfterSeconds",
				delegate(float val)
				{
					armor.reactivateArmorType = (ArmorReactivateType)1;
					if (armor.reactivateArmorValue < val)
					{
						armor.reactivateArmorValue = val;
					}
				}
			}
		};
	}
}
public class Invincible : 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_002d: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Unknown result type (might be due to invalid IL or missing references)
			//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_007e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0080: Unknown result type (might be due to invalid IL or missing references)
			//IL_0086: Expected O, but got Unknown
			//IL_0088: 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_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_009f: Unknown result type (might be due to invalid IL or missing references)
			//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b2: Expected O, but got Unknown
			//IL_00b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00de: Expected O, but got Unknown
			//IL_00e0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ec: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0102: Unknown result type (might be due to invalid IL or missing references)
			//IL_0104: Unknown result type (might be due to invalid IL or missing references)
			//IL_010a: Expected O, but got Unknown
			//IL_010c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0111: Unknown result type (might be due to invalid IL or missing references)
			//IL_0118: Unknown result type (might be due to invalid IL or missing references)
			//IL_0123: Unknown result type (might be due to invalid IL or missing references)
			//IL_012e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0130: Unknown result type (might be due to invalid IL or missing references)
			//IL_0136: Expected O, but got Unknown
			//IL_0138: Unknown result type (might be due to invalid IL or missing references)
			//IL_013d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0144: Unknown result type (might be due to invalid IL or missing references)
			//IL_014f: Unknown result type (might be due to invalid IL or missing references)
			//IL_015a: Unknown result type (might be due to invalid IL or missing references)
			//IL_015c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0162: Expected O, but got Unknown
			CardDetails val = new CardDetails();
			val.Title = "Invincible";
			val.Description = "Time To Win";
			val.ModName = "BCM";
			val.Rarity = RarityUtils.GetRarity("Exordium");
			val.Theme = (CardThemeColorType)3;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("C:\\Users\\logan\\Documents\\rounds mod\\data\\CardIcon.png");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[6]
			{
				new CardInfoStat
				{
					positive = true,
					stat = "Health",
					amount = "+9900%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Respawns",
					amount = "+10000",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Armor Health",
					amount = "+1000000",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Armor Regeneration",
					amount = "+1000000",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Regen Cooldown",
					amount = "+0",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Size",
					amount = "-75%",
					simepleAmount = (SimpleAmount)0
				}
			};
			return val;
		}
	}

	public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
	{
		Dictionary<string, Action<float>> dictionary = new Dictionary<string, Action<float>>();
		dictionary.Add("damage", delegate(float val)
		{
			gun.damage = val;
		});
		dictionary.Add("health", delegate(float val)
		{
			statModifiers.health = val;
		});
		dictionary.Add("reload", delegate(float val)
		{
			gun.reloadTime = val;
		});
		dictionary.Add("ammo", delegate(float val)
		{
			gun.ammo = (int)val;
		});
		dictionary.Add("ammoregeneration", delegate(float val)
		{
			gun.ammoReg = val;
		});
		dictionary.Add("projectiles", delegate(float val)
		{
			gun.numberOfProjectiles = Mathf.Max(1, (int)val);
		});
		dictionary.Add("projectilesize", delegate(float val)
		{
			gun.projectileSize = val;
		});
		dictionary.Add("bursts", delegate(float val)
		{
			gun.bursts = (int)val;
		});
		dictionary.Add("timeBetweenBullets", delegate(float val)
		{
			gun.timeBetweenBullets = val;
		});
		dictionary.Add("knockback", delegate(float val)
		{
			gun.knockback = val;
		});
		dictionary.Add("attackSpeed", delegate(float val)
		{
			gun.attackSpeed = val;
		});
		dictionary.Add("bounces", delegate(float val)
		{
			gun.reflects = (int)val;
		});
		dictionary.Add("bulletSpeed", delegate(float val)
		{
			gun.projectileSpeed = val;
		});
		dictionary.Add("blocksamount", delegate(float val)
		{
			block.additionalBlocks = (int)val;
		});
		dictionary.Add("blockhealamount", delegate(float val)
		{
			block.healing = (int)val;
		});
		dictionary.Add("blockcooldown", delegate(float val)
		{
			block.cdMultiplier = val;
		});
		dictionary.Add("lifesteal", delegate(float val)
		{
			statModifiers.lifeSteal = val;
		});
		dictionary.Add("respawns", delegate(float val)
		{
			statModifiers.respawns = (int)val;
		});
		dictionary.Add("numberofjumps", delegate(float val)
		{
			statModifiers.numberOfJumps = (int)val;
		});
		dictionary.Add("gravity", delegate(float val)
		{
			statModifiers.gravity = val;
		});
		dictionary.Add("size", delegate(float val)
		{
			statModifiers.sizeMultiplier = val;
		});
		dictionary.Add("movementspeed", delegate(float val)
		{
			statModifiers.movementSpeed = val;
		});
		dictionary.Add("spread", delegate(float val)
		{
			gun.spread = (int)val;
		});
		dictionary.Add("slow", delegate(float val)
		{
			gun.slow = val;
		});
		dictionary["health"](100f);
		dictionary["respawns"](10000f);
		dictionary["size"](0.25f);
	}

	protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
	{
		ArmorBase armor = ArmorFramework.ArmorHandlers[player].GetArmorByType<DefaultArmor>();
		Dictionary<string, Action<float>> dictionary = new Dictionary<string, Action<float>>();
		dictionary.Add("armorHealth", delegate(float val)
		{
			ArmorBase obj2 = armor;
			obj2.MaxArmorValue += (float)(int)val;
		});
		dictionary.Add("armorRegen", delegate(float val)
		{
			ArmorBase obj = armor;
			obj.ArmorRegenerationRate += val;
		});
		dictionary.Add("regenCooldownSeconds", delegate(float val)
		{
			if (armor.ArmorRegenCooldownSeconds < val)
			{
				armor.ArmorRegenCooldownSeconds = val;
			}
		});
		dictionary.Add("reactivateAfterSeconds", delegate(float val)
		{
			armor.reactivateArmorType = (ArmorReactivateType)1;
			if (armor.reactivateArmorValue < val)
			{
				armor.reactivateArmorValue = val;
			}
		});
		dictionary["armorHealth"](1000000f);
		dictionary["armorRegen"](1000000f);
		dictionary["regenCooldownSeconds"](0f);
	}
}
public class IronClad : 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_002d: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Unknown result type (might be due to invalid IL or missing references)
			//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_007e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0080: Unknown result type (might be due to invalid IL or missing references)
			//IL_0086: Expected O, but got Unknown
			//IL_0088: 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_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_009f: Unknown result type (might be due to invalid IL or missing references)
			//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b2: Expected O, but got Unknown
			//IL_00b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00de: Expected O, but got Unknown
			CardDetails val = new CardDetails();
			val.Title = "Iron Clad";
			val.Description = "It's armour time!";
			val.ModName = "BCM";
			val.Rarity = RarityUtils.GetRarity("Uncommon");
			val.Theme = (CardThemeColorType)3;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("C:\\Users\\logan\\Documents\\rounds mod\\data\\CardIcon.png");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[3]
			{
				new CardInfoStat
				{
					positive = true,
					stat = "Armor Health",
					amount = "+200",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Armor Regeneration",
					amount = "+2",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Regen Cooldown",
					amount = "+1",
					simepleAmount = (SimpleAmount)0
				}
			};
			return val;
		}
	}

	public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
	{
		new Dictionary<string, Action<float>>
		{
			{
				"damage",
				delegate(float val)
				{
					gun.damage = val;
				}
			},
			{
				"health",
				delegate(float val)
				{
					statModifiers.health = val;
				}
			},
			{
				"reload",
				delegate(float val)
				{
					gun.reloadTime = val;
				}
			},
			{
				"ammo",
				delegate(float val)
				{
					gun.ammo = (int)val;
				}
			},
			{
				"ammoregeneration",
				delegate(float val)
				{
					gun.ammoReg = val;
				}
			},
			{
				"projectiles",
				delegate(float val)
				{
					gun.numberOfProjectiles = Mathf.Max(1, (int)val);
				}
			},
			{
				"projectilesize",
				delegate(float val)
				{
					gun.projectileSize = val;
				}
			},
			{
				"bursts",
				delegate(float val)
				{
					gun.bursts = (int)val;
				}
			},
			{
				"timeBetweenBullets",
				delegate(float val)
				{
					gun.timeBetweenBullets = val;
				}
			},
			{
				"knockback",
				delegate(float val)
				{
					gun.knockback = val;
				}
			},
			{
				"attackSpeed",
				delegate(float val)
				{
					gun.attackSpeed = val;
				}
			},
			{
				"bounces",
				delegate(float val)
				{
					gun.reflects = (int)val;
				}
			},
			{
				"bulletSpeed",
				delegate(float val)
				{
					gun.projectileSpeed = val;
				}
			},
			{
				"blocksamount",
				delegate(float val)
				{
					block.additionalBlocks = (int)val;
				}
			},
			{
				"blockhealamount",
				delegate(float val)
				{
					block.healing = (int)val;
				}
			},
			{
				"blockcooldown",
				delegate(float val)
				{
					block.cdMultiplier = val;
				}
			},
			{
				"lifesteal",
				delegate(float val)
				{
					statModifiers.lifeSteal = val;
				}
			},
			{
				"respawns",
				delegate(float val)
				{
					statModifiers.respawns = (int)val;
				}
			},
			{
				"numberofjumps",
				delegate(float val)
				{
					statModifiers.numberOfJumps = (int)val;
				}
			},
			{
				"gravity",
				delegate(float val)
				{
					statModifiers.gravity = val;
				}
			},
			{
				"size",
				delegate(float val)
				{
					statModifiers.sizeMultiplier = val;
				}
			},
			{
				"movementspeed",
				delegate(float val)
				{
					statModifiers.movementSpeed = val;
				}
			},
			{
				"spread",
				delegate(float val)
				{
					gun.spread = (int)val;
				}
			},
			{
				"slow",
				delegate(float val)
				{
					gun.slow = val;
				}
			}
		};
	}

	protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
	{
		ArmorBase armor = ArmorFramework.ArmorHandlers[player].GetArmorByType<DefaultArmor>();
		Dictionary<string, Action<float>> dictionary = new Dictionary<string, Action<float>>();
		dictionary.Add("armorHealth", delegate(float val)
		{
			ArmorBase obj2 = armor;
			obj2.MaxArmorValue += (float)(int)val;
		});
		dictionary.Add("armorRegen", delegate(float val)
		{
			ArmorBase obj = armor;
			obj.ArmorRegenerationRate += val;
		});
		dictionary.Add("regenCooldownSeconds", delegate(float val)
		{
			if (armor.ArmorRegenCooldownSeconds < val)
			{
				armor.ArmorRegenCooldownSeconds = val;
			}
		});
		dictionary.Add("reactivateAfterSeconds", delegate(float val)
		{
			armor.reactivateArmorType = (ArmorReactivateType)1;
			if (armor.reactivateArmorValue < val)
			{
				armor.reactivateArmorValue = val;
			}
		});
		dictionary["armorHealth"](200f);
		dictionary["armorRegen"](2f);
		dictionary["regenCooldownSeconds"](1f);
	}
}
public class Kamehameha : 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_002d: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Unknown result type (might be due to invalid IL or missing references)
			//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_007e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0080: Unknown result type (might be due to invalid IL or missing references)
			//IL_0086: Expected O, but got Unknown
			//IL_0088: 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_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_009f: Unknown result type (might be due to invalid IL or missing references)
			//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b2: Expected O, but got Unknown
			//IL_00b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00de: Expected O, but got Unknown
			//IL_00e0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ec: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0102: Unknown result type (might be due to invalid IL or missing references)
			//IL_0104: Unknown result type (might be due to invalid IL or missing references)
			//IL_010a: Expected O, but got Unknown
			//IL_010c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0111: Unknown result type (might be due to invalid IL or missing references)
			//IL_0118: Unknown result type (might be due to invalid IL or missing references)
			//IL_0123: Unknown result type (might be due to invalid IL or missing references)
			//IL_012e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0130: Unknown result type (might be due to invalid IL or missing references)
			//IL_0136: Expected O, but got Unknown
			//IL_0138: Unknown result type (might be due to invalid IL or missing references)
			//IL_013d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0144: Unknown result type (might be due to invalid IL or missing references)
			//IL_014f: Unknown result type (might be due to invalid IL or missing references)
			//IL_015a: Unknown result type (might be due to invalid IL or missing references)
			//IL_015c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0162: Expected O, but got Unknown
			//IL_0164: Unknown result type (might be due to invalid IL or missing references)
			//IL_0169: Unknown result type (might be due to invalid IL or missing references)
			//IL_0170: Unknown result type (might be due to invalid IL or missing references)
			//IL_017b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0186: Unknown result type (might be due to invalid IL or missing references)
			//IL_0188: Unknown result type (might be due to invalid IL or missing references)
			//IL_018e: Expected O, but got Unknown
			//IL_0190: Unknown result type (might be due to invalid IL or missing references)
			//IL_0195: Unknown result type (might be due to invalid IL or missing references)
			//IL_019c: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a7: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ba: Expected O, but got Unknown
			CardDetails val = new CardDetails();
			val.Title = "Kamehameha";
			val.Description = "Time to go super saiyan";
			val.ModName = "BCM";
			val.Rarity = RarityUtils.GetRarity("Mythical");
			val.Theme = (CardThemeColorType)0;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("C:\\Users\\logan\\Documents\\rounds mod\\data\\CardIcon.png");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[8]
			{
				new CardInfoStat
				{
					positive = false,
					stat = "Damage",
					amount = "+9900%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = false,
					stat = "Ammunition",
					amount = "+100",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = false,
					stat = "Attack Speed",
					amount = "-2000%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = false,
					stat = "Bullet Speed",
					amount = "+400%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = false,
					stat = "Bursts",
					amount = "+100",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = false,
					stat = "Time Between Bullets",
					amount = "+0.2 seconds",
					simepleAmount = (SimpleAmount)1
				},
				new CardInfoStat
				{
					positive = false,
					stat = "Health",
					amount = "+100%",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Reload Time",
					amount = "+400%",
					simepleAmount = (SimpleAmount)0
				}
			};
			return val;
		}
	}

	public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
	{
		Dictionary<string, Action<float>> dictionary = new Dictionary<string, Action<float>>();
		dictionary.Add("damage", delegate(float val)
		{
			gun.damage = val;
		});
		dictionary.Add("health", delegate(float val)
		{
			statModifiers.health = val;
		});
		dictionary.Add("reload", delegate(float val)
		{
			gun.reloadTime = val;
		});
		dictionary.Add("ammo", delegate(float val)
		{
			gun.ammo = (int)val;
		});
		dictionary.Add("ammoregeneration", delegate(float val)
		{
			gun.ammoReg = val;
		});
		dictionary.Add("projectiles", delegate(float val)
		{
			gun.numberOfProjectiles = Mathf.Max(1, (int)val);
		});
		dictionary.Add("projectilesize", delegate(float val)
		{
			gun.projectileSize = val;
		});
		dictionary.Add("bursts", delegate(float val)
		{
			gun.bursts = (int)val;
		});
		dictionary.Add("timeBetweenBullets", delegate(float val)
		{
			gun.timeBetweenBullets = val;
		});
		dictionary.Add("knockback", delegate(float val)
		{
			gun.knockback = val;
		});
		dictionary.Add("attackSpeed", delegate(float val)
		{
			gun.attackSpeed = val;
		});
		dictionary.Add("bounces", delegate(float val)
		{
			gun.reflects = (int)val;
		});
		dictionary.Add("bulletSpeed", delegate(float val)
		{
			gun.projectileSpeed = val;
		});
		dictionary.Add("blocksamount", delegate(float val)
		{
			block.additionalBlocks = (int)val;
		});
		dictionary.Add("blockhealamount", delegate(float val)
		{
			block.healing = (int)val;
		});
		dictionary.Add("blockcooldown", delegate(float val)
		{
			block.cdMultiplier = val;
		});
		dictionary.Add("lifesteal", delegate(float val)
		{
			statModifiers.lifeSteal = val;
		});
		dictionary.Add("respawns", delegate(float val)
		{
			statModifiers.respawns = (int)val;
		});
		dictionary.Add("numberofjumps", delegate(float val)
		{
			statModifiers.numberOfJumps = (int)val;
		});
		dictionary.Add("gravity", delegate(float val)
		{
			statModifiers.gravity = val;
		});
		dictionary.Add("size", delegate(float val)
		{
			statModifiers.sizeMultiplier = val;
		});
		dictionary.Add("movementspeed", delegate(float val)
		{
			statModifiers.movementSpeed = val;
		});
		dictionary.Add("spread", delegate(float val)
		{
			gun.spread = (int)val;
		});
		dictionary.Add("slow", delegate(float val)
		{
			gun.slow = val;
		});
		dictionary["damage"](100f);
		dictionary["ammo"](100f);
		dictionary["attackSpeed"](-19f);
		dictionary["bulletSpeed"](5f);
		dictionary["bursts"](100f);
		dictionary["timeBetweenBullets"](0.2f);
		dictionary["health"](2f);
		dictionary["reload"](5f);
	}

	protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
	{
		ArmorBase armor = ArmorFramework.ArmorHandlers[player].GetArmorByType<DefaultArmor>();
		new Dictionary<string, Action<float>>
		{
			{
				"armorHealth",
				delegate(float val)
				{
					ArmorBase obj2 = armor;
					obj2.MaxArmorValue += (float)(int)val;
				}
			},
			{
				"armorRegen",
				delegate(float val)
				{
					ArmorBase obj = armor;
					obj.ArmorRegenerationRate += val;
				}
			}