using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using BepInEx;
using CardChoiceSpawnUniqueCardPatch.CustomCategories;
using HarmonyLib;
using ModdingUtils.Extensions;
using ModdingUtils.MonoBehaviours;
using ModdingUtils.Utils;
using PotatosObtuseOddityPack.Cards;
using PotatosObtuseOddityPack.Extensions;
using PotatosObtuseOddityPack.MonoBehaviours;
using RarityLib.Utils;
using UnboundLib;
using UnboundLib.Cards;
using UnboundLib.GameModes;
using UnboundLib.Utils;
using UnityEngine;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("Potatos Obtuse Oddity Pack")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0+6d52eda07410c098d74d3f490ae5a8e030f3640f")]
[assembly: AssemblyProduct("Potatos Obtuse Oddity Pack")]
[assembly: AssemblyTitle("Potatos Obtuse Oddity Pack")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace PotatosObtuseOddityPack
{
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInPlugin("com.potato.rounds.poop", "PotatosObtuseOddityPack", "0.2.0")]
[BepInProcess("Rounds.exe")]
public class PotatosObtuseOddityPack : BaseUnityPlugin
{
private const string ModId = "com.potato.rounds.poop";
private const string ModName = "PotatosObtuseOddityPack";
public const string Version = "0.2.0";
public const string ModInitials = "POOP";
internal static CardCategory Resets;
public static PotatosObtuseOddityPack instance { get; private set; }
private void Awake()
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000c: Expected O, but got Unknown
//IL_002c: Unknown result type (might be due to invalid IL or missing references)
//IL_0040: Unknown result type (might be due to invalid IL or missing references)
//IL_0064: 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_009c: Unknown result type (might be due to invalid IL or missing references)
//IL_00b0: Unknown result type (might be due to invalid IL or missing references)
Harmony val = new Harmony("com.potato.rounds.poop");
val.PatchAll();
RarityUtils.AddRarity("Stone Age", 1E-06f, new Color(255f, 3f, 3f), new Color(0.7f, 0.7f, 0f));
RarityUtils.AddRarity("Back To Basics", 1E-06f, new Color(255f, 3f, 3f), new Color(0.7f, 0.7f, 0f));
RarityUtils.AddRarity("Legendary", 0.025f, new Color(1f, 1f, 0f), new Color(0.7f, 0.7f, 0f));
}
private IEnumerator GameStart(IGameModeHandler gm)
{
foreach (Player player in PlayerManager.instance.players)
{
if (!CharacterStatModifiersExtension.GetAdditionalData(player.data.stats).blacklistedCategories.Contains(StoneAge.componentCategory))
{
CharacterStatModifiersExtension.GetAdditionalData(player.data.stats).blacklistedCategories.Add(StoneAge.componentCategory);
}
}
yield break;
}
private void Start()
{
instance = this;
CustomCard.BuildCard<BrittleNuke>();
CustomCard.BuildCard<RaveBoss>();
CustomCard.BuildCard<ShadowBullets>();
CustomCard.BuildCard<LSS>();
CustomCard.BuildCard<Disfunction>();
CustomCard.BuildCard<SlowStart>();
CustomCard.BuildCard<Laser>();
CustomCard.BuildCard<MiniBoss>();
CustomCard.BuildCard<BackToBasic>();
CustomCard.BuildCard<Goblin1>();
CustomCard.BuildCard<LegendaryGamble>();
CustomCard.BuildCard<StoneAge>();
CustomCard.BuildCard<AllForOne>();
CustomCard.BuildCard<Goblin2>();
CustomCard.BuildCard<Human>();
CustomCard.BuildCard<Invisibility>();
instance = this;
}
private IEnumerator ResetEffects(IGameModeHandler gm)
{
DestroyAll<Rave>();
DestroyAll<OrangeMono>();
DestroyAll<PurpleMono>();
DestroyAll<GreenMono>();
DestroyAll<CyanMono>();
DestroyAll<BlueMono>();
DestroyAll<PinkMono>();
DestroyAll<YellowMono>();
DestroyAll<RedMono>();
DestroyAll<StoneAgeMono>();
DestroyAll<BackToBasicsMono>();
DestroyAll<OnFlipEffect>();
DestroyAll<InvisibilityMono>();
yield break;
}
private void DestroyAll<T>() where T : Object
{
T[] array = Object.FindObjectsOfType<T>();
for (int num = array.Length - 1; num >= 0; num--)
{
Debug.Log((object)$"Attempting to Destroy {((object)array[num]).GetType().Name} number {num}");
Object.Destroy((Object)(object)array[num]);
}
}
}
}
namespace PotatosObtuseOddityPack.MonoBehaviours
{
public class BackToBasicsMono : MonoBehaviour
{
private Player player;
public void Start()
{
player = ((Component)this).GetComponent<Player>();
int count = player.data.currentCards.Count;
Dictionary<Player, List<CardInfo>> dictionary = new Dictionary<Player, List<CardInfo>>();
foreach (Player player in PlayerManager.instance.players)
{
dictionary.Add(player, player.data.currentCards.ToList());
try
{
Cards.instance.RemoveAllCardsFromPlayer(player, true);
}
catch (NullReferenceException)
{
}
}
}
}
public class BackToBasicsMonoTesting : MonoBehaviour
{
private Player player;
public void start()
{
ExtensionMethods.ExecuteAfterSeconds((MonoBehaviour)(object)Unbound.Instance, 2f, (Action)delegate
{
player = ((Component)this).GetComponent<Player>();
int count = player.data.currentCards.Count;
Dictionary<Player, List<CardInfo>> dictionary = new Dictionary<Player, List<CardInfo>>();
foreach (Player player in PlayerManager.instance.players)
{
dictionary.Add(player, player.data.currentCards.ToList());
try
{
Cards.instance.RemoveAllCardsFromPlayer(player, true);
}
catch (NullReferenceException)
{
}
}
});
}
}
internal class InvisibilityMono : ReversibleColorEffect
{
public void OnStart(Player player)
{
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
ColorEffect val = ((Component)player).gameObject.AddComponent<ColorEffect>();
((ColorEffect)this).SetColor(Color.clear);
}
}
public abstract class OnFlipEffect : MonoBehaviour
{
public static CardCategory onFlipEffectCategory = CustomCardCategories.instance.CardCategory("__OnFlipEffect__");
public abstract void Selected();
public abstract void Unselected();
}
public class RedMono : ReversibleEffect
{
private readonly Color color = new Color(1f, 0f, 0f, 1f);
private ReversibleColorEffect colorEffect = null;
private readonly float updateDelay = 0.1f;
private float startTime;
private Rave effect;
public override void OnOnEnable()
{
if ((Object)(object)colorEffect != (Object)null)
{
((ColorEffect)colorEffect).Destroy();
}
}
public override void OnStart()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_0021: Unknown result type (might be due to invalid IL or missing references)
//IL_0026: 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_005e: Unknown result type (might be due to invalid IL or missing references)
GunStatModifier gunStatModifier = base.gunStatModifier;
gunStatModifier.projectileColor += new Color(1f, 0f, 0f, 1f);
effect = ((Component)base.player).GetComponent<Rave>();
colorEffect = ((Component)base.player).gameObject.AddComponent<ReversibleColorEffect>();
((ColorEffect)colorEffect).SetColor(color);
colorEffect.SetLivesToEffect(1);
ResetTimer();
}
public override void OnUpdate()
{
if (Time.time >= startTime + updateDelay)
{
ResetTimer();
if (effect.mode != 0)
{
((ReversibleEffect)this).Destroy();
}
if (((Component)this).GetComponent<Player>().data.dead | (((Component)this).GetComponent<Player>().data.health <= 0f))
{
ResetTimer();
((ReversibleEffect)this).Destroy();
}
}
}
public override void OnOnDisable()
{
if ((Object)(object)colorEffect != (Object)null)
{
((ColorEffect)colorEffect).Destroy();
}
}
public override void OnOnDestroy()
{
if ((Object)(object)colorEffect != (Object)null)
{
((ColorEffect)colorEffect).Destroy();
}
}
private void ResetTimer()
{
startTime = Time.time;
}
}
public class OrangeMono : ReversibleEffect
{
private readonly Color color = new Color(1f, 0.5f, 0f, 1f);
private ReversibleColorEffect colorEffect = null;
private readonly float updateDelay = 0.1f;
private float startTime;
private Rave effect;
public override void OnOnEnable()
{
if ((Object)(object)colorEffect != (Object)null)
{
((ColorEffect)colorEffect).Destroy();
}
}
public override void OnStart()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_0021: Unknown result type (might be due to invalid IL or missing references)
//IL_0026: 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_005e: Unknown result type (might be due to invalid IL or missing references)
GunStatModifier gunStatModifier = base.gunStatModifier;
gunStatModifier.projectileColor += new Color(1f, 0.5f, 0f, 1f);
effect = ((Component)base.player).GetComponent<Rave>();
colorEffect = ((Component)base.player).gameObject.AddComponent<ReversibleColorEffect>();
((ColorEffect)colorEffect).SetColor(color);
colorEffect.SetLivesToEffect(1);
ResetTimer();
}
public override void OnUpdate()
{
if (Time.time >= startTime + updateDelay)
{
ResetTimer();
if (effect.mode != 1)
{
((ReversibleEffect)this).Destroy();
}
if (((Component)this).GetComponent<Player>().data.dead | (((Component)this).GetComponent<Player>().data.health <= 0f))
{
ResetTimer();
((ReversibleEffect)this).Destroy();
}
}
}
public override void OnOnDisable()
{
if ((Object)(object)colorEffect != (Object)null)
{
((ColorEffect)colorEffect).Destroy();
}
}
public override void OnOnDestroy()
{
if ((Object)(object)colorEffect != (Object)null)
{
((ColorEffect)colorEffect).Destroy();
}
}
private void ResetTimer()
{
startTime = Time.time;
}
}
public class YellowMono : ReversibleEffect
{
private readonly Color color = new Color(1f, 1f, 0f, 1f);
private ReversibleColorEffect colorEffect = null;
private readonly float updateDelay = 0.1f;
private float startTime;
private Rave effect;
public override void OnOnEnable()
{
if ((Object)(object)colorEffect != (Object)null)
{
((ColorEffect)colorEffect).Destroy();
}
}
public override void OnStart()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_0021: Unknown result type (might be due to invalid IL or missing references)
//IL_0026: 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_005e: Unknown result type (might be due to invalid IL or missing references)
GunStatModifier gunStatModifier = base.gunStatModifier;
gunStatModifier.projectileColor += new Color(1f, 1f, 0f, 1f);
effect = ((Component)base.player).GetComponent<Rave>();
colorEffect = ((Component)base.player).gameObject.AddComponent<ReversibleColorEffect>();
((ColorEffect)colorEffect).SetColor(color);
colorEffect.SetLivesToEffect(1);
ResetTimer();
}
public override void OnUpdate()
{
if (Time.time >= startTime + updateDelay)
{
ResetTimer();
if (effect.mode != 2)
{
((ReversibleEffect)this).Destroy();
}
if (((Component)this).GetComponent<Player>().data.dead | (((Component)this).GetComponent<Player>().data.health <= 0f))
{
ResetTimer();
((ReversibleEffect)this).Destroy();
}
}
}
public override void OnOnDisable()
{
if ((Object)(object)colorEffect != (Object)null)
{
((ColorEffect)colorEffect).Destroy();
}
}
public override void OnOnDestroy()
{
if ((Object)(object)colorEffect != (Object)null)
{
((ColorEffect)colorEffect).Destroy();
}
}
private void ResetTimer()
{
startTime = Time.time;
}
}
public class GreenMono : ReversibleEffect
{
private readonly Color color = new Color(0f, 1f, 0f, 1f);
private ReversibleColorEffect colorEffect = null;
private readonly float updateDelay = 0.1f;
private float startTime;
private Rave effect;
public override void OnOnEnable()
{
if ((Object)(object)colorEffect != (Object)null)
{
((ColorEffect)colorEffect).Destroy();
}
}
public override void OnStart()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_0021: Unknown result type (might be due to invalid IL or missing references)
//IL_0026: 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_005e: Unknown result type (might be due to invalid IL or missing references)
GunStatModifier gunStatModifier = base.gunStatModifier;
gunStatModifier.projectileColor += new Color(0f, 1f, 0f, 1f);
effect = ((Component)base.player).GetComponent<Rave>();
colorEffect = ((Component)base.player).gameObject.AddComponent<ReversibleColorEffect>();
((ColorEffect)colorEffect).SetColor(color);
colorEffect.SetLivesToEffect(1);
ResetTimer();
}
public override void OnUpdate()
{
if (Time.time >= startTime + updateDelay)
{
ResetTimer();
if (effect.mode != 3)
{
((ReversibleEffect)this).Destroy();
}
if (((Component)this).GetComponent<Player>().data.dead | (((Component)this).GetComponent<Player>().data.health <= 0f))
{
ResetTimer();
((ReversibleEffect)this).Destroy();
}
}
}
public override void OnOnDisable()
{
if ((Object)(object)colorEffect != (Object)null)
{
((ColorEffect)colorEffect).Destroy();
}
}
public override void OnOnDestroy()
{
if ((Object)(object)colorEffect != (Object)null)
{
((ColorEffect)colorEffect).Destroy();
}
}
private void ResetTimer()
{
startTime = Time.time;
}
}
public class CyanMono : ReversibleEffect
{
private readonly Color color = new Color(0f, 1f, 1f, 1f);
private ReversibleColorEffect colorEffect = null;
private readonly float updateDelay = 0.1f;
private float startTime;
private Rave effect;
public override void OnOnEnable()
{
if ((Object)(object)colorEffect != (Object)null)
{
((ColorEffect)colorEffect).Destroy();
}
}
public override void OnStart()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_0021: Unknown result type (might be due to invalid IL or missing references)
//IL_0026: 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_005e: Unknown result type (might be due to invalid IL or missing references)
GunStatModifier gunStatModifier = base.gunStatModifier;
gunStatModifier.projectileColor += new Color(0f, 1f, 1f, 1f);
effect = ((Component)base.player).GetComponent<Rave>();
colorEffect = ((Component)base.player).gameObject.AddComponent<ReversibleColorEffect>();
((ColorEffect)colorEffect).SetColor(color);
colorEffect.SetLivesToEffect(1);
ResetTimer();
}
public override void OnUpdate()
{
if (Time.time >= startTime + updateDelay)
{
ResetTimer();
if (effect.mode != 4)
{
((ReversibleEffect)this).Destroy();
}
if (((Component)this).GetComponent<Player>().data.dead | (((Component)this).GetComponent<Player>().data.health <= 0f))
{
ResetTimer();
((ReversibleEffect)this).Destroy();
}
}
}
public override void OnOnDisable()
{
if ((Object)(object)colorEffect != (Object)null)
{
((ColorEffect)colorEffect).Destroy();
}
}
public override void OnOnDestroy()
{
if ((Object)(object)colorEffect != (Object)null)
{
((ColorEffect)colorEffect).Destroy();
}
}
private void ResetTimer()
{
startTime = Time.time;
}
}
public class BlueMono : ReversibleEffect
{
private readonly Color color = new Color(0f, 0f, 1f, 1f);
private ReversibleColorEffect colorEffect = null;
private readonly float updateDelay = 0.1f;
private float startTime;
private Rave effect;
public override void OnOnEnable()
{
if ((Object)(object)colorEffect != (Object)null)
{
((ColorEffect)colorEffect).Destroy();
}
}
public override void OnStart()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_0021: Unknown result type (might be due to invalid IL or missing references)
//IL_0026: 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_005e: Unknown result type (might be due to invalid IL or missing references)
GunStatModifier gunStatModifier = base.gunStatModifier;
gunStatModifier.projectileColor += new Color(0f, 0f, 1f, 1f);
effect = ((Component)base.player).GetComponent<Rave>();
colorEffect = ((Component)base.player).gameObject.AddComponent<ReversibleColorEffect>();
((ColorEffect)colorEffect).SetColor(color);
colorEffect.SetLivesToEffect(1);
ResetTimer();
}
public override void OnUpdate()
{
if (Time.time >= startTime + updateDelay)
{
ResetTimer();
if (effect.mode != 5)
{
((ReversibleEffect)this).Destroy();
}
if (((Component)this).GetComponent<Player>().data.dead | (((Component)this).GetComponent<Player>().data.health <= 0f))
{
ResetTimer();
((ReversibleEffect)this).Destroy();
}
}
}
public override void OnOnDisable()
{
if ((Object)(object)colorEffect != (Object)null)
{
((ColorEffect)colorEffect).Destroy();
}
}
public override void OnOnDestroy()
{
if ((Object)(object)colorEffect != (Object)null)
{
((ColorEffect)colorEffect).Destroy();
}
}
private void ResetTimer()
{
startTime = Time.time;
}
}
public class PurpleMono : ReversibleEffect
{
private readonly Color color = new Color(1f, 0f, 1f, 1f);
private ReversibleColorEffect colorEffect = null;
private readonly float updateDelay = 0.1f;
private float startTime;
private Rave effect;
public override void OnOnEnable()
{
if ((Object)(object)colorEffect != (Object)null)
{
((ColorEffect)colorEffect).Destroy();
}
}
public override void OnStart()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_0021: Unknown result type (might be due to invalid IL or missing references)
//IL_0026: 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_005e: Unknown result type (might be due to invalid IL or missing references)
GunStatModifier gunStatModifier = base.gunStatModifier;
gunStatModifier.projectileColor += new Color(1f, 0f, 1f, 1f);
effect = ((Component)base.player).GetComponent<Rave>();
colorEffect = ((Component)base.player).gameObject.AddComponent<ReversibleColorEffect>();
((ColorEffect)colorEffect).SetColor(color);
colorEffect.SetLivesToEffect(1);
ResetTimer();
}
public override void OnUpdate()
{
if (Time.time >= startTime + updateDelay)
{
ResetTimer();
if (effect.mode != 6)
{
((ReversibleEffect)this).Destroy();
}
if (((Component)this).GetComponent<Player>().data.dead | (((Component)this).GetComponent<Player>().data.health <= 0f))
{
ResetTimer();
((ReversibleEffect)this).Destroy();
}
}
}
public override void OnOnDisable()
{
if ((Object)(object)colorEffect != (Object)null)
{
((ColorEffect)colorEffect).Destroy();
}
}
public override void OnOnDestroy()
{
if ((Object)(object)colorEffect != (Object)null)
{
((ColorEffect)colorEffect).Destroy();
}
}
private void ResetTimer()
{
startTime = Time.time;
}
}
public class PinkMono : ReversibleEffect
{
private readonly Color color = new Color(1f, 0.7f, 1f, 1f);
private ReversibleColorEffect colorEffect = null;
private readonly float updateDelay = 0.1f;
private float startTime;
private Rave effect;
public override void OnOnEnable()
{
if ((Object)(object)colorEffect != (Object)null)
{
((ColorEffect)colorEffect).Destroy();
}
}
public override void OnStart()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_0021: Unknown result type (might be due to invalid IL or missing references)
//IL_0026: 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_005e: Unknown result type (might be due to invalid IL or missing references)
GunStatModifier gunStatModifier = base.gunStatModifier;
gunStatModifier.projectileColor += new Color(1f, 0.7f, 1f, 1f);
effect = ((Component)base.player).GetComponent<Rave>();
colorEffect = ((Component)base.player).gameObject.AddComponent<ReversibleColorEffect>();
((ColorEffect)colorEffect).SetColor(color);
colorEffect.SetLivesToEffect(1);
ResetTimer();
}
public override void OnUpdate()
{
if (Time.time >= startTime + updateDelay)
{
ResetTimer();
if (effect.mode != 7)
{
((ReversibleEffect)this).Destroy();
}
if (((Component)this).GetComponent<Player>().data.dead | (((Component)this).GetComponent<Player>().data.health <= 0f))
{
ResetTimer();
((ReversibleEffect)this).Destroy();
}
}
}
public override void OnOnDisable()
{
if ((Object)(object)colorEffect != (Object)null)
{
((ColorEffect)colorEffect).Destroy();
}
}
public override void OnOnDestroy()
{
if ((Object)(object)colorEffect != (Object)null)
{
((ColorEffect)colorEffect).Destroy();
}
}
private void ResetTimer()
{
startTime = Time.time;
}
}
public class Rave : MonoBehaviour
{
private readonly float updateDelay = 0.25f;
private float startTime;
public int mode;
public int realmode;
internal Player player;
private void Start()
{
player = ((Component)this).gameObject.GetComponent<Player>();
mode = 0;
realmode = 0;
}
public void Destroy()
{
Object.Destroy((Object)(object)this);
}
private void ResetTimer()
{
startTime = Time.time;
}
private void Update()
{
if (Time.time >= startTime + updateDelay)
{
ResetTimer();
if (realmode == 0)
{
((Component)player).gameObject.AddComponent<RedMono>();
mode = 0;
realmode++;
}
else if (realmode == 1)
{
((Component)player).gameObject.AddComponent<OrangeMono>();
mode++;
realmode++;
}
else if (realmode == 2)
{
((Component)player).gameObject.AddComponent<YellowMono>();
mode++;
realmode++;
}
else if (realmode == 3)
{
((Component)player).gameObject.AddComponent<GreenMono>();
mode++;
realmode++;
}
else if (realmode == 4)
{
((Component)player).gameObject.AddComponent<CyanMono>();
mode++;
realmode++;
}
else if (realmode == 5)
{
((Component)player).gameObject.AddComponent<BlueMono>();
mode++;
realmode++;
}
else if (realmode == 6)
{
((Component)player).gameObject.AddComponent<PurpleMono>();
mode++;
realmode++;
}
else if (realmode == 7)
{
((Component)player).gameObject.AddComponent<PinkMono>();
mode++;
realmode = 0;
}
}
}
}
public class StoneAgeMono : MonoBehaviour
{
private Player player;
public void Start()
{
player = ((Component)this).GetComponent<Player>();
int count = player.data.currentCards.Count;
Dictionary<Player, List<CardInfo>> dictionary = new Dictionary<Player, List<CardInfo>>();
foreach (Player player in PlayerManager.instance.players)
{
dictionary.Add(player, player.data.currentCards.ToList());
try
{
Cards.instance.RemoveAllCardsFromPlayer(this.player, true);
}
catch (NullReferenceException)
{
}
}
}
}
}
namespace PotatosObtuseOddityPack.Extensions
{
public static class PlayerManagerExtension
{
public static Player GetRandomEnemy(this PlayerManager playerManager, Player player)
{
if (playerManager.players.Count == 1)
{
return null;
}
List<Player> list = new List<Player>(playerManager.players);
Player[] playersInTeam = playerManager.GetPlayersInTeam(player.teamID);
foreach (Player item in playersInTeam)
{
list.Remove(item);
}
return list[Random.Range(0, list.Count)];
}
public static Player GetPlayerWithID(this PlayerManager playerManager, int playerID)
{
//IL_002b: Unknown result type (might be due to invalid IL or missing references)
//IL_0031: Expected O, but got Unknown
return (Player)typeof(PlayerManager).InvokeMember("GetPlayerWithID", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.InvokeMethod, null, playerManager, new object[1] { playerID });
}
}
}
namespace PotatosObtuseOddityPack.Cards
{
internal class AllForOne : CustomCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
CardInfoExtension.GetAdditionalData(cardInfo).canBeReassigned = false;
cardInfo.categories = (CardCategory[])(object)new CardCategory[1] { CustomCardCategories.instance.CardCategory("CardManipulation") };
cardInfo.allowMultiple = true;
Debug.Log((object)("[POOP][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
AFO(player);
Debug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "POOP", ((CustomCard)this).GetTitle(), 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)string.Format("[{0}][Card] {1} has been removed from player {2}.", "POOP", ((CustomCard)this).GetTitle(), player.playerID));
}
private static void AFO(Player player)
{
Player randomEnemy = PlayerManager.instance.GetRandomEnemy(player);
int num = 0;
while (randomEnemy.data.currentCards.Count == 0 && num < 5)
{
num++;
randomEnemy = PlayerManager.instance.GetRandomEnemy(player);
}
if ((Object)(object)randomEnemy == (Object)null || randomEnemy.data.currentCards.Count == 0)
{
return;
}
int num2 = randomEnemy.data.currentCards.Count - 1;
int num3 = 0;
while (num3 <= 50 && randomEnemy.data.currentCards.Count > -1 && num2 > -4)
{
num3++;
CardInfo val = randomEnemy.data.currentCards[num2];
if (!Cards.instance.CardIsNotBlacklisted(val, (CardCategory[])(object)new CardCategory[2]
{
CustomCardCategories.instance.CardCategory("CardManipulation"),
CustomCardCategories.instance.CardCategory("NoRemove")
}))
{
num2--;
continue;
}
if (!Cards.instance.PlayerIsAllowedCard(player, val))
{
num2--;
continue;
}
Cards.instance.AddCardToPlayer(player, val, false, "", 0f, 0f, true);
CardBarUtils.instance.ShowAtEndOfPhase(player, val);
Cards.instance.RemoveCardFromPlayer(randomEnemy, val, (SelectionType)2);
break;
}
}
protected override string GetTitle()
{
return "One For One";
}
protected override string GetDescription()
{
return "Take The Most Recent Card From <b><color=#fff000>A</b></color> Players (Breaks with null)";
}
protected override GameObject GetCardArt()
{
return null;
}
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)1;
}
protected override CardInfoStat[] GetStats()
{
return null;
}
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;
}
public override string GetModName()
{
return "POOP";
}
}
internal class BackToBasic : CustomCard
{
internal static CardCategory componentCategory = CustomCardCategories.instance.CardCategory("Resets");
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
cardInfo.categories = (CardCategory[])(object)new CardCategory[1] { CustomCardCategories.instance.CardCategory("Resets") };
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
((Component)player).gameObject.AddComponent<BackToBasicsMono>();
Debug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "POOP", ((CustomCard)this).GetTitle(), 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)string.Format("[{0}][Card] {1} has been removed from player {2}.", "POOP", ((CustomCard)this).GetTitle(), player.playerID));
}
protected override string GetTitle()
{
return "Back to the Basics";
}
protected override string GetDescription()
{
return "<color=#ff0000>Remove all cards from all Players</color>";
}
protected override GameObject GetCardArt()
{
return null;
}
protected override Rarity GetRarity()
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000b: 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)
return RarityUtils.GetRarity("Back To Basics");
}
protected override CardInfoStat[] GetStats()
{
return null;
}
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)4;
}
public override string GetModName()
{
return "POOP";
}
}
internal class BrittleNuke : CustomCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
cardInfo.allowMultiple = false;
Debug.Log((object)("[POOP][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
CharacterStatModifiers statModifiers = base.statModifiers;
statModifiers.health /= 4f;
gun.damage *= 4f;
Debug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "POOP", ((CustomCard)this).GetTitle(), 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)string.Format("[{0}][Card] {1} has been removed from player {2}.", "POOP", ((CustomCard)this).GetTitle(), player.playerID));
}
protected override string GetTitle()
{
return "Papier-mâché Trebuchet";
}
protected override string GetDescription()
{
return "(no down sides)";
}
protected override GameObject GetCardArt()
{
return null;
}
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)2;
}
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 = "Damage",
amount = "200%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Health",
amount = "-200%",
simepleAmount = (SimpleAmount)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)1;
}
public override string GetModName()
{
return "POOP";
}
}
internal class Disfunction : CustomCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
Debug.Log((object)("[POOP][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
gun.gravity *= 10f;
gun.damage *= 3f;
Debug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "POOP", ((CustomCard)this).GetTitle(), 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)string.Format("[{0}][Card] {1} has been removed from player {2}.", "POOP", ((CustomCard)this).GetTitle(), player.playerID));
}
protected override string GetTitle()
{
return "Disfunction";
}
protected override string GetDescription()
{
return "You Should Probably See A Doctor About That";
}
protected override GameObject GetCardArt()
{
return null;
}
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)1;
}
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 = true,
stat = "",
amount = "",
simepleAmount = (SimpleAmount)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)7;
}
public override string GetModName()
{
return "POOP";
}
}
internal class Goblin1 : CustomCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
cardInfo.allowMultiple = false;
Debug.Log((object)("[POOP][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
CharacterStatModifiers statModifiers = base.statModifiers;
statModifiers.health /= 2f;
characterStats.movementSpeed *= 1.5f;
characterStats.jump += 1f;
characterStats.gravity *= 0.5f;
Debug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "POOP", ((CustomCard)this).GetTitle(), 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)string.Format("[{0}][Card] {1} has been removed from player {2}.", "POOP", ((CustomCard)this).GetTitle(), player.playerID));
}
protected override string GetTitle()
{
return "Lvl 1 Goblin";
}
protected override string GetDescription()
{
return "Im a Little Goblin. You Wouldnt Hurt a Little Goblin";
}
protected override GameObject GetCardArt()
{
return null;
}
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)1;
}
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 = true,
stat = "",
amount = "",
simepleAmount = (SimpleAmount)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)7;
}
public override string GetModName()
{
return "POOP";
}
}
internal class Goblin2 : CustomCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
cardInfo.allowMultiple = false;
Debug.Log((object)("[POOP][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
characterStats.sizeMultiplier /= 2f;
characterStats.movementSpeed *= 2f;
characterStats.gravity *= 0.5f;
Debug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "POOP", ((CustomCard)this).GetTitle(), 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)string.Format("[{0}][Card] {1} has been removed from player {2}.", "POOP", ((CustomCard)this).GetTitle(), player.playerID));
}
protected override string GetTitle()
{
return "Lvl 2 Goblin";
}
protected override string GetDescription()
{
return "Im a Lvl 2 Goblin. You Wouldnt Hurt a Lvl 2 Goblin";
}
protected override GameObject GetCardArt()
{
return null;
}
protected override Rarity GetRarity()
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000b: 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)
return RarityUtils.GetRarity("Legendary");
}
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 = true,
stat = "",
amount = "",
simepleAmount = (SimpleAmount)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)7;
}
public override string GetModName()
{
return "POOP";
}
}
public class Human : CustomCard
{
internal class WidePlayerEffect : MonoBehaviour
{
private const float updateDelay = 0.5f;
private float startTime = -1f;
internal float ratio = 1f;
private const float flatScale = 1f;
internal float yOffset;
internal Vector3 orig_scale = Vector3.zero;
private void Start()
{
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_003f: Unknown result type (might be due to invalid IL or missing references)
//IL_0044: Unknown result type (might be due to invalid IL or missing references)
//IL_0045: Unknown result type (might be due to invalid IL or missing references)
//IL_005a: Unknown result type (might be due to invalid IL or missing references)
//IL_005f: Unknown result type (might be due to invalid IL or missing references)
orig_scale = ((Component)this).gameObject.transform.localScale;
foreach (object item in ((Component)this).gameObject.transform.parent.GetChild(4))
{
Transform val = (Transform)item;
val.localPosition += new Vector3(0f, yOffset, 0f);
}
Widen();
ResetTimer();
}
private void Update()
{
//IL_002e: Unknown result type (might be due to invalid IL or missing references)
//IL_0043: Unknown result type (might be due to invalid IL or missing references)
//IL_0060: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Unknown result type (might be due to invalid IL or missing references)
if (Time.time >= startTime + 0.5f)
{
ResetTimer();
if (((Component)this).gameObject.transform.localScale.x == ((Component)this).gameObject.transform.localScale.y)
{
orig_scale = ((Component)this).gameObject.transform.localScale;
Widen();
}
}
}
internal void Widen()
{
//IL_000c: Unknown result type (might be due to invalid IL or missing references)
//IL_0021: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Unknown result type (might be due to invalid IL or missing references)
//IL_007a: Unknown result type (might be due to invalid IL or missing references)
//IL_0096: Unknown result type (might be due to invalid IL or missing references)
//IL_00a0: Unknown result type (might be due to invalid IL or missing references)
//IL_00a5: 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)
if (Mathf.Abs(((Component)this).gameObject.transform.localScale.y / ((Component)this).gameObject.transform.localScale.x - ratio) >= 0.0001f)
{
((Component)this).gameObject.transform.localScale = 0.75f * new Vector3(((Component)this).gameObject.transform.localScale.x, ((Component)this).gameObject.transform.localScale.x * ratio, ((Component)this).gameObject.transform.localScale.z);
((Component)this).gameObject.transform.localPosition = new Vector3(0f, yOffset, 0f);
}
}
internal void ResetScale()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Unknown result type (might be due to invalid IL or missing references)
//IL_0022: Unknown result type (might be due to invalid IL or missing references)
if (orig_scale != Vector3.zero)
{
((Component)this).gameObject.transform.localScale = orig_scale;
}
}
private void ResetTimer()
{
startTime = Time.time;
}
private void OnDestroy()
{
//IL_0022: Unknown result type (might be due to invalid IL or missing references)
//IL_0055: Unknown result type (might be due to invalid IL or missing references)
//IL_005a: Unknown result type (might be due to invalid IL or missing references)
//IL_005b: Unknown result type (might be due to invalid IL or missing references)
//IL_0070: Unknown result type (might be due to invalid IL or missing references)
//IL_0075: Unknown result type (might be due to invalid IL or missing references)
ResetScale();
((Component)this).gameObject.transform.localPosition = new Vector3(0f, 0f, 0f);
foreach (object item in ((Component)this).gameObject.transform.parent.GetChild(4))
{
Transform val = (Transform)item;
val.localPosition -= new Vector3(0f, yOffset, 0f);
}
}
}
internal class WideVisualEffect : OnFlipEffect
{
private bool wide;
private Vector3 orig_scale;
private const float xmult = 1f;
private const float ymult = 1f;
private const float dy = 0.02f;
private const float maxDeltaY = 0.1f;
private float signy = 1f;
private void Start()
{
}
public override void Selected()
{
//IL_0021: Unknown result type (might be due to invalid IL or missing references)
//IL_0026: 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_005c: Unknown result type (might be due to invalid IL or missing references)
//IL_0077: Unknown result type (might be due to invalid IL or missing references)
//IL_0081: Unknown result type (might be due to invalid IL or missing references)
if (!wide)
{
wide = true;
orig_scale = ((Component)this).gameObject.transform.localScale;
((Component)this).gameObject.transform.localScale = new Vector3(((Component)this).gameObject.transform.localScale.x * 1f, ((Component)this).gameObject.transform.localScale.y * 1f, ((Component)this).gameObject.transform.localScale.z);
}
}
public override void Unselected()
{
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
wide = false;
((Component)this).gameObject.transform.localScale = orig_scale;
}
private void Update()
{
//IL_002b: 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_008e: Unknown result type (might be due to invalid IL or missing references)
//IL_0093: Unknown result type (might be due to invalid IL or missing references)
if (wide)
{
if (Mathf.Abs(orig_scale.y * 1f - ((Component)this).gameObject.transform.localScale.y) >= 0.1f)
{
signy *= -1f;
}
((Component)this).gameObject.transform.localScale = ((Component)this).gameObject.transform.localScale + new Vector3(0f, signy * 0.02f, 0f);
}
}
private void OnDisable()
{
wide = false;
}
private void OnDestroy()
{
wide = false;
}
}
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers)
{
cardInfo.categories = (CardCategory[])(object)new CardCategory[1] { OnFlipEffect.onFlipEffectCategory };
cardInfo.allowMultiple = false;
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
data.maxHealth *= 2f;
WidePlayerEffect orAddComponent = ExtensionMethods.GetOrAddComponent<WidePlayerEffect>(((Component)((Component)player).gameObject.transform.GetChild(0)).gameObject, false);
orAddComponent.ratio *= 0.5f;
orAddComponent.yOffset += 0.5f;
orAddComponent.ResetScale();
orAddComponent.Widen();
}
public override void OnRemoveCard()
{
}
protected override string GetTitle()
{
return "Human";
}
protected override string GetDescription()
{
return "";
}
protected override GameObject GetCardArt()
{
return null;
}
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)1;
}
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 = true,
stat = "Human",
amount = "+100%",
simepleAmount = (SimpleAmount)4
}
};
}
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)2;
}
public override string GetModName()
{
return "POOP";
}
public override void Callback()
{
ExtensionMethods.GetOrAddComponent<WideVisualEffect>(((Component)this).gameObject, false);
}
}
public class Invisibility : CustomCard
{
internal class WidePlayerEffect : MonoBehaviour
{
private const float updateDelay = 0.5f;
private float startTime = -1f;
internal float ratio = 1f;
private const float flatScale = 1f;
internal float yOffset;
internal Vector3 orig_scale = Vector3.zero;
private void Start()
{
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_003f: Unknown result type (might be due to invalid IL or missing references)
//IL_0044: Unknown result type (might be due to invalid IL or missing references)
//IL_0045: Unknown result type (might be due to invalid IL or missing references)
//IL_005a: Unknown result type (might be due to invalid IL or missing references)
//IL_005f: Unknown result type (might be due to invalid IL or missing references)
orig_scale = ((Component)this).gameObject.transform.localScale;
foreach (object item in ((Component)this).gameObject.transform.parent.GetChild(4))
{
Transform val = (Transform)item;
val.localPosition += new Vector3(0f, yOffset, 0f);
}
Widen();
ResetTimer();
}
private void Update()
{
//IL_002e: Unknown result type (might be due to invalid IL or missing references)
//IL_0043: Unknown result type (might be due to invalid IL or missing references)
//IL_0060: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Unknown result type (might be due to invalid IL or missing references)
if (Time.time >= startTime + 0.5f)
{
ResetTimer();
if (((Component)this).gameObject.transform.localScale.x == ((Component)this).gameObject.transform.localScale.y)
{
orig_scale = ((Component)this).gameObject.transform.localScale;
Widen();
}
}
}
internal void Widen()
{
//IL_000c: Unknown result type (might be due to invalid IL or missing references)
//IL_0021: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Unknown result type (might be due to invalid IL or missing references)
//IL_007a: Unknown result type (might be due to invalid IL or missing references)
//IL_0096: Unknown result type (might be due to invalid IL or missing references)
//IL_00a0: Unknown result type (might be due to invalid IL or missing references)
//IL_00a5: 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)
if (Mathf.Abs(((Component)this).gameObject.transform.localScale.y / ((Component)this).gameObject.transform.localScale.x - ratio) >= 0.0001f)
{
((Component)this).gameObject.transform.localScale = 0f * new Vector3(((Component)this).gameObject.transform.localScale.x, ((Component)this).gameObject.transform.localScale.x * ratio, ((Component)this).gameObject.transform.localScale.z);
((Component)this).gameObject.transform.localPosition = new Vector3(0f, yOffset, 0f);
}
}
internal void ResetScale()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Unknown result type (might be due to invalid IL or missing references)
//IL_0022: Unknown result type (might be due to invalid IL or missing references)
if (orig_scale != Vector3.zero)
{
((Component)this).gameObject.transform.localScale = orig_scale;
}
}
private void ResetTimer()
{
startTime = Time.time;
}
private void OnDestroy()
{
//IL_0022: Unknown result type (might be due to invalid IL or missing references)
//IL_0055: Unknown result type (might be due to invalid IL or missing references)
//IL_005a: Unknown result type (might be due to invalid IL or missing references)
//IL_005b: Unknown result type (might be due to invalid IL or missing references)
//IL_0070: Unknown result type (might be due to invalid IL or missing references)
//IL_0075: Unknown result type (might be due to invalid IL or missing references)
ResetScale();
((Component)this).gameObject.transform.localPosition = new Vector3(0f, 0f, 0f);
foreach (object item in ((Component)this).gameObject.transform.parent.GetChild(4))
{
Transform val = (Transform)item;
val.localPosition -= new Vector3(0f, yOffset, 0f);
}
}
}
internal class WideVisualEffect : OnFlipEffect
{
private bool wide;
private Vector3 orig_scale;
private const float xmult = 1f;
private const float ymult = 1f;
private const float dy = 0.02f;
private const float maxDeltaY = 0.1f;
private float signy = 1f;
private void Start()
{
}
public override void Selected()
{
//IL_0021: Unknown result type (might be due to invalid IL or missing references)
//IL_0026: 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_005c: Unknown result type (might be due to invalid IL or missing references)
//IL_0077: Unknown result type (might be due to invalid IL or missing references)
//IL_0081: Unknown result type (might be due to invalid IL or missing references)
if (!wide)
{
wide = true;
orig_scale = ((Component)this).gameObject.transform.localScale;
((Component)this).gameObject.transform.localScale = new Vector3(((Component)this).gameObject.transform.localScale.x * 1f, ((Component)this).gameObject.transform.localScale.y * 1f, ((Component)this).gameObject.transform.localScale.z);
}
}
public override void Unselected()
{
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
wide = false;
((Component)this).gameObject.transform.localScale = orig_scale;
}
private void Update()
{
//IL_002b: 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_008e: Unknown result type (might be due to invalid IL or missing references)
//IL_0093: Unknown result type (might be due to invalid IL or missing references)
if (wide)
{
if (Mathf.Abs(orig_scale.y * 1f - ((Component)this).gameObject.transform.localScale.y) >= 0.1f)
{
signy *= -1f;
}
((Component)this).gameObject.transform.localScale = ((Component)this).gameObject.transform.localScale + new Vector3(0f, signy * 0.02f, 0f);
}
}
private void OnDisable()
{
wide = false;
}
private void OnDestroy()
{
wide = false;
}
}
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers)
{
cardInfo.categories = (CardCategory[])(object)new CardCategory[1] { OnFlipEffect.onFlipEffectCategory };
cardInfo.allowMultiple = false;
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
((Component)player).gameObject.AddComponent<InvisibilityMono>();
characterStats.movementSpeed *= 1.25f;
Human.WidePlayerEffect orAddComponent = ExtensionMethods.GetOrAddComponent<Human.WidePlayerEffect>(((Component)((Component)player).gameObject.transform.GetChild(0)).gameObject, false);
orAddComponent.ratio *= 0f;
orAddComponent.yOffset += 0f;
orAddComponent.ResetScale();
orAddComponent.Widen();
}
public override void OnRemoveCard()
{
}
protected override string GetTitle()
{
return "Invisibility";
}
protected override string GetDescription()
{
return "You Become Invisible";
}
protected override GameObject GetCardArt()
{
return null;
}
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)2;
}
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 = true,
stat = "Invisibility",
amount = "+100%",
simepleAmount = (SimpleAmount)4
}
};
}
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;
}
public override string GetModName()
{
return "POOP";
}
public override void Callback()
{
ExtensionMethods.GetOrAddComponent<Human.WideVisualEffect>(((Component)this).gameObject, false);
}
}
internal class Laser : CustomCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
gun.ammo = 100;
gun.projectileSpeed = 10f;
Debug.Log((object)("[POOP][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
//IL_0022: Unknown result type (might be due to invalid IL or missing references)
//IL_0027: Unknown result type (might be due to invalid IL or missing references)
gun.reflects += 5;
gun.damage *= 0.25f;
gun.projectileColor = Color.red;
gun.gravity *= 0f;
gun.attackSpeed *= 0f;
Debug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "POOP", ((CustomCard)this).GetTitle(), 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)string.Format("[{0}][Card] {1} has been removed from player {2}.", "POOP", ((CustomCard)this).GetTitle(), player.playerID));
}
protected override string GetTitle()
{
return "Laser?";
}
protected override string GetDescription()
{
return "";
}
protected override GameObject GetCardArt()
{
return null;
}
protected override Rarity GetRarity()
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000b: 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)
return RarityUtils.GetRarity("Legendary");
}
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 = "",
amount = "Pew?",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "",
amount = "Pew?",
simepleAmount = (SimpleAmount)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)0;
}
public override string GetModName()
{
return "POOP";
}
}
public class LegendaryGamble : CustomCard
{
public static CardCategory[] noLotteryCategories = (CardCategory[])(object)new CardCategory[2]
{
CustomCardCategories.instance.CardCategory("CardManipulation"),
CustomCardCategories.instance.CardCategory("NoRandom")
};
internal static List<string> cardDescriptions = new List<string> { "3/4 Chance To Get A <color=#ffff00>Legendary</color> Card, 1/4 Chance of Getting <color=#ff0000>Stone Age</color>" };
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers)
{
CardInfoExtension.GetAdditionalData(cardInfo).canBeReassigned = false;
cardInfo.categories = (CardCategory[])(object)new CardCategory[1] { CustomCardCategories.instance.CardCategory("CardManipulation") };
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
CardInfo val = Cards.instance.NORARITY_GetRandomCardWithCondition(player, gun, gunAmmo, data, health, gravity, block, characterStats, (Func<CardInfo, Player, Gun, GunAmmo, CharacterData, HealthHandler, Gravity, Block, CharacterStatModifiers, bool>)condition, 1000);
if ((Object)(object)val == (Object)null)
{
CardInfo[] array = ((ObservableCollection<CardInfo>)typeof(CardManager).GetField("activeCards", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null)).ToList().Concat((List<CardInfo>)typeof(CardManager).GetField("inactiveCards", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null)).ToArray();
val = Cards.instance.DrawRandomCardWithCondition(array, player, (Gun)null, (GunAmmo)null, (CharacterData)null, (HealthHandler)null, (Gravity)null, (Block)null, (CharacterStatModifiers)null, (Func<CardInfo, Player, Gun, GunAmmo, CharacterData, HealthHandler, Gravity, Block, CharacterStatModifiers, bool>)condition, 1000);
}
Cards.instance.AddCardToPlayer(player, val, false, "", 0f, 0f, true);
CardBarUtils.instance.ShowAtEndOfPhase(player, val);
}
public override void OnRemoveCard()
{
}
protected override string GetTitle()
{
return "Legendary Gamble";
}
protected override string GetDescription()
{
return cardDescriptions[0];
}
protected override GameObject GetCardArt()
{
return null;
}
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)2;
}
protected override CardInfoStat[] GetStats()
{
return null;
}
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;
}
public bool condition(CardInfo card, Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
//IL_008c: Unknown result type (might be due to invalid IL or missing references)
//IL_0096: Unknown result type (might be due to invalid IL or missing references)
//IL_005b: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Unknown result type (might be due to invalid IL or missing references)
Random random = new Random();
int num = random.Next(1, 100);
if (num <= 75)
{
return card.rarity == RarityUtils.GetRarity("Legendary") && !card.categories.Intersect(noLotteryCategories).Any();
}
if (num > 76)
{
return card.rarity == RarityUtils.GetRarity("Stone Age") && !card.categories.Intersect(noLotteryCategories).Any();
}
return card.rarity == RarityUtils.GetRarity("Back To Basics") && !card.categories.Intersect(noLotteryCategories).Any();
}
public override string GetModName()
{
return "POOP";
}
}
internal class LSS : CustomCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
statModifiers.numberOfJumps = 1;
Debug.Log((object)("[POOP][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
//IL_0217: Unknown result type (might be due to invalid IL or missing references)
data.maxHealth *= 1.15f;
block.cooldown *= 0.85f;
block.additionalBlocks++;
gunAmmo.reloadTime *= 0.85f;
characterStats.movementSpeed *= 1.15f;
gun.gravity *= 0.85f;
gun.projectileSpeed *= 1.15f;
gun.projectielSimulatonSpeed *= 1.15f;
if (gun.size <= 0f)
{
gun.size += 0.15f;
}
else
{
gun.size *= 1.15f;
}
gun.numberOfProjectiles++;
gunAmmo.maxAmmo++;
gun.spread *= 0.9f;
gun.evenSpread *= 0.9f;
gun.damage *= 1.15f;
gun.damageAfterDistanceMultiplier *= 1.15f;
gun.dmgMOnBounce *= 1.15f;
if (gun.slow <= 0f)
{
gun.slow += 0.1f;
}
else
{
gun.slow *= 1.15f;
}
gun.attackSpeed *= 0.85f;
gun.knockback *= 1.15f;
gun.destroyBulletAfter *= 1.1f;
gravity.gravityForce *= 0.9f;
if (characterStats.lifeSteal == 0f)
{
characterStats.lifeSteal += 0.15f;
}
else
{
characterStats.lifeSteal *= 1.15f;
}
ObjectsToSpawn item = ((GameObject)Resources.Load("0 cards/Mayhem")).GetComponent<Gun>().objectsToSpawn[0];
List<ObjectsToSpawn> list = gun.objectsToSpawn.ToList();
list.Add(item);
gun.objectsToSpawn = list.ToArray();
Debug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "POOP", ((CustomCard)this).GetTitle(), 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)string.Format("[{0}][Card] {1} has been removed from player {2}.", "POOP", ((CustomCard)this).GetTitle(), player.playerID));
}
protected override string GetTitle()
{
return "Lil Something Special";
}
protected override string GetDescription()
{
return "All Without Bounce";
}
protected override GameObject GetCardArt()
{
return null;
}
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)2;
}
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 = true,
stat = "",
amount = "",
simepleAmount = (SimpleAmount)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)7;
}
public override string GetModName()
{
return "POOP";
}
}
internal class MiniBoss : CustomCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
statModifiers.movementSpeed = 0.75f;
statModifiers.health = 2.5f;
gun.projectielSimulatonSpeed = 0.85f;
gun.attackSpeed = 1.5f;
Debug.Log((object)("[POOP][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
Debug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "POOP", ((CustomCard)this).GetTitle(), 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)string.Format("[{0}][Card] {1} has been removed from player {2}.", "POOP", ((CustomCard)this).GetTitle(), player.playerID));
}
protected override string GetTitle()
{
return "Mini Boss";
}
protected override string GetDescription()
{
return "Raid Boss But Good";
}
protected override GameObject GetCardArt()
{
return null;
}
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)1;
}
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 = true,
stat = "",
amount = "",
simepleAmount = (SimpleAmount)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)4;
}
public override string GetModName()
{
return "POOP";
}
}
internal class RatsMagicMissles : CustomCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
Debug.Log((object)("[POOP][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
gun.damage *= 500f;
gun.projectileSpeed = 0.01f;
Debug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "POOP", ((CustomCard)this).GetTitle(), 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)string.Format("[{0}][Card] {1} has been removed from player {2}.", "POOP", ((CustomCard)this).GetTitle(), player.playerID));
}
protected override string GetTitle()
{
return "CardName";
}
protected override string GetDescription()
{
return "CardDescription";
}
protected override GameObject GetCardArt()
{
return null;
}
protected override Rarity GetRarity()
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000b: 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)
return RarityUtils.GetRarity("Legendary");
}
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 = true,
stat = "Effect",
amount = "No",
simepleAmount = (SimpleAmount)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)8;
}
public override string GetModName()
{
return "POOP";
}
}
internal class RaveBoss : CustomCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
statModifiers.health = 4f;
cardInfo.allowMultiple = false;
Debug.Log((object)("[POOP][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
((Component)player).gameObject.AddComponent<Rave>();
Debug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "POOP", ((CustomCard)this).GetTitle(), 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)string.Format("[{0}][Card] {1} has been removed from player {2}.", "POOP", ((CustomCard)this).GetTitle(), player.playerID));
}
protected override string GetTitle()
{
return "Rave Boss";
}
protected override string GetDescription()
{
return "You Are The Party";
}
protected override GameObject GetCardArt()
{
return null;
}
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)2;
}
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 = true,
stat = "",
amount = "",
simepleAmount = (SimpleAmount)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)4;
}
public override string GetModName()
{
return "POOP";
}
}
internal class ShadowBullets : CustomCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Unknown result type (might be due to invalid IL or missing references)
gun.projectileColor = Color.clear;
Debug.Log((object)("[POOP][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
CharacterStatModifiers statModifiers = base.statModifiers;
statModifiers.health *= 0.75f;
gun.projectileSpeed *= 1000f;
CharacterStatModifiers statModifiers2 = base.statModifiers;
statModifiers2.movementSpeed *= 1.25f;
Debug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "POOP", ((CustomCard)this).GetTitle(), 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)string.Format("[{0}][Card] {1} has been removed from player {2}.", "POOP", ((CustomCard)this).GetTitle(), player.playerID));
}
protected override string GetTitle()
{
return "Shadow Bullets";
}
protected override string GetDescription()
{
return "Your Bullets Become One With The Shadow";
}
protected override GameObject GetCardArt()
{
return null;
}
protected override Rarity GetRarity()
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000b: 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)
return RarityUtils.GetRarity("Legendary");
}
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 = "Speed",
amount = "+25%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Health",
amount = "-25%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = true,
stat = "Bullets",
amount = "Invisble",
simepleAmount = (SimpleAmount)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;
}
public override string GetModName()
{
return "POOP";
}
}
internal class SlowStart : CustomCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
gun.projectileSpeed = 0.5f;
gun.reflects = 20;
Debug.Log((object)("[POOP][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
//IL_004f: Unknown result type (might be due to invalid IL or missing references)
gun.ammo += 3;
gun.speedMOnBounce *= 1.5f;
gun.dmgMOnBounce *= 0.8f;
gun.gravity *= 0f;
ObjectsToSpawn item = ((GameObject)Resources.Load("0 cards/Mayhem")).GetComponent<Gun>().objectsToSpawn[0];
List<ObjectsToSpawn> list = gun.objectsToSpawn.ToList();
list.Add(item);
Debug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "POOP", ((CustomCard)this).GetTitle(), 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)string.Format("[{0}][Card] {1} has been removed from player {2}.", "POOP", ((CustomCard)this).GetTitle(), player.playerID));
}
protected override string GetTitle()
{
return "Slow Start";
}
protected override string GetDescription()
{
return "";
}
protected override GameObject GetCardArt()
{
return null;
}
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)2;
}
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
//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
//IL_00be: Unknown result type (might be due to invalid IL or missing references)
//IL_00c5: Unknown result type (might be due to invalid IL or missing references)
//IL_00d0: Unknown result type (might be due to invalid IL or missing references)
//IL_00db: Unknown result type (might be due to invalid IL or missing references)
//IL_00dd: Unknown result type (might be due to invalid IL or missing references)
//IL_00e3: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[5]
{
new CardInfoStat
{
positive = false,
stat = "Projectile Speed",
amount = "-50%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Damage On Bounce",
amount = "-5%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = true,
stat = "Speed On Bounce",
amount = "+50%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = true,
stat = "Bounces",
amount = "+20",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = true,
stat = "Bullet Gravity",
amount = "-100%",
simepleAmount = (SimpleAmount)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)0;
}
public override string GetModName()
{
return "POOP";
}
}
internal class StoneAge : CustomCard
{
internal static CardCategory componentCategory = CustomCardCategories.instance.CardCategory("Resets");
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
cardInfo.categories = (CardCategory[])(object)new CardCategory[1] { CustomCardCategories.instance.CardCategory("Resets") };
Debug.Log((object)("[POOP][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
((Component)player).gameObject.AddComponent<StoneAgeMono>();
Debug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "POOP", ((CustomCard)this).GetTitle(), 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)string.Format("[{0}][Card] {1} has been removed from player {2}.", "POOP", ((CustomCard)this).GetTitle(), player.playerID));
}
protected override string GetTitle()
{
return "Stone Age";
}
protected override string GetDescription()
{
return "<color=#ff0000>Remove All Cards From Your Self</color>";
}
protected override GameObject GetCardArt()
{
return null;
}
protected override Rarity GetRarity()
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000b: 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)
return RarityUtils.GetRarity("Stone Age");
}
protected override CardInfoStat[] GetStats()
{
return null;
}
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)4;
}
public override string GetModName()
{
return "POOP";
}
}
}