Decompiled source of OverBlocked v0.2.1

OverBlocked.dll

Decompiled a month 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("OverBlocked")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("OverBlocked")]
[assembly: AssemblyTitle("OverBlocked")]
[assembly: AssemblyVersion("1.0.0.0")]
public class ArmoredShell : 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 = "Armored Shell";
			val.Description = "Gives you a new defense stat, should be more good on tank people";
			val.ModName = "OverBlocked";
			val.Rarity = RarityUtils.GetRarity("Epic");
			val.Theme = (CardThemeColorType)2;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("https://placehold.co/512x512/png");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[4]
			{
				new CardInfoStat
				{
					positive = true,
					stat = "Armor Health",
					amount = "+125",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Additional Blocks",
					amount = "+1",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = false,
					stat = "Ammunition",
					amount = "-3",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = false,
					stat = "Health",
					amount = "-31%",
					simepleAmount = (SimpleAmount)6
				}
			};
			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["blocksamount"](1f);
		dictionary["ammo"](-3f);
		dictionary["health"](0.7f);
	}

	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"](125f);
	}
}
public class Broccoli : 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 = "Broccoli";
			val.Description = "Good food to stay healthy.";
			val.ModName = "OverBlocked";
			val.Rarity = RarityUtils.GetRarity("Rare");
			val.Theme = (CardThemeColorType)6;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("https://placehold.co/512x512/png");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[3]
			{
				new CardInfoStat
				{
					positive = true,
					stat = "Movement Speed",
					amount = "+19%",
					simepleAmount = (SimpleAmount)1
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Block Cooldown",
					amount = "-20%",
					simepleAmount = (SimpleAmount)5
				},
				new CardInfoStat
				{
					positive = false,
					stat = "Health",
					amount = "-31%",
					simepleAmount = (SimpleAmount)6
				}
			};
			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["movementspeed"](1.2f);
		dictionary["blockcooldown"](0.8f);
		dictionary["health"](0.7f);
	}

	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 CSHarpDLL : 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 = "CSHarpDLL";
			val.Description = "Today we learn CSharp guys.. GET READY";
			val.ModName = "OverBlocked";
			val.Rarity = RarityUtils.GetRarity("Uncommon");
			val.Theme = (CardThemeColorType)5;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("https://placehold.co/512x512/png");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[2]
			{
				new CardInfoStat
				{
					positive = true,
					stat = "Movement Speed",
					amount = "+19%",
					simepleAmount = (SimpleAmount)1
				},
				new CardInfoStat
				{
					positive = false,
					stat = "Damage",
					amount = "-20%",
					simepleAmount = (SimpleAmount)5
				}
			};
			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["movementspeed"](1.2f);
		dictionary["damage"](0.8f);
	}

	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 DefinitiveBlocking : 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 = "Definitive Blocking";
			val.Description = "Something to start blocking";
			val.ModName = "OverBlocked";
			val.Rarity = RarityUtils.GetRarity("Common");
			val.Theme = (CardThemeColorType)3;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("https://placehold.co/512x512/png");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[2]
			{
				new CardInfoStat
				{
					positive = true,
					stat = "Additional Blocks",
					amount = "+1",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = false,
					stat = "Health",
					amount = "-50%",
					simepleAmount = (SimpleAmount)6
				}
			};
			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["blocksamount"](1f);
		dictionary["health"](0.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;
				}
			},
			{
				"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 DiamondShell : 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 = "Diamond Shell";
			val.Description = "Gucci Diamant :D";
			val.ModName = "OverBlocked";
			val.Rarity = RarityUtils.GetRarity("Legendary");
			val.Theme = (CardThemeColorType)1;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("https://placehold.co/512x512/png");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[3]
			{
				new CardInfoStat
				{
					positive = true,
					stat = "Armor Health",
					amount = "+150",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = false,
					stat = "Health",
					amount = "-20%",
					simepleAmount = (SimpleAmount)5
				},
				new CardInfoStat
				{
					positive = false,
					stat = "Movement Speed",
					amount = "-10%",
					simepleAmount = (SimpleAmount)5
				}
			};
			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["health"](0.8f);
		dictionary["movementspeed"](0.9f);
	}

	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"](150f);
	}
}
public class ExfulgatedTrinity : 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
			CardDetails val = new CardDetails();
			val.Title = "Exfulgated Trinity";
			val.Description = "Ximochiua se tlen nopa chikuasej dioses";
			val.ModName = "OverBlocked";
			val.Rarity = RarityUtils.GetRarity("Mythical");
			val.Theme = (CardThemeColorType)0;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("https://placehold.co/512x512/png");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[5]
			{
				new CardInfoStat
				{
					positive = true,
					stat = "Health",
					amount = "+60%",
					simepleAmount = (SimpleAmount)3
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Additional Blocks",
					amount = "+5",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = false,
					stat = "Bullet Speed",
					amount = "-150%",
					simepleAmount = (SimpleAmount)7
				},
				new CardInfoStat
				{
					positive = false,
					stat = "Lifesteal",
					amount = "-31%",
					simepleAmount = (SimpleAmount)6
				},
				new CardInfoStat
				{
					positive = false,
					stat = "Reload Time",
					amount = "-70%",
					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["health"](1.6f);
		dictionary["blocksamount"](5f);
		dictionary["bulletSpeed"](-0.5f);
		dictionary["lifesteal"](0.7f);
		dictionary["reload"](0.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 FatGrease : 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 = "Fat Grease";
			val.Description = "Die harder while mocking them hard.";
			val.ModName = "OverBlocked";
			val.Rarity = RarityUtils.GetRarity("Epic");
			val.Theme = (CardThemeColorType)5;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("https://placehold.co/512x512/png");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[2]
			{
				new CardInfoStat
				{
					positive = true,
					stat = "Health",
					amount = "+89%",
					simepleAmount = (SimpleAmount)3
				},
				new CardInfoStat
				{
					positive = false,
					stat = "Movement Speed",
					amount = "-40%",
					simepleAmount = (SimpleAmount)6
				}
			};
			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["health"](1.9f);
		dictionary["movementspeed"](0.6f);
	}

	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 FieryDivinium : 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
			CardDetails val = new CardDetails();
			val.Title = "Fiery Divinium";
			val.Description = "FEAR THE POWER OF A DIVINIUM ROUND";
			val.ModName = "OverBlocked";
			val.Rarity = RarityUtils.GetRarity("Unique");
			val.Theme = (CardThemeColorType)0;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("https://placehold.co/512x512/png");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[7]
			{
				new CardInfoStat
				{
					positive = true,
					stat = "Health",
					amount = "+400%",
					simepleAmount = (SimpleAmount)4
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Movement Speed",
					amount = "+50%",
					simepleAmount = (SimpleAmount)3
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Lifesteal",
					amount = "+50%",
					simepleAmount = (SimpleAmount)3
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Block Cooldown",
					amount = "-50%",
					simepleAmount = (SimpleAmount)7
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Additional Blocks",
					amount = "+5",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Heal Amount",
					amount = "+250",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Total Jumps",
					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["health"](5f);
		dictionary["movementspeed"](1.5f);
		dictionary["lifesteal"](1.5f);
		dictionary["blockcooldown"](0.5f);
		dictionary["blocksamount"](5f);
		dictionary["blockhealamount"](250f);
		dictionary["numberofjumps"](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;
				}
			},
			{
				"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 Gigantous : 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 = "Gigantous";
			val.Description = "Just imagine.. lemme scale my man.";
			val.ModName = "OverBlocked";
			val.Rarity = RarityUtils.GetRarity("Trinket");
			val.Theme = (CardThemeColorType)3;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("https://placehold.co/512x512/png");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[2]
			{
				new CardInfoStat
				{
					positive = true,
					stat = "Health",
					amount = "+10%",
					simepleAmount = (SimpleAmount)1
				},
				new CardInfoStat
				{
					positive = false,
					stat = "Size",
					amount = "+10%",
					simepleAmount = (SimpleAmount)1
				}
			};
			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["health"](1.1f);
		dictionary["size"](1.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 GoingAboveandBeyond : 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 = "Going Above and Beyond";
			val.Description = "Strike higher and stronger";
			val.ModName = "OverBlocked";
			val.Rarity = RarityUtils.GetRarity("Epic");
			val.Theme = (CardThemeColorType)4;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("https://placehold.co/512x512/png");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[2]
			{
				new CardInfoStat
				{
					positive = true,
					stat = "Block Cooldown",
					amount = "-40%",
					simepleAmount = (SimpleAmount)6
				},
				new CardInfoStat
				{
					positive = false,
					stat = "Health",
					amount = "-50%",
					simepleAmount = (SimpleAmount)6
				}
			};
			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["blockcooldown"](0.6f);
		dictionary["health"](0.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;
				}
			},
			{
				"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 GoingBelowAndStronger : 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 = "Going Below And Stronger";
			val.Description = "Strike fattier you fat f**k";
			val.ModName = "OverBlocked";
			val.Rarity = RarityUtils.GetRarity("Epic");
			val.Theme = (CardThemeColorType)4;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("https://placehold.co/512x512/png");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[3]
			{
				new CardInfoStat
				{
					positive = true,
					stat = "Health",
					amount = "+89%",
					simepleAmount = (SimpleAmount)3
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Additional Blocks",
					amount = "+1",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = false,
					stat = "Block Cooldown",
					amount = "+50%",
					simepleAmount = (SimpleAmount)3
				}
			};
			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["health"](1.9f);
		dictionary["blocksamount"](1f);
		dictionary["blockcooldown"](1.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;
				}
			},
			{
				"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 GoldShell : 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 = "Gold Shell";
			val.Description = "not strong either";
			val.ModName = "OverBlocked";
			val.Rarity = RarityUtils.GetRarity("Rare");
			val.Theme = (CardThemeColorType)1;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("https://placehold.co/512x512/png");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[2]
			{
				new CardInfoStat
				{
					positive = true,
					stat = "Armor Health",
					amount = "+70",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = false,
					stat = "Movement Speed",
					amount = "-10%",
					simepleAmount = (SimpleAmount)5
				}
			};
			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["movementspeed"](0.9f);
	}

	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"](70f);
	}
}
public class GravityModulator : 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 = "Gravity Modulator";
			val.Description = "Inverts or Reverts its Gravity around you... No.. it does not add effects, YET...";
			val.ModName = "OverBlocked";
			val.Rarity = RarityUtils.GetRarity("Common");
			val.Theme = (CardThemeColorType)3;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("https://placehold.co/512x512/png");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[1]
			{
				new CardInfoStat
				{
					positive = true,
					stat = "Gravity",
					amount = "-31%",
					simepleAmount = (SimpleAmount)5
				}
			};
			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["gravity"](0.7f);
	}

	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 GuardianAngel : 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 = "Guardian Angel";
			val.Description = "Revive my child.";
			val.ModName = "OverBlocked";
			val.Rarity = RarityUtils.GetRarity("Rare");
			val.Theme = (CardThemeColorType)4;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("https://placehold.co/512x512/png");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[4]
			{
				new CardInfoStat
				{
					positive = true,
					stat = "Respawns",
					amount = "+1",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Armor Health",
					amount = "+45",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = false,
					stat = "Health",
					amount = "-31%",
					simepleAmount = (SimpleAmount)6
				},
				new CardInfoStat
				{
					positive = false,
					stat = "Damage",
					amount = "-50%",
					simepleAmount = (SimpleAmount)6
				}
			};
			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["respawns"](1f);
		dictionary["health"](0.7f);
		dictionary["damage"](0.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>();
		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"](45f);
	}
}
public class HealingInstinct : 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 = "Healing Instinct";
			val.Description = "Instinctly healing yourself while fighting opponents is a good idea";
			val.ModName = "OverBlocked";
			val.Rarity = RarityUtils.GetRarity("Legendary");
			val.Theme = (CardThemeColorType)2;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("https://placehold.co/512x512/png");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[3]
			{
				new CardInfoStat
				{
					positive = true,
					stat = "Heal Amount",
					amount = "+200",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = false,
					stat = "Health",
					amount = "-40%",
					simepleAmount = (SimpleAmount)6
				},
				new CardInfoStat
				{
					positive = false,
					stat = "Damage",
					amount = "-60%",
					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["blockhealamount"](200f);
		dictionary["health"](0.6f);
		dictionary["damage"](0.4f);
	}

	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 Infinitode : 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 = "Infinitode";
			val.Description = "Do you have now enough ? HUH ??.......";
			val.ModName = "OverBlocked";
			val.Rarity = RarityUtils.GetRarity("Epic");
			val.Theme = (CardThemeColorType)4;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("https://placehold.co/512x512/png");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[2]
			{
				new CardInfoStat
				{
					positive = true,
					stat = "Total Jumps",
					amount = "+9999",
					simepleAmount = (SimpleAmount)0
				},
				new CardInfoStat
				{
					positive = false,
					stat = "Movement Speed",
					amount = "-40%",
					simepleAmount = (SimpleAmount)6
				}
			};
			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["numberofjumps"](9999f);
		dictionary["movementspeed"](0.6f);
	}

	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 InterceperReloaded : 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 = "Interceper Reloaded";
			val.Description = "your Armor regenerates a little faster.";
			val.ModName = "OverBlocked";
			val.Rarity = RarityUtils.GetRarity("Uncommon");
			val.Theme = (CardThemeColorType)2;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("https://placehold.co/512x512/png");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[2]
			{
				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 c