Decompiled source of MeltonMadness v1.1.0

MeltonMadnessMod.dll

Decompiled 6 days ago
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using UnboundLib.Cards;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("MeltonMadnessMod")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("MeltonMadnessMod")]
[assembly: AssemblyCopyright("Copyright ©  2025")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("4d36d10e-7566-408f-a939-d4ea90a9a7a2")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyVersion("1.0.0.0")]
public abstract class BaseCustomCard : CustomCard
{
	protected override Rarity GetRarity()
	{
		//IL_0002: Unknown result type (might be due to invalid IL or missing references)
		//IL_0005: Unknown result type (might be due to invalid IL or missing references)
		return (Rarity)0;
	}

	protected override CardThemeColorType GetTheme()
	{
		//IL_0002: Unknown result type (might be due to invalid IL or missing references)
		//IL_0005: Unknown result type (might be due to invalid IL or missing references)
		return (CardThemeColorType)3;
	}

	protected override GameObject GetCardArt()
	{
		return null;
	}

	public override string GetModName()
	{
		return "Meltons";
	}

	protected abstract override string GetTitle();

	protected abstract override string GetDescription();

	public abstract override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers);

	protected abstract override CardInfoStat[] GetStats();

	public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
	{
		Debug.Log((object)$"[{((CustomCard)this).GetModName()}][Card] {((CustomCard)this).GetTitle()} has been added to player {player.playerID}.");
	}

	public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
	{
		Debug.Log((object)$"[{((CustomCard)this).GetModName()}][Card] {((CustomCard)this).GetTitle()} has been removed from player {player.playerID}.");
	}
}
public class Autism : BaseCustomCard
{
	protected override string GetTitle()
	{
		return "Autism";
	}

	protected override string GetDescription()
	{
		return "Why would anyone want this card?";
	}

