Decompiled source of GunCards v0.0.7

GunCards.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 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 = "")]
[assembly: AssemblyCompany("GunCards")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("GunCards")]
[assembly: AssemblyTitle("GunCards")]
[assembly: AssemblyVersion("1.0.0.0")]
public class AssaultRifle : 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 = "Assault Rifle";
			val.Description = "Turns your gun into more of an assault rifle";
			val.ModName = "GunCards";
			val.Rarity = RarityUtils.GetRarity("Rare");
			val.Theme = (CardThemeColorType)7;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoHCBYWFRgWFhYZGBgaHBwaHBwaHBocHhoeIR4hGh4aGhocIS4lHCErHxwaJzgmKy8xNTU1GiQ7QDs0Py40NTEBDAwMEA8QGhISGjQhISE0NDQ0NDE0NDQ0NDQ0NDQxNDQ0NDQ0NDQ0NDQxNDE0NDQ0MTQ0NDQ0NDQ0NDQ/PzQxNP/AABEIAJIBWgMBIgACEQEDEQH/xAAbAAACAwEBAQAAAAAAAAAAAAAAAQIDBAUGB//EAEkQAAIBAgQCBwUEBAwFBQEAAAECAAMRBBIhMUFRBQYiYXGB8BORobHRMkJSwRQVYpIjM0NTVHKCorLC4fEWg5PD0jRzhJTTJP/EABgBAQEBAQEAAAAAAAAAAAAAAAABAgME/8QAIBEBAQACAgICAwAAAAAAAAAAAAECESExA1ETQRIyYf/aAAwDAQACEQMRAD8A9h3QiG8k0qGNYvX5QBhyvIHfvgJESUBgcIxtEJInh63gStBTFeAgOSAiBjgAjtCAgMnUREwO8DALwjELcICH5RQELQJCVyfORtr8oCPCMiLvjMBQjtCQKKOBgRMYgRACARiAiMBxQtFAGiWJpIiBE+vnHeBiEAiMcUAijkYUjFeBlfshAtvrAneEVpUef619IPTRAlQ0yzm7KVByqpuoLc2ZfdOZ1b6ZrviGpvUeomVSCxQ2JaxsVA+6Dprwh10bM1FO6o5HPVVHxBmbqoAtcC3L4h/qIanT3y90k0hT2lGJx9JCFeoiE6jMwGmvE6Dz5HlDLWD65x3mBelsP/P0bf8AuU/rMVfrPRBYIr1yDY+yVco787MqsOWUmDVdy8kp1nmh1rH9ExXktL/9JZT62UzvQxK9xRCdP6rmF1XoljM4adZqJ+5WBOoBSmCRzyl7kd9pYOsNLcpWtxIpFreIplj8INV2LxicdOnqR1UViN7ijU491r/CTPT1EGze2GlxfD19f3UMbNV1rwE4/wCvqX4cR/8AWxXl/JyX6/ojf2w8cNih/wBuDVdaKrVVQzMbKoJJ10HE2Gs41TrPh129s250o1BbvJdV+F9jOT0j1hDqyLSq5X0JbIAVO4Az5gSbDUDS8m1mNdhesdDY+0Q3P2qb6j8QyZrDuax5iVYvrXhkQsHZ20sgVlLG4FgXAAtv4CecOPX8FRe8PbXh/KW5TPX6RRQbh7ab1SLjb7tXnJtfxe16E6aTEoXRWABUWbLuRcjssRobjynRBnz7BdKtQANCgxR2N2sWSm+UXeoyk3B7NrkHstvOn0X1rqm/6RSULbsmiGYk94cr8JpLjXrozOKnWbD7N7VLjTNSc38AmY+8S0dYMMfvt/0a/wD4SbiarqwnMHT+G/nCP+XVH+SH69w386PNXH+SNw1XTtIzn/r3DD+WXzD/AJrD9d4b+fTzJHzEGq3kRTlVOsuDBIOJpAjkxPxAIh/xLg/6VR83A+cGnXEi05g6w4T+lYf/AKtP6zfQxCOuZHR15oyuP7pNoNLbRQvFeEI+cZEjeSv69ecBExGNtIr6wCIn18YzIEwGDAmK8iYDkc0IrSi0/wCk5vTPSgw6B8mclggXMFuSC25B4KeHKdE+Mx9I9GJWXJUGZcwbRipBF9QQbjQkeBgj590viK1eoHCBRbKgDrot79q+7XPdL+i2ejWDmlVdbK11CE72I1IHAzvnqfRvfU+Z9cI16m0OIv4kn8/GNNbjQnWVeOGxY7/Z0yPhUmTFdL4epbNhK9Q7BjQpMVG5tme9tb6Sz/g+hbb4t9ZFupdEjiP7TfXWOU4ZzWw39CrD/wCLSufc205WN50KNcXBB9ouRV/CKa5iBbunbHUtOBPP7TSDdSxbsO48Gvf335SNbjy1HC4hXXsVTzGYkHTgOHD3To0sTiEpKClVAWaoLqQXDsXW5YfhyC22k6X/AAi99Kz/AL30iHVWsBYVqmgtvfQaAe6WQuUcpMTi3VW9pSAbVQ5Y2BubEqjC+m0mamJA1fCtbvp/56Bmter2JSwBzZfs9ustuBsEew0JGltzA9G4oG9mDWtmGIxINuVyxNtdpNG4w1MXVt2lwhH7X6If8VESVPFPexo4RzyH6Jfu4DT6TYmFxa3YCqGYgsRiXGYgBbm9M3NlA15Wh+j4sLkBrZDmuorU7Wbf7WHO5PdvElXcJa1cajBUSP2Uwp+PtLD3SLdP1k2wtNdb/wATRI2/ErS008RoCK5Aym2fDEaEEC3sFJFwLi4vrzlWIrYl6eSoira+UqAmXj9hexrz8Ys32bjVhusOKcBxTRMzBFFPsB20OwIubOo1mgdN44sy5GLr9pQ5JW+1xY24+6ZqFakgwqZ3LU2LsBRqdtigFl7gyb90ZxSo9Z2eqPaFbWRlsFv9rMe1u2g590mmuGo9L44b4er7mP8A2jLR0tjrf+lrm/EICfL/APnlNCojrmpMWBYISKlRcjaDtqT2bA32tbUXnSw2DU3zVFOnDHFflIcPN4z2rPnfo+o7khsxpdrQAA9nDC/2V9wmiljayKFGDcKBYKKSWF9TvhL7knW+87ppgfYrNva36yew8BaYcRisjqhfEsW0Bp4mq4BJy9rMRfU3OhsNeEcnDi1BQZy1bDFXbW+SmWNtL5fZJbyHCP8AR8Fwokf2CPKyiauksU4rYVVqOXdawBcmq4GamSqFv6rG3cRB8Vigbe1buL4en772+fOakrO5GVcJhOCH9yp7t+74yAweBvYsyG+wp1WsOdw4I4jblNK9LVrXarTvmdWHsaZN1JW+gFgdPrMeJ6aqAEe2QqLnKtNRrxItuSBzjVOEGweGOx8f47827pW+Dw34vc1Uce9pP9d1rDLURgBcXprp3dpdTxkX6YruvadG30FNB/hQRqruKjjaCDJlBy6XKM9+P2r3O8z4vpGiab5FBcgBOwVAuRdiSTewvYAcpvRi6nsISwBUgMCCGVSN8rBs/LgJTXAyNdQLK+tgbEKTw75WWX9XZKgF72ci3vE6+Fp5DmVyjj7wNjbffx4SeMoOKpJWy+0O4JG54SLqM3Dh4Hczh5ZNvR4+ncw3WZ0FqyZ/26eUHzS4U8dQR4To0OsmGb+Vyd1RHT+9Yr8Z5gAjcSOVD90TnPLlj/Vvhxv8e0p9JUG1WvSPhUTn/WifpjDrvXoj/mU//KeHqUUJsAAfXGWU6KD7ljzm/mvpj4J7evTprDE6V6f72nvItNCYpGPZqUz/AFXQ/C88YNeOki6A7i8nz30fBPb3uU72PuMrvrPBpTCm6jKea6H3i00UMXVW+WvUHGxdm9wYm01809JfBfqva2ivOf0LjzUVw5BemyhiNM2ZcwvYWuBv4idATtjdzbjlNXQEXnARXPq8qLlEAIwIkEqALHx1gvPvitrALEjzkiO6B2iIkEwN4rR8IGAgsllkbyd4CiAkxGsCvKNPXwiyDl69CWkRgaQICmLbCVHCrrcC002jyHlA5j9FIdrqb8CRbfa228yYno0gC1Rx4O4/Od7IddDMmJGg0+frhBt5evg3SopR2LOpuStN9EYFbl6btp7RrWF9+G26hXxI1L5rG4ugupHK2FX5zndOV3XEBWRChRWTMV11s4Kv2bgm9zpqvK8sRyVcZEWxIQZaXb2ALMqEIL8QW090mnTG8NlR2I7QNlvstPXTvQE6WnONSwOmmYZgUABDkABT943Njb4TJj+lHpJmOHsLquVnQEkq7vYULiwCaXbc7CVYLpalVKP2KeVrMtaqAUQqStSmrWzgnSyi/vBjRtl6Ype0xFBCFORH0yg2zfZte9zdG10MrWkoV8xIsezcMhYC9tC1r6gMt+KkXsb6UwtR2eqFYZiSuUsGCDsp9g5lOS1xzZr6EzO5rOcqZ28Wci3dc27pqRmqVqlERVZgO0RooAJN7bEtzvfiZGpXDHIXIY7DtWtpqSFNhvy230llTC4jLr2RcbmwvbTgeF9/pOej1SqFUINYpTLPYhszDJaw7Oul/HSNrE6lWwtnS5uDd0N73GlyNbTRh6AfVHBcm1gFNgLW2JW5435cb3BWxGRCDcOCwcHNodihB4gqb95j6D6c9nWR6oHs2sC2vZGuVjcnQHfu14RST0vfo3FABFUCwtm4sDqQwN13A2H3REOi8TlK8CMp0W1iLfg5T6OE2lhTaGJXy9ehcXpmqOR31Hb5zQOj8QnEnx7V/fPouTukGog7zOWMvbeOdxfOkxZDZX7F+OuXx4kTS9IjtA3XmNR7xPUY/oZHvpY8wJ5vEdD1aJJpk23sNQfFZyy8Xp2x8svalhcWudfW8soo/O4795kTF9rtrkPMA5T48p06b3U5GzAjdTeccsbLqusu+kUc8V243A+ceYbeY7+8Eb+U53SaEUKhF/sNzPC35yrChhQpgDgCL+Mn4zW4bdQsL/7SAAv/ALiJiOXziQ93xl1wu3pur1AKjNxqMSfEHKPgs6wExdED+BTvBPnczbPXj1HiyvNMyvMZYTFaVlaIAQELwJWkV5yRkQJRKMQaO0gQjBhaNeMBWhwjEBtAayYWRUSUBWj/ACjvJAXgJRHl9WlgUb7wXf8A0+ogVNfhKsQTYb7mbsh4flMmIUk5fWvoSq8R1n7ddQSCqimnge1Uf+49P3TgmjddAMzIdbfeqVLIf3J0ulMQWd3AF/4SotuOdvY0vfSCHy7pSqAPYbK9gf2cOl1Pm7WhqM1elndUv2SzsBrYD7INv6rGe0q9AUnpojIOwiAaDgova404zy3RuHz4hV4KqL5tqfgVn0KpxkZryDdVKQY5MqGxAYKAVvyIFxJ9Xqyl3Dke0S6ODp2hYmwJOnI8b34z1FSkDOR0r1fStdiAGtYkZge7UHXzg2p6WBFBrKTmddhcKFOckngOzbxInnOmvZLhKeHcrnsminVQLt2rHe9rXm5upelvaPy3BPy1mrC9UqSDUXNt7L8ABYSjwmJwOQKSSyHW4N/G55338ZXXpa668rbEcCLz3XTXQStSIQWdBcd/MeBBI908VhT2ghF98oObzpkgg91rjfvkreN4ew6h9NZh+jObug/gyfvIPu95X/DbkZ7ImfF3dlcOnYdWzJb7pGthc+WvnuZ9U6u9MLiaK1BYOOy6/gcDXyO47jIzlHVJiA9fCELwyTC4lZogy0ev9ohKOVi+ikYhgLMDcMBrcaj4zzfSHRNZXZ1a5JuSBv4rPbyBpg3kuMvbWOVnT56uOsbOuU8xt56TSe0Lghhz38u6emx/Q6ODmXzGn+88xjugnpEshPlp/vOOXh+8a7Y+adU/ERXtrMadI2bLVSx5jQ+OXjNlJ0IuHS3G7BbeN/nOVxs7dplL09V0Iw9imt7FwdtO0SL+RGnhOlOH1cHZqMPsu4ZeF7KEJtwBI91p2809eP6x48v2piF+/wCEUVpWVwPCNdYrWvGsBsIlEZgg0lEgIWj9evhEZACNDeDDfy+UFEB2hAiStAAI7RWkgIAJaqyNpbSGnrvgTRJaikW0+O45yyjTOgttrNqUQOUKwexuNBbuJ/Ocjp2qadKowsGtlQ72dyKabcM7qfKemalbbj60754br5jMgRBqyhqrAEbm9Kklv2mLsO+lKPHMVDllHYDBhr9zDiyb83OXykcKm99CFRD4ufav7rKP7UZpAXQ7aU723VP4Ws1+TPbzBkarkUydmftX5PUIsfJMn7php2Op9DNUZ+BLMOGmyf3SnunsnX6TidVMLkpE230HgPXwnc75GarI1kSssIiAhESsrKy+QaBkxNPiJ8+63dFZG9qn2XIv+y/3WHwE+k8PnOb0h0SK1Nka1jYi/NSGGo1ELHyjEVb9o7kAnx4z0fUDN+kOyghGXK3K+mXzGv7xm/BdRkDFnYsNwLkD6n3z1OCwCU1CooFtrC0Lcm1IEwAttAmRklPvjlYHH1ykpQiIQaKAW5yt6QI2lgiIgcjG9CpU1IF+czUOrVNSG+1yvtO+IhCq6FMKLCW3ig0IRi9cZK8ryQNcFOsZilE7xEQtJrAix/ONRcwPKTS15AifmT8YWi4R2gOMcJGTgAk0EQlqITAarwmimmo08uPhKxptvzM00U1vwvCr1p5jY7AbA8e88d5tUTPStt5W77e+aRArcd9gJ8g6b6QNWs9bcXFRRobj+LwqDjr/ABtubOJ7vrv0gEoGnexqghjfUUlsap3BFwQgI2aos+fYbD1XZiiZ6igVmQWFnc5aCdo2siXc8rHnCxn9kPsE3H8USPwofa4lx4toPdE6l6iLxv7QgbXa4A8hmHumhKQVTlN0UGmrcGRGBqVNfx1Tp3U2nQ6oYQvUNRhoO3t4BR7go/smVa9fhaORFT8IAPjufiY2l1/jeUuJGEYGO0RgRMixvJSEAtGYoGQIiK2slaKURYQY/nG0rqbSAXb3yfr164yqTB9fCAjBYNAwEYXivC8oIGAMV4A0b6yMcBRWjiv3/OUabwEDGBAkRrHwi7o22gAkhxkU2jU6H1xH0gOMmMQtAAIwN4lNv9ZLjAsUASep1layxNoFlMa92/umtNCOV/WndM1PU257zXSWxPESK1ot9/V4EhQSeFybXO3cNTpGjXl0D5d1jxa4hi5bsZmuCtlZaRbJQNRmCoWcMzZhazqCRlBltZKmGwq0xb9KxbWuGBGZwGqPcbpSpLbMOQPGej6b6o06rNUpEU6javxSof215/tCxnlq4qYdWpVKbINdM3YdT9v2T2bISLgjsk5tSYa3HEx6BQtFNAVTTiKaGygjmx1I5s8950JgvZ0V07Tdo/l+fvnmer+H/SsS9Zvssc5HBEBy06Y59m39pnnt2NzKlUMfXzkCOMscaytoZLgZAnbzkzIGQRvImSkYDEjeDRWgMRGBMTmQBkX2jXY7yBMAAjvIiMGUPNETCL6wFC8IjAINA+vXnETAkotAmJW+UGgImK8ZMjmlGsSSysSV/XrxgSEdohGIEox+f5d8ifX+kYgSvGDIZpIQHbSSEjwjWBYu0mhkZK8C5JqocOI4/L14zNSFpswwv3EyK1UbcPXlL5EeMYMAEqqoGBDAEciLgy6U1G4DeByaHRdOgX9mAquVJWx0I5Hlrt4ytjr4TZiSST4flMjLv7oFTgSn5yxzbT14yBEqIMJGSMix5SCMjeTMrJ1gBMQjJ4cYiICUxPvJDQSPPSBC8JFhtGsBAx3hbSEAvCRzSUCJhAxCA7wMB/rBt4CO8ciD3H5fPX4QN+4e8/SVTMM0iV7yfcPl9YW8fefrCNHr4xnb13QhCRNNpL6j8oQg+w+3nGYQhUpJOHlCEA+kYihAtXYSQ+sIQLaf2R5/ITpYTfy+kISK1D7R8JOOEAlNTeEIGCr9Jjb8z8oQgVVN/fGNvdCEqKGkeEISBGVn17oQgI/ajX8oQlUnkG393yihIiP0iG0IQJDjI8/L84QkoXD13wXj65QhLQSJ3MIQKa7HOBfS23D3S6mNDFCItS5+uMk31hCVFbSMIQP/2Q==");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[5]
			{
				new CardInfoStat
				{
					positive = false,
					stat = "Damage",
					amount = "-20%",
					simepleAmount = (SimpleAmount)6
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Ammunition",
					amount = "+6",
					simepleAmount = (SimpleAmount)3
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Attack Speed",
					amount = "-65%",
					simepleAmount = (SimpleAmount)3
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Bullet Speed",
					amount = "+75%",
					simepleAmount = (SimpleAmount)2
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Reload Time",
					amount = "-10%",
					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("projectiles", delegate(float val)
		{
			gun.numberOfProjectiles = Mathf.Max(1, (int)val);
		});
		dictionary.Add("bursts", delegate(float val)
		{
			gun.bursts = (int)val;
		});
		dictionary.Add("timeBetweenBullets", delegate(float val)
		{
			gun.timeBetweenBullets = 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["damage"](0.8f);
		dictionary["ammo"](6f);
		dictionary["attackSpeed"](0.35f);
		dictionary["bulletSpeed"](1.75f);
		dictionary["reload"](0.9f);
	}
}
public class BoltActionRifle : 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 = "Bolt Action Rifle";
			val.Description = "A old bolty, solid and reliable";
			val.ModName = "GunCards";
			val.Rarity = RarityUtils.GetRarity("Rare");
			val.Theme = (CardThemeColorType)1;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBw0NDQ0PDQ0NDQ0NDQ0NDQ4NDQ8NDQ0NFREWFhURFRUYHSggGBolGxUVITEhJSk3Li4uFx8zRDMtNygtLisBCgoKDg0OGg8QGy0mHR0tLS0tLSswLy0tLS0tKystKystLSsuKy0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tNy03K//AABEIALcBEwMBIgACEQEDEQH/xAAcAAEAAQUBAQAAAAAAAAAAAAAABwEDBQYIBAL/xABLEAACAgECAwMIBAUSBwEAAAAAAQIDBAUREiExBgdREzJBYXGBkbEUInKhI0JVwcIIFiQzQ0VTYnOCkpOUorLR0/A0RFJUZMPSFf/EABcBAQEBAQAAAAAAAAAAAAAAAAABAgP/xAAfEQEBAAIDAQEAAwAAAAAAAAAAAQIREhNRAzEhIkH/2gAMAwEAAhEDEQA/AJxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCoAAAAAAAAAAAAUKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoVAFAVAAoVAAAAAAAAAAoVAAAAAABQqAAKFQBQFQBQFQBQFQAAAFCoAFAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQ1rVe8DRMOThdqNHHFtShTxZM4vwarUtn7Rsk22TjjxcPEuJLdx3XFt47H0cpd4ety1PVsnJqm508qcecIurfGjzjumk99299zwYPaLUIVwx68/Nppp4lCFWVbCCcnvslFpeJnlGuNdeA5a0jtJq+HOduNqOTx2razy9v0iL6c+GxSW/Jc9t9jLx7xO0n5Qj78fE/wBInPFrqy8dHHzxx8V8Uc5z7w+0UlwvPST3T4aMXptt/BGqV6PQ3wqXNfiqUnt94v0kJ8sq64TT6Pf2FvJyIVVzsslwwrjKc5bN7RS3b2XNnM2nSz8aCrxtRz8elebVTlWwrjzb5R3e3N+gv5Fmo3RUb9RzsiHFGTrvyZ21OUXum4S3T2aT6dUTtxXpzTjh9vdIur8ostVwcuFO+q2jd7J/jxXij1Q7X6U+moYm/ruivmQBdTfJrikm+fNwr3+PAfH0C3ZtzXr5QX6JezH06cvHSOmarjZkZyxro3RhNwlKO+3Ftvy36rZ8muTPacr5Gn2WOLm3+DjwpOXJdfDbxLaxbY9LbIey2yPyZL9Is+NdWA5VVmXHpmZK+zlXr5SL0c3UF5uoZy9mbkr9MnbF6K6jKnL0Na1WPTU9QW3/AJuS/nM+32h1eyUIS1bOhH68k1lyr+tGLaTk36unpNTPbOXysm3TwOd8bvI16mCg82q1xbXHZTTZJ++KW56K+87XpPaN+K34PHgvzmtsca6ABzxb3ldoVbv9MoXClvT9Ho8nJ8/Ttv8AefFXeR2h43ZLNqUXvtS6MZwXJdGlv95U06KKHPse8rX5NKOTTu3skqKObfTrE2xV9un+6Y8ffhf/AAwiUsrIrprnbbONdVcJTssnJRhCCW7k2+iSGNkV21wsqnCyqyMZ12QkpwnBrdSi1yaa9JDOvaB2vzlXXk312RjJyUKsvFpXHy2ckq1xerrsbj3d6Zr2I/J6nbU8OGPwUVqyqyyFnEtt3CuPo4urfoIN6ABRjO0Gv4emUeXzb40VcShFtSlKc30jGMU3J8n0XobNQyO+PRI+bLLt+xjSjv8A03E1D9UQpLL0puT8m6cpRj6FJTr4ml4tOPwRFj6HPPOyu3z+cym6m/I78cBb+TwM6fhx+QrT+EmYy/v1lv8AgtKW3jZmbfcq/wA5EL39SLd03GO/L0L0NGZnlXS/PGJSye+zVJftOFg1/bd13ylEx13e7rs99p4lX8ljbtf05SNFoWyhJzi25tNbpSiltz2XoLM7F5WTj03f1ufTw2/30F5fiSYa3pt8+8ntBJ8S1KfXlw0Yqj8FWZjH75tZrr4Z1YN09uVs6bIy9slGaT9yRHNEuF7t8n4M+rslR57+7YzLlvTVxxs22DtD2x1bU01l5k/Iy/5en8Bj7eDjHz19ps1+LhHly5FzSPITvg876TLF3flI4kq43PwS4+XtJo7O4XYnKq8jTVjwtnHh4c+VsMjja/FnY+b+wzXHf7Wecx/IhO2cZKMYtedu/QttuW/v2LEIR2nxcKXCuTkm3JLqmifdL7KaNHF0eP0HFsdN9UdSVlNNuUrnjzi1e2nLhV8obpPh6PzEzKXaLpOTq+F9DxcO36LXlLOdFNUseFUq+GFVvCuF2cUk1F80lJ8k+euH8Od+kt3pzviZsYRSlJN7c9+Z6FqtST5r4HVFHZzTa/2vT8GvbpwYlMPlE9teFTDzaao/ZrivkidUa7745OrznPbydc5t8vqQlLf4Huq0fU+PijpWo7t8v2Dk8O7f2fYdUpJdORUs+cS/a1zRToevy5R0jL/nUcH+LY9Mey3aaXTS5+rinjw+czo4Drh3ZOeK+xfaqW37AhFeM8nFS+6xs9kO7/tRJbOGHD25EfzJk9gvXindkgaPdb2jf7vp8PbkXfmrZej3Qa1JLymdgL2O+f6CJzA4RO3JCcO5fUPxtTxo/Zx7JfpIvw7k8h+drEdvCOE387SZQXhDty9RJX3JQ/H1W6X2MauHzkzB9ou5PO5vDzKciuL4oxyG6LVy/ixcZfcTuWsqDlXZFNRcoTSk+kW0+bHGJfplf4tc64XYrFzM7T8LAlmK11Su1h5F1N9eBGMlFwrlXCKm209nu01KD6NkiruW0n/uNR/rqP8ASPN3K6FOlZGTvXKlu7Fpsjunao2R4ppbeY+Bbc9+vIlMkm/5pcrLqVGL7kdJdilLI1GUVycHdSk/a1Wn8D26T3P6Ni5Mb9sjIUOLhx8mdduPzjw848G8tt91u+pIINaYt2wX6zNH/JeB/ZKf8i5+tPSvybgv24tT/MZkFGEx+yGk1XRuq03CruhJThZDHrjOE10kmlyZmwAAAAhj9UbDlpE/+mWbH4+Qf6JEUZe8mP8AVHVv6Lptmz4Y5N8G/QnKtNL+4/gQpVY5OMa1Kc57KEIxcpyb9CS5tnL6Tbv8ctbemb5eHuR57LFs90nvy22RunZ7ur1vP4ZWVRwKXs+PL3jY16ql9bf1S2JN7OdzOk4vDPLdmo3LZvyv4PHT9VUevsk2THBrL6xA+jaXmZs3XgYt2RPdKXkq3KMfDjl0j72SR2e7kc27hnqWVXiQ5N046V97Xg5+bF+ziJ0xMSqiuNdFVdNUFtGuqEa4RXgorki8dJjHG52tM0nut0HFjssGGRLbZ2ZcpZEpevZ/VXuSLtHdnoNd6vjp1TnF8SjKds6U/HyUpOH3G3Aumd1g9S7H6Tl7u/T8ScmtnYqY127fykdpL4mja93NY8+KWnZMqH/A5Kd1L9SmvrR9r4iVQS4yrMrHO+V2L7Qae94407YQXJ4/k82rb1VSTf8AcPbp3ejq2C1TfTjTUFzqtx3iWpeyHCo/0Seyxl4dN8eC+qq6D/FtrjZH4NGeFn5Wucv7EaYHfPjSS+k4GRW/T5Cyu9e363AZ/F7z9Fs23yLKm/RZjXcvfGLX3nozu7jRL+bwo1Pxx52UJfzYtR+4wGZ3PYUt3Rl5VTfRWKq6C920X94/vD+lbbj9stIs83UsNeqd8Kn8JNMvX9qNMrjxT1HCjFvZP6VTzfgufMjTI7mMj8TUqZL+Pizh8psxl/c7qdT46rsO977cPFZU9vHdxf8Atjll4ccfUqx7baM/3yw19q6MX95X9emj/lLD910WRfV3SapKPFK3Brm294Oy2W385QLNndbrUOiwbF/EyrE/71aLvLw44+pXXbPSPyjif1sT7j2v0l/vjh+++C+bIZt7Ba/Dppys9deXjfpTQq7D69N7PTJQXjPKxNvusbHK+Lxx9TbT2j02zzM/Cm/COVS38Nz1LUcbr9Io2/lYf5kO4vdNqV3O+zDx0/RxTumvckl956l3K2PrqNK9mHKX/sQ5ZeJxx9SlZruBDz83Ej9rJqj82WpdpdMXXUML+1Uv85H9HcxUvP1Gxr08GNGv5yZmtO7qdKp2drysprn+Fu4I/CpR5DeXiax9ZbL7d6TVsllK6be0a8eE7pzfgtls37zHal/+vrFbpoqlpOFatrb8nZ51tT6xhUvM36fWfx5p7Lpeh4WH/wALi0UNrZyhWlZJeuXV+9mRNav+s7n+PHo+m04WNTjUJxqogoQ3e8n4yk/TJvdt+ltnsAKgAAAAAAAAAAPBrejYuo48sbMpjfRNpuEnKP1k901KLTi/WmW9H7PYGAtsPDx8fls5VVRjOS9cur97MmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAChUAAAAAAAAAAAAAAAAAAAKFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKFQBbpuhYuKucZxUpR3hJSXFGTjKO69Kaaa9DRcNb7S5dmDwSxI1VPInfbc/olmQ7ro1LhTjW03KXDGO/XkgNkBq12tZiyMqHBGtVYH0iup1Ocnf5LiceJS+ttLlyXo6n3g6znTaV2N5CX0vFolHhlODrnTxTnCf40eLpJpbdGk0y6TbYrpuK4uTjHnLx4fFFabYWQjOuUZwnFShOLUoyi1ummuq2Na0zPvzb78bLoreG68iEJTxrVDUIeUUXJKfKuMV9Vxlvx8XEvq9c9a3W/wa3ct961/jXh+f29Yq7fcoL0b7N83skl1lJ+hIsYmpY9z4a765yST2jJfWT6Sj4xfiuRi+1OPOeDZ5KyC4uGV0pxk/K1784Lbfb2NNPmuW/EtSolZPIpqqjCNrtsb+pGMpxjbJ8MX5y61tvwbXrLpLUmgAigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoefCxHT5Te2252WztcrZJ8O/SuKSSjGKSSSXo3e7bbAD0gADzahDjrlVvOLtjKCdc3VOO685TXOLXXc+8WlwilKcrJ8MVOySipWNLbiaSSXsS25gAWc7Gi4y334G+KaXJxa58cfX8/b1xuB2WxqLK7a7L+KuDhUnOPDCMkk9lw+C29/s2ADPAAD/2Q==");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[5]
			{
				new CardInfoStat
				{
					positive = true,
					stat = "Damage",
					amount = "+100%",
					simepleAmount = (SimpleAmount)4
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Reload Time",
					amount = "+30%",
					simepleAmount = (SimpleAmount)1
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Bullet Speed",
					amount = "+100%",
					simepleAmount = (SimpleAmount)3
				},
				new CardInfoStat
				{
					positive = false,
					stat = "Attack Speed",
					amount = "+125%",
					simepleAmount = (SimpleAmount)7
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Ammunition",
					amount = "+2",
					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("projectiles", delegate(float val)
		{
			gun.numberOfProjectiles = Mathf.Max(1, (int)val);
		});
		dictionary.Add("bursts", delegate(float val)
		{
			gun.bursts = (int)val;
		});
		dictionary.Add("timeBetweenBullets", delegate(float val)
		{
			gun.timeBetweenBullets = 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["damage"](2f);
		dictionary["reload"](1.3f);
		dictionary["bulletSpeed"](2f);
		dictionary["attackSpeed"](2.25f);
		dictionary["ammo"](2f);
	}
}
public class CaliforniaCompliant : 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 = "California Compliant";
			val.Description = "Why???";
			val.ModName = "GunCards";
			val.Rarity = RarityUtils.GetRarity("Common");
			val.Theme = (CardThemeColorType)3;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("data:image/jpeg;base64,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");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[4]
			{
				new CardInfoStat
				{
					positive = true,
					stat = "Reload Time",
					amount = "+25%",
					simepleAmount = (SimpleAmount)1
				},
				new CardInfoStat
				{
					positive = false,
					stat = "Damage",
					amount = "-20%",
					simepleAmount = (SimpleAmount)5
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Ammunition",
					amount = "+2",
					simepleAmount = (SimpleAmount)1
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Attack Speed",
					amount = "-10%",
					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("projectiles", delegate(float val)
		{
			gun.numberOfProjectiles = Mathf.Max(1, (int)val);
		});
		dictionary.Add("bursts", delegate(float val)
		{
			gun.bursts = (int)val;
		});
		dictionary.Add("timeBetweenBullets", delegate(float val)
		{
			gun.timeBetweenBullets = 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["reload"](1.25f);
		dictionary["damage"](0.8f);
		dictionary["ammo"](2f);
		dictionary["attackSpeed"](0.9f);
	}
}
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;
	}
}
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInPlugin("addsmoreguncards", "GunCards", "0.0.7")]
[BepInProcess("Rounds.exe")]
public class GunCardsPlugin : BaseUnityPlugin
{
	private const string ModId = "addsmoreguncards";

	private const string ModName = "GunCards";

	private const string ModVersion = "0.0.7";

	private const string CompatabilityModName = "GunCards";

	private void Awake()
	{
		CardRegistry.RegisterCard<AssaultRifle>(hidden: false);
		CardRegistry.RegisterCard<BoltActionRifle>(hidden: false);
		CardRegistry.RegisterCard<SubmachineGun>(hidden: false);
		CardRegistry.RegisterCard<MachinePistol>(hidden: false);
		CardRegistry.RegisterCard<SmallCaliberMG>(hidden: false);
		CardRegistry.RegisterCard<HighCaliberMG>(hidden: false);
		CardRegistry.RegisterCard<CaliforniaCompliant>(hidden: false);
	}

	private void Start()
	{
		//IL_0005: Unknown result type (might be due to invalid IL or missing references)
		new Harmony("addsmoreguncards").PatchAll();
	}
}
public class HighCaliberMG : 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 = "High Caliber MG";
			val.Description = "Definately not California Compliant";
			val.ModName = "GunCards";
			val.Rarity = RarityUtils.GetRarity("Epic");
			val.Theme = (CardThemeColorType)0;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("data:image/jpeg;base64,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");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[5]
			{
				new CardInfoStat
				{
					positive = false,
					stat = "Damage",
					amount = "-20%",
					simepleAmount = (SimpleAmount)5
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Ammunition",
					amount = "+5",
					simepleAmount = (SimpleAmount)3
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Attack Speed",
					amount = "-20%",
					simepleAmount = (SimpleAmount)5
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Reload Time",
					amount = "+200%",
					simepleAmount = (SimpleAmount)4
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Bullet Speed",
					amount = "+19%",
					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("projectiles", delegate(float val)
		{
			gun.numberOfProjectiles = Mathf.Max(1, (int)val);
		});
		dictionary.Add("bursts", delegate(float val)
		{
			gun.bursts = (int)val;
		});
		dictionary.Add("timeBetweenBullets", delegate(float val)
		{
			gun.timeBetweenBullets = 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["damage"](0.8f);
		dictionary["ammo"](5f);
		dictionary["attackSpeed"](0.8f);
		dictionary["reload"](3f);
		dictionary["bulletSpeed"](1.2f);
	}
}
public class MachinePistol : 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 = "Machine Pistol";
			val.Description = "SKKKKKRRRRRRRRRRRRRRRRRAAAAAAPPPPPPPP";
			val.ModName = "GunCards";
			val.Rarity = RarityUtils.GetRarity("Uncommon");
			val.Theme = (CardThemeColorType)1;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("data:image/jpeg;base64,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");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[3]
			{
				new CardInfoStat
				{
					positive = false,
					stat = "Damage",
					amount = "-20%",
					simepleAmount = (SimpleAmount)5
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Ammunition",
					amount = "+3",
					simepleAmount = (SimpleAmount)2
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Attack Speed",
					amount = "-50%",
					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("projectiles", delegate(float val)
		{
			gun.numberOfProjectiles = Mathf.Max(1, (int)val);
		});
		dictionary.Add("bursts", delegate(float val)
		{
			gun.bursts = (int)val;
		});
		dictionary.Add("timeBetweenBullets", delegate(float val)
		{
			gun.timeBetweenBullets = 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["damage"](0.8f);
		dictionary["ammo"](3f);
		dictionary["attackSpeed"](0.5f);
	}
}
public class SmallCaliberMG : 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 = "Small Caliber MG";
			val.Description = "Small bullets, BIG damage";
			val.ModName = "GunCards";
			val.Rarity = RarityUtils.GetRarity("Rare");
			val.Theme = (CardThemeColorType)0;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("data:image/jpeg;base64,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");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[5]
			{
				new CardInfoStat
				{
					positive = false,
					stat = "Damage",
					amount = "-50%",
					simepleAmount = (SimpleAmount)7
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Ammunition",
					amount = "+12",
					simepleAmount = (SimpleAmount)3
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Attack Speed",
					amount = "-60%",
					simepleAmount = (SimpleAmount)7
				},
				new CardInfoStat
				{
					positive = false,
					stat = "Reload Time",
					amount = "+110%",
					simepleAmount = (SimpleAmount)4
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Bullet Speed",
					amount = "+39%",
					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("projectiles", delegate(float val)
		{
			gun.numberOfProjectiles = Mathf.Max(1, (int)val);
		});
		dictionary.Add("bursts", delegate(float val)
		{
			gun.bursts = (int)val;
		});
		dictionary.Add("timeBetweenBullets", delegate(float val)
		{
			gun.timeBetweenBullets = 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["damage"](0.5f);
		dictionary["ammo"](12f);
		dictionary["attackSpeed"](0.4f);
		dictionary["reload"](2.1f);
		dictionary["bulletSpeed"](1.4f);
	}
}
public class SubmachineGun : 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 = "Submachine Gun";
			val.Description = "Small and fast, spray and pray!";
			val.ModName = "GunCards";
			val.Rarity = RarityUtils.GetRarity("Rare");
			val.Theme = (CardThemeColorType)1;
			val.Art = DeckSmithUtil.Instance.GetArtFromUrl("data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoHCBERERIRERESEhERERERERgYGRgYEBIRGBgZGRgYGBgcIy4lHB4rHxkYJjgmKy8xNTU1HCQ7QDs0Qi40NTEBDAwMEA8QHhISHjQhISQ0NDE0NDQ0NDQxNDQ0NDQ0NDQ0NDQ0NDQ0ND80MTQ0NDQ0NDQ0NDQ0NDQ0MTQ0MTQ0NP/AABEIAMIBAwMBIgACEQEDEQH/xAAcAAADAAIDAQAAAAAAAAAAAAAAAQIFBgMEBwj/xABFEAACAQMCAwQGBggEBAcAAAABAgADBBESIQUxQQYTUXEHIjJhgZFCgqGisdEUUmJyksHS4SNEU7KDwsPwFyQzNUNjc//EABYBAQEBAAAAAAAAAAAAAAAAAAABAv/EABoRAQEBAQEBAQAAAAAAAAAAAAARASExQQL/2gAMAwEAAhEDEQA/APY4ozFARkyjJgBijMRgSZJlGSYEmKMxQEYozFAUkypJgSZJlGSYAYjGYjAkxRmKBJiMZiMBRGOIwJgYQMBGSZRkmAoQiMBGKVJgEIQgbOYpREmAGTKMmAjAwigKSZUkwJMky5JgTAwMRgIyDLMkwJMkyjFAURjigSYpRkmAjJMoxGBMRjgYERRmEBGSZRkmAoo5JgBkxxQCEIQNqMRjiMCTJlGSYCMDOvXvqNNgtSrTRiMgMyhscs4J5TnyCARuDuPAiApJjiMCYjGZJgIxRmKApJlGQYBJjMUBQhFADJMZkmASTGYjAmBhAwIMIGEAMkyjJMCTFHJMBRS5JgKEIQNqiMcRgTJY4BJ5AZPlKiIzseR2MD52ueOVHubm8esytXdRTAO+jXso8AqKPjjxnrHoyvHrcPy7l9FxWRSeej1WA+8Z45xrhJQ61JFPvqqAYGlcN0P8vdPZPRcirwm3082euXPi/eON/gF+UDbDJMoyTAkyTE9dF2Z0B97AGcFW+oopZqtMKoJJLrsBz6wOcxTAt2vslZFZ2UVCAjFCEOeRz0EyD8YtBzuaA+un5wO6ZJmPrcetEQu1dNAOkuupkDYzp1KCM43xznUHa3hxGRdIce58/LTAzJimCfthw8c6/wBx8fhOlU7f2C9apGTuFXB+bQNphNUb0gcPA9qp8k/rnC/pFsB0qn4J/XA28xGaFd+kqiHU0qeqmBlw21QnPJMEry8cdZ1LD0oK1R++oaaWGNPSQagORpDesQds5O3SB6PMT2h4wLOktQoXLuKa9FDEE+sfgZrh9Jln/pV/kv5zAdq+3tK7t2t6dF1DlSzORkAEEacdc+PTMDOWfbz1m75AV0EoEwrFgyjSoY77EnP7J2my8C43SvabPTyCj6KitjWp5jl0I6+fhPBry+f1AqgjTnP0juwPw2mX7H9rG4c1UlFda2jXucro1Y04/ePOEe6ESZ5v/wCKQDhXtcDVpYhjhemTNy7O8fp31NnQFHpvoqoTlkbmCD1UjkfcfCFZYyTKMkwJkmUZJgOSZUkwFCEIG1RGVJMCZiu0zstldFThhRffqBjf7MzKzrXVWif8Go6f4qlNDMAzBtsAcznMD594jVt1pVS5b9I1U+72GgqMq2fqhZ0+Gdrq9BTTSoyKNbKfW2yuNIGcYyAc4yD8QeftLwgGpXVWJendvbquQDoXUASOpyOfLeY+jwCra3NIVwnraSMOGznGzDmPVJlRsFHt3WDpTruO7bu1qErrZRsdY1Hdh78zE3nauq1R9FQlS7adKKAVztsBttO+l+7vTVWIBenyYetndxoA9UDlMvf1aiqMVHG4GxI236CJxL1q447dOhA70nWhX1M7ENq+ifBJxvf3WkmqlcodjmmwXfPM6R1xM0bip1dz9Zp167sRuSdx1zC1h6nEbu60qEq1BT22TZB8B+M7a0rgjLUK+fEsq5+bCctLnOfMbhmusadbSV7t9JYPg1UA1DIz7fPBnYrXV049dA2M4DVKeAcY6MYmaceJBjhw6uf9Eeb/AJAwq0np4LaMEKvqMx0sAMkgrvnc/GZHE4b3ZCQcYIPw5fzlhWJrVKmfVGRjn63P5Tj11j9Efb+U5Xq7+3C2SpVqpRQanfOnLYXYEnJx4AydOOAtW8B8jLqPUYbAg/YPLJl3du9Ko1N9IdDgjWTzGRyXwInXbHiPvR04krV8R9n5yCKn634fnGzLn2l+TfnJLr+sv8P5tHVIq/64+ySyHq4+f9oGovj9ij85Pejxb7v5R0d13o61ZkZlKZcaj6775Ykdc9PdMzwXj9axqJc0SD3tNkdXyUfSxALDPtZAb6x8ZrqV8Ic74IC5AJ5HPw5fOM3e+wwgLFFOGC536jy6DMDfKvb29qqj06q0x7LqFXKuOYORuCMEfEdDPS+z3FReWtOuBhmBVx0V12YD3Z38jPn23ulCVQVUaghXb6Qdd/lq+c9j9Fr6uGg9O/q4+7/PMQbiZJlGSYBJMqSYChCEDa5rnbS+q29slWk2jFxSFQ//AF5OR8TgfGbHOCvRR1Kuiup5qwDKeu4O0Dxqt2/uN91Bztu3L4tOiO0S1XercVKaakCE92WfPirqCUPv6YE9vSxor7NGmvkij8BLNBMY0Jjw0jED5jublGouhQmozqwffJwWJOTvvqPynS4YVW5o6gSoZickn1cYM+jOIdjuHXFRqtW2Vnb2vWdVJ8cKQMzW+Lei61qVe9tqn6N6gQppLoMdVywIz78wPPrO6tabavWU8s41fKF9xdHzpzjbGRvty/n85t7eid+l4vxpn+qcTeimr0u6f8DfnLUjSP06JrpSOe825/Rbd/Rr258y4P8AtnA/oxvxye3b67D8VikaoK4zOQXAmff0c8SHJKR8nX+c4W7A8TH+XB8qlP8AqipGG74RiqsyL9iuJj/KOfJkP4NOvU7L8STc2df4KW/25i4sdZqg8ZwXbBqbrnmjfhOatwW9X2rS6H/Cf+SzE3jsgdGDI2GXSwIYHHUHcQTWKUj4Slq6SCOYOQR7QPuPSbBc3VSkQlNaeh2DJ6iswcKiMBkfrLy8p0LrjNy6PTLgI6lGVadNAQDnB0qDzH4ypXQcu+Cyu2eTHJ1Dlz6/2k903SmfnO/Qqa0UYI7tVQ7g5JLHP4y+6GMnGOpPKCsaLRz9EfOBtGHMqPLeZDp6owMg5wNRO/yG8TlUbSoDs6rpYHdXYKds7bZIO3MHGOcFcdLhTFNbEJqXWqlTqengnXtyXbrjORjIyR1/0L9r7v8AeZVA7M9R2Lu4YFt99sDAx9kVC2Z2VEVmd2CqoBLMxOwEHXSHDXZNasmkMVwfbLbb6dz1G/8AedKlQZjj3MeQ6Amez2Ho1tDTRq7XHfGmneBXUKr4yyrheWSRzM4O0/Y+1tLFmtl0slRWZnJdnVx3ZXPQDUCMdc+MlXryFqZQnUp25jnvjx/75z3vsDbrT4ZaaRjWjVG/edmY/l8J473eujVLe0ndsPcudOJ7V2M/9ts//wAFHyJgZkyTKMkyKJJlSTAUIQgbVEY5JgKIxmSYCMUcUAMkyjJMCTERKIigcZilGIwJijkwCeAdtFL3ddyrK7V6pKuAHAbSFGMnoOs9/ni1+4rcSZzurXZY+Hdq/wDSDEGncWuEq1ECEsA9QkeznVWcgajsMqV35bzq0apy6oo11dVMKPZVWbU2DnwGnyJm1cb4bRTh9lW0KLi5Z6lRxszoctg9Ppp8phuFWKPcUg9QUULFWcrqVNSsASMjbJGfAZPSa8Zzrio0GRXDElmYO/hkZwN+fM7xlOWfgJnrjgNanf07KqadN6lRU17lNLnIdf1s5O22+2032l6NbMe3WuXOMc0VQfHATP2xSPJQvukU7UKQ/Lc4yevlM/2Y4H33EqlncMWUJd0yR6umpTBVXGPA4bExFayKOyNnWpKkZzgg4I+YkpDU6Tnb2QfmJvnov4ejvWumAJpaaVP9lmBLt56cD6xmjC3bGT8JtXo644ltWe3qEKlyU0t0SqMgZ9zA4z0IHwRbfHqxmF7X09dhcj9VA/8AAyv/AMszTTiuKS1Eem3sujI37rAg/jIr58147wdHpup/3D8J7F2AuA/DLbH0FemfNXYfhieP31BqFR6dQEPTcowOx2yNs9CNx5z1r0ecOrW1giVhpZ3aqin2lRguAw6HYnHvjPD62cyTKMkwCSYzEYChCEDa5BjJkmAGTAxGAoGMyTAIo4oAZMqIwJIkGWZBgIyJZkQOC9rilSqVDypo7/wqT/KeHISO9qZ3S3rH3lnXul+Oqos9Y7cXXd2FXfBqFKY+s2W+6rTzTglsaj00x/613b0/OmhNaqB5aKfzlxN8X6QAEeztR/l7RAfNjp/6Ymf7J9lKF3wyka3eKzVq1RWQgNjIp4OQQR6gM1XttWNXiFw3NUYUxvgDQAh+8CZ672ete4tLakeaUKYb98qC32kxqfnxp/pKsDTW0u0zqoFaeo7t6uGQnxOQZutHiFN7dbonFNqIrE/qpp1H5b/KXxKwp3NJ6NVdSVBg9CD0IPQgzWbfsdUpr3acSuloAnSgCgrnfZunPoBI0wXZsJTr1OI1kZC4uHRSMPVq3FTvPVB+ilMUwW5amYc1xMJxGxqVO/4ktFmpa2YtkBNbvuVB9ZlDHGQMe/Yz0C37GWoOqq9xcHOSKlQlCfeq4z5GZu6sqdSi9BlApuhpkLsFUjA0gcsdPKEjwOtdPUG+yjbAGB9nOdcoMTu3tq9CrUoPzp1HQ+8qSMjzxOqRtNJ49l7FcZN3aIznNWke6q+LEAaX+suD55menk3o14l3V4aJPqXKFPcKiZZD8tQ+InrJmWnDUtabsHenTZ19liqll8iRkTkMoyTARkmUZJgEkypJgKEIQNoMUZiMCTEYzFADJjigEUcUAiMcUCTJMoyDARkyjJgef+k683oUAeQes48/UT8HmL7GUlSstZwAlpaV7t/EPWbQvlmlSB+tOh2tuWur+qEOc1FtqXhlSE+RfJ+M77VFo8Ku6yY/89crb0Oha0oju0H8CP8AxTWM61nh1ubq7pK25r1xr+sxZ8+WMz3Uzyf0a2BqXprNgrRpMQemtvUX7pJnq8yuEZJlGSYURQJizA8r9JHCzQuVul3p3OQ37NVQAfmMH+KaXUY/P5z2Xtzwape2qpRCmolVXAY6dS6WUgHx9YfKazwjsA7uHvCKdNf/AI0bL1D+067KPIk+UuazuMV6OuA1K9wt2wK0KD5U/wCpVHJV8Qp3J9wHjj1mTRopTRURVSmgCoqjCqo5ACUZGiMRjMRgIyTKMkwCSZUkwFCEIG0RGOKBMUvEmAjEY4oChCEBRGOSYCMgyzIMBTHcevv0W1rV/pJTOj99vVT7xEyM8+9KPE8LRtFO7HvqmOekZVB8TqPwEDSLRmy7rlnp0zo6lq9QinT+Op9f1DM328ZaH6Hw9DkWlugb31GAGT7/AFc/XMvsVw7XcW4cYSmX4hWJ5BaeqnQB+uar+WkzVuK3j3d5VrKCWr1SEHXSfURfPTpE18Z916X6NLIpaPVIwa1Q6f3E9Ufe1TcJ1eF2a29ClQXcUqaJnqxA3PxOT8Z2jMtEZJjMUCTEZRMkmBJkyi0ktAUIjUHjJNUQKMJHeiMOIDMmVmSYBJMqSYChCEDaTJlGSTARigTFADAxZiLQGYjJLyC0CyZBMktETAZMkmBaQziAO4AJJwACSegA5meI8Vu2v713BwKtTQhPKnSXYMw6AKNR+JnsfEaK1qVSkxZVqU2QldmAYY2nmXFOy1zaCoyKbhHQU9VMDvadNj/inQebFAUGCfbbOJcHae4Frwm4uVBR+JOKFuD7aWaLoQH/AIanfxcTDej/AId316jsMpbA1W8NfJB56jq+pOPtZx1LupRW3D07e2orSpow0srnGsEAnwRfqe+bn2Bse5tBUIAe4PeHAA/wxkIPllvry6zjbg0C84C0XwmWnKaokmuJxFTDR74FGvIasY+685WgeEo4S5PUxY852AnujxCOuEPhHoac+IYgcHde+MJObEWIpEiEcRkUSTKkmAoQhA2QtEWmPN2PGI3cDIF5OudEXEesmB22ecZqCdfePBgcxqSDUkaYtHvgMuZJY+MZT3wCQFmSZy4iMDgcHEw/E7ipgqh052znedu/u/oqfOYl2z74GsVOzFF2LsDqLaiVLAk5zkkHeeg2ip3aBVAAVQAOQAGABMGy56TL2bHQvlG7TMjuSYsxrIp4gFlASsSojTDTLxFAjTDTKgYEGEDCAGSZRkmAjJMoyTARkyjJgEIQgQs7KcoQgcv5zlWKEDkEqEICihCA4QhARnFX9lvIwhA19ucTQhIpLzmSs/ZEIQOxGkISo5VlwhARiMIQJgYQgQYQhADJMIQEZJhCAjJhCAQhCB//2Q==");
			val.Stats = (CardInfoStat[])(object)new CardInfoStat[5]
			{
				new CardInfoStat
				{
					positive = false,
					stat = "Damage",
					amount = "-40%",
					simepleAmount = (SimpleAmount)6
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Attack Speed",
					amount = "-85%",
					simepleAmount = (SimpleAmount)4
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Ammunition",
					amount = "+6",
					simepleAmount = (SimpleAmount)3
				},
				new CardInfoStat
				{
					positive = false,
					stat = "Reload Time",
					amount = "+50%",
					simepleAmount = (SimpleAmount)2
				},
				new CardInfoStat
				{
					positive = true,
					stat = "Bullet Speed",
					amount = "+50%",
					simepleAmount = (SimpleAmount)2
				}
			};
			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("projectiles", delegate(float val)
		{
			gun.numberOfProjectiles = Mathf.Max(1, (int)val);
		});
		dictionary.Add("bursts", delegate(float val)
		{
			gun.bursts = (int)val;
		});
		dictionary.Add("timeBetweenBullets", delegate(float val)
		{
			gun.timeBetweenBullets = 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["damage"](0.6f);
		dictionary["attackSpeed"](0.15f);
		dictionary["ammo"](6f);
		dictionary["reload"](1.5f);
		dictionary["bulletSpeed"](1.5f);
	}
}