	public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers)
	{
		//IL_000f: Unknown result type (might be due to invalid IL or missing references)
		statModifiers.sizeMultiplier = 2.5f;
		cardInfo.rarity = (Rarity)2;
		CardCategory meltonMadnessCategory = MetonMadnessMod.GetMeltonMadnessCategory();
		if ((Object)(object)meltonMadnessCategory == (Object)null)
		{
			Debug.LogError((object)("[" + ((CustomCard)this).GetModName() + "][Card] MeltonMadness category is null for " + ((CustomCard)this).GetTitle()));
		}
		else
		{
			Debug.Log((object)("[" + ((CustomCard)this).GetModName() + "][Card] Assigning category " + ((Object)meltonMadnessCategory).name + " to " + ((CustomCard)this).GetTitle()));
			cardInfo.categories = (CardCategory[])(object)new CardCategory[1] { meltonMadnessCategory };
		}
		gun.projectileSize = 4f;
		Debug.Log((object)("[" + ((CustomCard)this).GetModName() + "][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
		gun.spread = 0.1f;
		gun.recoil = 5f;
		gun.ammo = 1;
		gun.reloadTime = 5f;
		statModifiers.jump = 0.25f;
		statModifiers.sizeMultiplier = 0.4f;
		statModifiers.numberOfJumps = 1000;
		statModifiers.respawns = 1;
		statModifiers.movementSpeed = 0.3f;
		gun.bodyRecoil = 5f;
		gun.drag = 0f;
		gun.gravity = 0f;
		gun.projectileSpeed = 0.1f;
		statModifiers.gravity = 0.01f;
		gun.numberOfProjectiles = 50;
		gun.projectileSize = 0.1f;
	}

	protected override CardInfoStat[] GetStats()
	{
		//IL_0009: Unknown result type (might be due to invalid IL or missing references)
		//IL_000e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0015: Unknown result type (might be due to invalid IL or missing references)
		//IL_0020: Unknown result type (might be due to invalid IL or missing references)
		//IL_002b: Unknown result type (might be due to invalid IL or missing references)
		//IL_002d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0033: Expected O, but got Unknown
		return (CardInfoStat[])(object)new CardInfoStat[1]
		{
			new CardInfoStat
			{
				positive = false,
				stat = "Disabilities",
				amount = "A Lot More",
				simepleAmount = (SimpleAmount)0
			}
		};
	}

	public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
	{
		Debug.Log((object)$"[{((CustomCard)this).GetModName()}][Card] {((CustomCard)this).GetTitle()} has been added to player {player.playerID}.");
	}

	public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
	{
		Debug.Log((object)$"[{((CustomCard)this).GetModName()}][Card] {((CustomCard)this).GetTitle()} has been removed from player {player.playerID}.");
	}
}
public class CandyShield : BaseCustomCard
{
	protected override string GetTitle()
	{
		return "Candy Shield";
	}

	protected override GameObject GetCardArt()
	{
		return null;
	}

	protected override string GetDescription()
	{
		return "A sugary shield protects you, but reloading takes longer.";
	}

	public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers)
	{
		//IL_001a: Unknown result type (might be due to invalid IL or missing references)
		statModifiers.health = 200f;
		gun.reloadTime = 3f;
		cardInfo.rarity = (Rarity)2;
		CardCategory meltonMadnessCategory = MetonMadnessMod.GetMeltonMadnessCategory();
		if ((Object)(object)meltonMadnessCategory == (Object)null)
		{
			Debug.LogError((object)("[" + ((CustomCard)this).GetModName() + "][Card] MeltonMadness category is null for " + ((CustomCard)this).GetTitle()));
		}
		else
		{
			Debug.Log((object)("[" + ((CustomCard)this).GetModName() + "][Card] Assigning category " + ((Object)meltonMadnessCategory).name + " to " + ((CustomCard)this).GetTitle()));
			cardInfo.categories = (CardCategory[])(object)new CardCategory[1] { meltonMadnessCategory };
		}
		Debug.Log((object)("[" + ((CustomCard)this).GetModName() + "][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
	}

	protected override CardInfoStat[] GetStats()
	{
		//IL_0009: Unknown result type (might be due to invalid IL or missing references)
		//IL_000e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0015: Unknown result type (might be due to invalid IL or missing references)
		//IL_0020: Unknown result type (might be due to invalid IL or missing references)
		//IL_002b: Unknown result type (might be due to invalid IL or missing references)
		//IL_002d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0033: Expected O, but got Unknown
		//IL_0035: Unknown result type (might be due to invalid IL or missing references)
		//IL_003a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0041: Unknown result type (might be due to invalid IL or missing references)
		//IL_004c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0057: Unknown result type (might be due to invalid IL or missing references)
		//IL_0059: Unknown result type (might be due to invalid IL or missing references)
		//IL_005f: Expected O, but got Unknown
		return (CardInfoStat[])(object)new CardInfoStat[2]
		{
			new CardInfoStat
			{
				positive = true,
				stat = "Health",
				amount = "+100",
				simepleAmount = (SimpleAmount)0
			},
			new CardInfoStat
			{
				positive = false,
				stat = "Reload Time",
				amount = "Slower",
				simepleAmount = (SimpleAmount)0
			}
		};
	}

	public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
	{
		Debug.Log((object)$"[{((CustomCard)this).GetModName()}][Card] {((CustomCard)this).GetTitle()} has been added to player {player.playerID}.");
	}

	public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
	{
		Debug.Log((object)$"[{((CustomCard)this).GetModName()}][Card] {((CustomCard)this).GetTitle()} has been removed from player {player.playerID}.");
	}
}
public class HoneyPie : BaseCustomCard
{
	protected override string GetTitle()
	{
		return "Honey Pie";
	}

	protected override GameObject GetCardArt()
	{
		return null;
	}

	protected override string GetDescription()
	{
		return "While it was filling, was it really worth it?";
	}

	public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers)
	{
		//IL_000f: Unknown result type (might be due to invalid IL or missing references)
		statModifiers.sizeMultiplier = 2.5f;
		cardInfo.rarity = (Rarity)2;
		CardCategory meltonMadnessCategory = MetonMadnessMod.GetMeltonMadnessCategory();
		if ((Object)(object)meltonMadnessCategory == (Object)null)
		{
			Debug.LogError((object)("[" + ((CustomCard)this).GetModName() + "][Card] MeltonMadness category is null for " + ((CustomCard)this).GetTitle()));
		}
		else
		{
			Debug.Log((object)("[" + ((CustomCard)this).GetModName() + "][Card] Assigning category " + ((Object)meltonMadnessCategory).name + " to " + ((CustomCard)this).GetTitle()));
			cardInfo.categories = (CardCategory[])(object)new CardCategory[1] { meltonMadnessCategory };
		}
		gun.projectileSize = 4f;
		gun.gravity = 4f;
		gun.knockback = 15f;
		statModifiers.gravity = 3f;
		statModifiers.health = 50f;
		Debug.Log((object)("[" + ((CustomCard)this).GetModName() + "][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
	}

	protected override CardInfoStat[] GetStats()
	{
		//IL_0009: Unknown result type (might be due to invalid IL or missing references)
		//IL_000e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0015: Unknown result type (might be due to invalid IL or missing references)
		//IL_0020: Unknown result type (might be due to invalid IL or missing references)
		//IL_002b: Unknown result type (might be due to invalid IL or missing references)
		//IL_002d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0033: Expected O, but got Unknown
		//IL_0035: Unknown result type (might be due to invalid IL or missing references)
		//IL_003a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0041: Unknown result type (might be due to invalid IL or missing references)
		//IL_004c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0057: Unknown result type (might be due to invalid IL or missing references)
		//IL_0059: Unknown result type (might be due to invalid IL or missing references)
		//IL_005f: Expected O, but got Unknown
		//IL_0061: Unknown result type (might be due to invalid IL or missing references)
		//IL_0066: Unknown result type (might be due to invalid IL or missing references)
		//IL_006d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0078: Unknown result type (might be due to invalid IL or missing references)
		//IL_0083: Unknown result type (might be due to invalid IL or missing references)
		//IL_0085: Unknown result type (might be due to invalid IL or missing references)
		//IL_008b: Expected O, but got Unknown
		//IL_008d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0092: Unknown result type (might be due to invalid IL or missing references)
		//IL_0099: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a4: Unknown result type (might be due to invalid IL or missing references)
		//IL_00af: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b1: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b7: Expected O, but got Unknown
		return (CardInfoStat[])(object)new CardInfoStat[4]
		{
			new CardInfoStat
			{
				positive = true,
				stat = "Knockback",
				amount = "Yummy",
				simepleAmount = (SimpleAmount)0
			},
			new CardInfoStat
			{
				positive = false,
				stat = "Big",
				amount = "More",
				simepleAmount = (SimpleAmount)0
			},
			new CardInfoStat
			{
				positive = false,
				stat = "Gravity",
				amount = "Some more",
				simepleAmount = (SimpleAmount)0
			},
			new CardInfoStat
			{
				positive = false,
				stat = "Fat Bullets",
				amount = "More",
				simepleAmount = (SimpleAmount)0
			}
		};
	}

	public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
	{
		Debug.Log((object)$"[{((CustomCard)this).GetModName()}][Card] {((CustomCard)this).GetTitle()} has been added to player {player.playerID}.");
	}

	public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
	{
		Debug.Log((object)$"[{((CustomCard)this).GetModName()}][Card] {((CustomCard)this).GetTitle()} has been removed from player {player.playerID}.");
	}
}
[BepInPlugin("com.chris.metonmadnessmod", "MeltonMadness", "1.0.1")]
[BepInDependency("com.willis.rounds.unbound", "3.2.13")]
public class MetonMadnessMod : BaseUnityPlugin
{
	private static CardCategory meltonMadnessCategory;

	private void Awake()
	{
		Debug.Log((object)"[MetonMadnessMod] Plugin loaded, starting initialization...");
		InitializeMod();
	}

	private void InitializeMod()
	{
		Debug.Log((object)"[MetonMadnessMod] Initializing mod...");
		if ((Object)(object)meltonMadnessCategory == (Object)null)
		{
			Debug.Log((object)"[MetonMadnessMod] Creating MeltonMadness category...");
			meltonMadnessCategory = ScriptableObject.CreateInstance<CardCategory>();
			((Object)meltonMadnessCategory).name = "MeltonMadness";
			Debug.Log((object)("[MetonMadnessMod] Custom category created with name: " + ((Object)meltonMadnessCategory).name));
		}
		Debug.Log((object)"[MetonMadnessMod] Registering HoneyPie card...");
		CustomCard.BuildCard<HoneyPie>();
		CustomCard.BuildCard<Autism>();
		CustomCard.BuildCard<MichaelsHeatGun>();
		CustomCard.BuildCard<WireManagement>();
		CustomCard.BuildCard<SugarRush>();
		CustomCard.BuildCard<StickySyrup>();
		CustomCard.BuildCard<CandyShield>();
		Debug.Log((object)"[MetonMadnessMod] HoneyPie card registered successfully.");
	}

	public static CardCategory GetMeltonMadnessCategory()
	{
		return meltonMadnessCategory;
	}
}
public class MichaelsHeatGun : BaseCustomCard
{
	protected override string GetTitle()
	{
		return "Michael's Heat Gun";
	}

	protected override GameObject GetCardArt()
	{
		return null;
	}

	protected override string GetDescription()
	{
		return "The PLC melter";
	}

	public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers)
	{
		//IL_0003: Unknown result type (might be due to invalid IL or missing references)
		cardInfo.rarity = (Rarity)2;
		CardCategory meltonMadnessCategory = MetonMadnessMod.GetMeltonMadnessCategory();
		if ((Object)(object)meltonMadnessCategory == (Object)null)
		{
			Debug.LogError((object)("[" + ((CustomCard)this).GetModName() + "][Card] MeltonMadness category is null for " + ((CustomCard)this).GetTitle()));
		}
		else
		{
			Debug.Log((object)("[" + ((CustomCard)this).GetModName() + "][Card] Assigning category " + ((Object)meltonMadnessCategory).name + " to " + ((CustomCard)this).GetTitle()));
			cardInfo.categories = (CardCategory[])(object)new CardCategory[1] { meltonMadnessCategory };
		}
		gun.destroyBulletAfter = 1f;
		gun.recoil = 5f;
		gun.ammo = 1000;
		gun.ammoReg = 0.1f;
		gun.knockback = 0.2f;
		gun.projectileSize = 0.0001f;
		gun.projectileSpeed = 2f;
		gun.attackSpeed = 0.01f;
		gun.reloadTime = 30f;
		gun.gravity = 5f;
		Debug.Log((object)("[" + ((CustomCard)this).GetModName() + "][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
	}

	protected override CardInfoStat[] GetStats()
	{
		//IL_0009: Unknown result type (might be due to invalid IL or missing references)
		//IL_000e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0015: Unknown result type (might be due to invalid IL or missing references)
		//IL_0020: Unknown result type (might be due to invalid IL or missing references)
		//IL_002b: Unknown result type (might be due to invalid IL or missing references)
		//IL_002d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0033: Expected O, but got Unknown
		//IL_0035: Unknown result type (might be due to invalid IL or missing references)
		//IL_003a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0041: Unknown result type (might be due to invalid IL or missing references)
		//IL_004c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0057: Unknown result type (might be due to invalid IL or missing references)
		//IL_0059: Unknown result type (might be due to invalid IL or missing references)
		//IL_005f: Expected O, but got Unknown
		return (CardInfoStat[])(object)new CardInfoStat[2]
		{
			new CardInfoStat
			{
				positive = true,
				stat = "Fire Rate",
				amount = "More",
				simepleAmount = (SimpleAmount)0
			},
			new CardInfoStat
			{
				positive = true,
				stat = "Bullets",
				amount = "Cute",
				simepleAmount = (SimpleAmount)0
			}
		};
	}

	public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
	{
		Debug.Log((object)$"[{((CustomCard)this).GetModName()}][Card] {((CustomCard)this).GetTitle()} has been added to player {player.playerID}.");
	}

	public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
	{
		Debug.Log((object)$"[{((CustomCard)this).GetModName()}][Card] {((CustomCard)this).GetTitle()} has been removed from player {player.playerID}.");
	}
}
public class StickySyrup : BaseCustomCard
{
	protected override string GetTitle()
	{
		return "Sticky Syrup";
	}

	protected override GameObject GetCardArt()
	{
		return null;
	}

	protected override string GetDescription()
	{
		return "Slow and sticky, but your bullets bounce with extra punch!";
	}

	public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers)
	{
		//IL_0037: Unknown result type (might be due to invalid IL or missing references)
		statModifiers.movementSpeed = 5f;
		gun.reflects = 2;
		gun.damage = 25f;
		gun.speedMOnBounce = 0.9f;
		gun.damageAfterDistanceMultiplier = 0.8f;
		cardInfo.rarity = (Rarity)1;
		CardCategory meltonMadnessCategory = MetonMadnessMod.GetMeltonMadnessCategory();
		if ((Object)(object)meltonMadnessCategory == (Object)null)
		{
			Debug.LogError((object)("[" + ((CustomCard)this).GetModName() + "][Card] MeltonMadness category is null for " + ((CustomCard)this).GetTitle()));
		}
		else
		{
			Debug.Log((object)("[" + ((CustomCard)this).GetModName() + "][Card] Assigning category " + ((Object)meltonMadnessCategory).name + " to " + ((CustomCard)this).GetTitle()));
			cardInfo.categories = (CardCategory[])(object)new CardCategory[1] { meltonMadnessCategory };
		}
		Debug.Log((object)("[" + ((CustomCard)this).GetModName() + "][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
	}

	protected override CardInfoStat[] GetStats()
	{
		//IL_0009: Unknown result type (might be due to invalid IL or missing references)
		//IL_000e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0015: Unknown result type (might be due to invalid IL or missing references)
		//IL_0020: Unknown result type (might be due to invalid IL or missing references)
		//IL_002b: Unknown result type (might be due to invalid IL or missing references)
		//IL_002d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0033: Expected O, but got Unknown
		//IL_0035: Unknown result type (might be due to invalid IL or missing references)
		//IL_003a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0041: Unknown result type (might be due to invalid IL or missing references)
		//IL_004c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0057: Unknown result type (might be due to invalid IL or missing references)
		//IL_0059: Unknown result type (might be due to invalid IL or missing references)
		//IL_005f: Expected O, but got Unknown
		//IL_0061: Unknown result type (might be due to invalid IL or missing references)
		//IL_0066: Unknown result type (might be due to invalid IL or missing references)
		//IL_006d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0078: Unknown result type (might be due to invalid IL or missing references)
		//IL_0083: Unknown result type (might be due to invalid IL or missing references)
		//IL_0085: Unknown result type (might be due to invalid IL or missing references)
		//IL_008b: Expected O, but got Unknown
		return (CardInfoStat[])(object)new CardInfoStat[3]
		{
			new CardInfoStat
			{
				positive = true,
				stat = "Damage",
				amount = "+25",
				simepleAmount = (SimpleAmount)0
			},
			new CardInfoStat
			{
				positive = true,
				stat = "Bounces",
				amount = "2",
				simepleAmount = (SimpleAmount)0
			},
			new CardInfoStat
			{
				positive = false,
				stat = "Movement Speed",
				amount = "Slower",
				simepleAmount = (SimpleAmount)0
			}
		};
	}

	public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
	{
		Debug.Log((object)$"[{((CustomCard)this).GetModName()}][Card] {((CustomCard)this).GetTitle()} has been added to player {player.playerID}.");
	}

	public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
	{
		Debug.Log((object)$"[{((CustomCard)this).GetModName()}][Card] {((CustomCard)this).GetTitle()} has been removed from player {player.playerID}.");
	}
}
public class SugarRush : BaseCustomCard
{
	protected override string GetTitle()
	{
		return "Sugar Rush";
	}

	protected override GameObject GetCardArt()
	{
		return null;
	}

	protected override string GetDescription()
	{
		return "Hyperactive energy! Move and shoot faster, but good luck aiming!";
	}

	public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers)
	{
		//IL_0025: Unknown result type (might be due to invalid IL or missing references)
		statModifiers.movementSpeed = 15f;
		gun.attackSpeed = 0.3f;
		gun.spread = 0.5f;
		cardInfo.rarity = (Rarity)0;
		CardCategory meltonMadnessCategory = MetonMadnessMod.GetMeltonMadnessCategory();
		if ((Object)(object)meltonMadnessCategory == (Object)null)
		{
			Debug.LogError((object)("[" + ((CustomCard)this).GetModName() + "][Card] MeltonMadness category is null for " + ((CustomCard)this).GetTitle()));
		}
		else
		{
			Debug.Log((object)("[" + ((CustomCard)this).GetModName() + "][Card] Assigning category " + ((Object)meltonMadnessCategory).name + " to " + ((CustomCard)this).GetTitle()));
			cardInfo.categories = (CardCategory[])(object)new CardCategory[1] { meltonMadnessCategory };
		}
		Debug.Log((object)("[" + ((CustomCard)this).GetModName() + "][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
	}

	protected override CardInfoStat[] GetStats()
	{
		//IL_0009: Unknown result type (might be due to invalid IL or missing references)
		//IL_000e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0015: Unknown result type (might be due to invalid IL or missing references)
		//IL_0020: Unknown result type (might be due to invalid IL or missing references)
		//IL_002b: Unknown result type (might be due to invalid IL or missing references)
		//IL_002d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0033: Expected O, but got Unknown
		//IL_0035: Unknown result type (might be due to invalid IL or missing references)
		//IL_003a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0041: Unknown result type (might be due to invalid IL or missing references)
		//IL_004c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0057: Unknown result type (might be due to invalid IL or missing references)
		//IL_0059: Unknown result type (might be due to invalid IL or missing references)
		//IL_005f: Expected O, but got Unknown
		//IL_0061: Unknown result type (might be due to invalid IL or missing references)
		//IL_0066: Unknown result type (might be due to invalid IL or missing references)
		//IL_006d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0078: Unknown result type (might be due to invalid IL or missing references)
		//IL_0083: Unknown result type (might be due to invalid IL or missing references)
		//IL_0085: Unknown result type (might be due to invalid IL or missing references)
		//IL_008b: Expected O, but got Unknown
		return (CardInfoStat[])(object)new CardInfoStat[3]
		{
			new CardInfoStat
			{
				positive = true,
				stat = "Movement Speed",
				amount = "Faster",
				simepleAmount = (SimpleAmount)0
			},
			new CardInfoStat
			{
				positive = true,
				stat = "Fire Rate",
				amount = "Much Faster",
				simepleAmount = (SimpleAmount)0
			},
			new CardInfoStat
			{
				positive = false,
				stat = "Accuracy",
				amount = "Much Less",
				simepleAmount = (SimpleAmount)0
			}
		};
	}

	public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
	{
		Debug.Log((object)$"[{((CustomCard)this).GetModName()}][Card] {((CustomCard)this).GetTitle()} has been added to player {player.playerID}.");
	}

	public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
	{
		Debug.Log((object)$"[{((CustomCard)this).GetModName()}][Card] {((CustomCard)this).GetTitle()} has been removed from player {player.playerID}.");
	}
}
public class WireManagement : BaseCustomCard
{
	protected override string GetTitle()
	{
		return "Wire Management";
	}

	protected override GameObject GetCardArt()
	{
		return null;
	}

	protected override string GetDescription()
	{
		return "Card legit broken right now. No cap";
	}

	public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers)
	{
		//IL_000f: Unknown result type (might be due to invalid IL or missing references)
		statModifiers.sizeMultiplier = 0.5f;
		cardInfo.rarity = (Rarity)2;
		CardCategory meltonMadnessCategory = MetonMadnessMod.GetMeltonMadnessCategory();
		if ((Object)(object)meltonMadnessCategory == (Object)null)
		{
			Debug.LogError((object)("[" + ((CustomCard)this).GetModName() + "][Card] MeltonMadness category is null for " + ((CustomCard)this).GetTitle()));
		}
		else
		{
			Debug.Log((object)("[" + ((CustomCard)this).GetModName() + "][Card] Assigning category " + ((Object)meltonMadnessCategory).name + " to " + ((CustomCard)this).GetTitle()));
			cardInfo.categories = (CardCategory[])(object)new CardCategory[1] { meltonMadnessCategory };
		}
		gun.knockback = 150f;
		gun.reflects = 100000;
		gun.randomBounces = 1000000;
		gun.speedMOnBounce = 1.1f;
		gun.projectileSpeed = 0.0001f;
		gun.recoil = 1000f;
		gun.reloadTime = 1000000f;
		gun.ammo = 10;
		gun.timeBetweenBullets = 10f;
		Debug.Log((object)("[" + ((CustomCard)this).GetModName() + "][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
	}

	protected override CardInfoStat[] GetStats()
	{
		//IL_0009: Unknown result type (might be due to invalid IL or missing references)
		//IL_000e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0015: Unknown result type (might be due to invalid IL or missing references)
		//IL_0020: Unknown result type (might be due to invalid IL or missing references)
		//IL_002b: Unknown result type (might be due to invalid IL or missing references)
		//IL_002d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0033: Expected O, but got Unknown
		return (CardInfoStat[])(object)new CardInfoStat[1]
		{
			new CardInfoStat
			{
				positive = false,
				stat = "Coordination",
				amount = "Xane's",
				simepleAmount = (SimpleAmount)0
			}
		};
	}

	public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
	{
		Debug.Log((object)$"[{((CustomCard)this).GetModName()}][Card] {((CustomCard)this).GetTitle()} has been added to player {player.playerID}.");
	}

	public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
	{
		Debug.Log((object)$"[{((CustomCard)this).GetModName()}][Card] {((CustomCard)this).GetTitle()} has been removed from player {player.playerID}.");
	}
}