Decompiled source of UnstableCards v2.8.1
UnstableCards.dll
Decompiled a week ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using ClassesManagerReborn; using ClassesManagerReborn.Util; using HarmonyLib; using Jotunn.Utils; using Microsoft.CodeAnalysis; using ModdingUtils.MonoBehaviours; using ModdingUtils.Utils; using Photon.Pun; using RarityLib.Utils; using UnboundLib; using UnboundLib.Cards; using UnityEngine; using UnstableCards.Cards.Buff; using UnstableCards.Cards.Damned; using UnstableCards.Cards.God; using UnstableCards.Cards.NameClasses; using UnstableCards.Cards.Special; using UnstableCards.Cards.Totem; using UnstableCards.Cards.Wacky; using WillsWackyManagers.MonoBehaviours; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("UnstableCards")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("UnstableCards")] [assembly: AssemblyTitle("UnstableCards")] [assembly: AssemblyVersion("1.0.0.0")] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } } namespace UnstableCards { internal class Assets { private static readonly AssetBundle Bundle = AssetUtils.LoadAssetBundleFromResources("assets", typeof(UnstableCards).Assembly); public static GameObject FirefliesArt = Bundle.LoadAsset<GameObject>("C_Fireflies"); public static GameObject BoomstickArt = Bundle.LoadAsset<GameObject>("C_Boomstick"); public static GameObject GoldenAppleArt = Bundle.LoadAsset<GameObject>("C_GoldenApple"); public static GameObject EnchantedGoldenAppleArt = Bundle.LoadAsset<GameObject>("C_EnchantedGoldenApple"); public static GameObject DrumMagArt = Bundle.LoadAsset<GameObject>("C_DrumMag"); public static GameObject AmmoContainerArt = Bundle.LoadAsset<GameObject>("C_AmmoContainer"); public static GameObject DetonatorArt = Bundle.LoadAsset<GameObject>("C_Detonator"); public static GameObject StoneStatueArt = Bundle.LoadAsset<GameObject>("C_StoneStatue"); public static GameObject UraniumPayloadArt = Bundle.LoadAsset<GameObject>("C_UraniumPayload"); public static GameObject PointClickAdventureGameArt = Bundle.LoadAsset<GameObject>("C_PointClickAdventureGame"); public static GameObject WeaponServicingArt = Bundle.LoadAsset<GameObject>("C_WeaponServicing"); public static GameObject RunItBackArt = Bundle.LoadAsset<GameObject>("C_RunItBack"); public static GameObject DenseBulletsArt = Bundle.LoadAsset<GameObject>("C_DenseBullets"); public static GameObject OneInTheChamberArt = Bundle.LoadAsset<GameObject>("C_OneInTheChamber"); public static GameObject TwoInTheChamberArt = Bundle.LoadAsset<GameObject>("C_TwoInTheChamber"); public static GameObject ShieldOfTheDamnedArt = Bundle.LoadAsset<GameObject>("C_ShieldOfTheDamned"); public static GameObject HeartOfTheDamnedArt = Bundle.LoadAsset<GameObject>("C_HeartOfTheDamned"); public static GameObject SkullOfTheDamnedArt = Bundle.LoadAsset<GameObject>("C_SkullOfTheDamned"); public static GameObject SoulOfTheDamnedArt = Bundle.LoadAsset<GameObject>("C_SoulOfTheDamned"); public static GameObject TheCatArt = Bundle.LoadAsset<GameObject>("C_TheCat"); public static GameObject AngelWeaverArt = Bundle.LoadAsset<GameObject>("C_AngelWeaver"); public static GameObject IllegalGunPartsArt = Bundle.LoadAsset<GameObject>("C_IllegalGunParts"); public static GameObject RustBucketArt = Bundle.LoadAsset<GameObject>("C_RustBucket"); public static GameObject NinjitsuMasterArt = Bundle.LoadAsset<GameObject>("C_NinjitsuMaster"); public static GameObject ProfessionalArt = Bundle.LoadAsset<GameObject>("C_Professional"); public static GameObject BostonBoyArt = Bundle.LoadAsset<GameObject>("C_BostonBoy"); public static GameObject RocketJumperArt = Bundle.LoadAsset<GameObject>("C_RocketJumper"); public static GameObject TotemOfTheDamnedArt = Bundle.LoadAsset<GameObject>("C_TotemOfTheDamned"); public static GameObject TotemOfTheBalancedArt = Bundle.LoadAsset<GameObject>("C_TotemOfTheBalanced"); public static GameObject TotemOfTheForgottenArt = Bundle.LoadAsset<GameObject>("C_TotemOfTheForgotten"); public static GameObject HeavyWeaponsGuyArt = Bundle.LoadAsset<GameObject>("C_HeavyWeaponsGuy"); public static GameObject StabbinLicenseArt = Bundle.LoadAsset<GameObject>("C_StabbinLicense"); public static GameObject TheSoulConsumerArt = Bundle.LoadAsset<GameObject>("C_TheSoulConsumer"); public static GameObject BulletConjurerArt = Bundle.LoadAsset<GameObject>("C_BulletConjurer"); public static GameObject BulletsOfTheDamnedArt = Bundle.LoadAsset<GameObject>("C_BulletsOfTheDamned"); public static GameObject WavyBulletsArt = Bundle.LoadAsset<GameObject>("C_WavyBullets"); public static GameObject BubbleArt = Bundle.LoadAsset<GameObject>("C_Bubble"); public static GameObject OilFilterArt = Bundle.LoadAsset<GameObject>("C_OilFilter"); public static GameObject TrainBulletsArt = Bundle.LoadAsset<GameObject>("C_TrainBullets"); public static GameObject CardCollectorArt = Bundle.LoadAsset<GameObject>("C_CardCollector"); public static GameObject ExtendedMagArt = Bundle.LoadAsset<GameObject>("C_ExtendedMag"); public static GameObject PlaceHolderArt = Bundle.LoadAsset<GameObject>("C_TemporaryCardArt"); public static AudioClip totemOfTheDamnedAudio = Bundle.LoadAsset<AudioClip>("A_TotemOfTheDamned"); public static AudioClip totemOfTheBalancedAudio = Bundle.LoadAsset<AudioClip>("A_TotemOfTheBalanced"); public static AudioClip totemOfTheForgottenAudio = Bundle.LoadAsset<AudioClip>("A_TotemOfTheForgotten"); public static AudioClip BostonBoyAudio = Bundle.LoadAsset<AudioClip>("A_BostonBoy"); public static AudioClip GoldenAppleAudio = Bundle.LoadAsset<AudioClip>("A_GoldenApple"); public static AudioClip RustBucketAudio = Bundle.LoadAsset<AudioClip>("A_RustBucket"); public static AudioClip HeavyWeaponsGuyAudio = Bundle.LoadAsset<AudioClip>("A_HeavyWeaponsGuy"); } [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [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.Astr0ni.Rounds.UnstableCards", "Unstable Cards", "2.8.1")] [BepInProcess("Rounds.exe")] public class UnstableCards : BaseUnityPlugin { private const string ModId = "com.Astr0ni.Rounds.UnstableCards"; private const string ModName = "Unstable Cards"; private const string Version = "2.8.1"; public const string ModInitials = "UC"; internal static List<CardInfo> damnedCards = new List<CardInfo>(); private static List<CardInfo> registeredCards = new List<CardInfo>(); public static UnstableCards instance { get; private set; } public static void SaveCardInfo(CardInfo cardInfo) { registeredCards.Add(cardInfo); Debug.Log("Card registered: " + cardInfo.cardName); } public static CardInfo GetCardInfoByName(string cardName) { string cardName2 = cardName; return ((IEnumerable<CardInfo>)registeredCards).FirstOrDefault((Func<CardInfo, bool>)((CardInfo card) => card.cardName.Equals(cardName2, StringComparison.OrdinalIgnoreCase))); } private void Awake() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) new Harmony("com.Astr0ni.Rounds.UnstableCards").PatchAll(); } private void Start() { CustomCard.BuildCard<Boomstick>((Action<CardInfo>)delegate(CardInfo cardInfo) { SaveCardInfo(cardInfo); }); CustomCard.BuildCard<PointClickAdventureGame>(); CustomCard.BuildCard<UraniumPayload>(); CustomCard.BuildCard<StabbinLicense>(); CustomCard.BuildCard<Detonator>(); CustomCard.BuildCard<StoneStatue>(); CustomCard.BuildCard<RocketJumper>(); CustomCard.BuildCard<HeavyWeaponsGuy>(); CustomCard.BuildCard<Fireflies>(); CustomCard.BuildCard<WavyBullets>(); CustomCard.BuildCard<Bubble>(); CustomCard.BuildCard<TrainBullets>(); CustomCard.BuildCard<GasGasGas>(); CustomCard.BuildCard<RustBucket>(); CustomCard.BuildCard<NinjitsuMaster>(); CustomCard.BuildCard<BostonBoy>(); CustomCard.BuildCard<GoldenApple>(); CustomCard.BuildCard<EnchantedGoldenApple>(); CustomCard.BuildCard<OneInTheChamber>(); CustomCard.BuildCard<ExtendedMag>(); CustomCard.BuildCard<DrumMag>(); CustomCard.BuildCard<AmmoContainer>(); CustomCard.BuildCard<IllegalGunParts>(); CustomCard.BuildCard<RunItBack>(); CustomCard.BuildCard<WeaponServicing>(); CustomCard.BuildCard<DenseBullets>(); CustomCard.BuildCard<Professional>(); CustomCard.BuildCard<BulletConjurer>(); CustomCard.BuildCard<OilFilter>(); CustomCard.BuildCard<CardCollector>(); CustomCard.BuildCard<TheCat>(); CustomCard.BuildCard<TheSoulConsumer>(); CustomCard.BuildCard<AngelWeaver>(); CustomCard.BuildCard<TotemOfRebirth>(); CustomCard.BuildCard<TotemOfTheBalanced>(); CustomCard.BuildCard<TotemOfTheDamned>(); CustomCard.BuildCard<HeartOfTheDamned>((Action<CardInfo>)delegate(CardInfo c) { Cards.instance.AddHiddenCard(c); damnedCards.Add(c); }); CustomCard.BuildCard<SkullOfTheDamned>((Action<CardInfo>)delegate(CardInfo c) { Cards.instance.AddHiddenCard(c); damnedCards.Add(c); }); CustomCard.BuildCard<ShieldOfTheDamned>((Action<CardInfo>)delegate(CardInfo c) { Cards.instance.AddHiddenCard(c); damnedCards.Add(c); }); CustomCard.BuildCard<SoulOfTheDamned>((Action<CardInfo>)delegate(CardInfo c) { Cards.instance.AddHiddenCard(c); damnedCards.Add(c); }); CustomCard.BuildCard<BulletsOfTheDamned>((Action<CardInfo>)delegate(CardInfo c) { Cards.instance.AddHiddenCard(c); damnedCards.Add(c); }); CustomCard.BuildCard<RebirthedSoul>((Action<CardInfo>)delegate(CardInfo cardInfo) { SaveCardInfo(cardInfo); }); instance = this; } public static (GameObject AddToProjectile, GameObject effect, Explosion explosion) LoadExplosion(string name, Gun? gun = null) { //IL_000a: 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) Gun component = ((GameObject)Resources.Load("0 cards/Explosive bullet")).GetComponent<Gun>(); if ((Object)(object)gun != (Object)null) { gun.soundGun.AddSoundImpactModifier(component.soundImpactModifier); } GameObject addToProjectile = component.objectsToSpawn[0].AddToProjectile; GameObject val = Object.Instantiate<GameObject>(component.objectsToSpawn[0].effect); val.transform.position = new Vector3(1000f, 0f, 0f); ((Object)val).hideFlags = (HideFlags)61; ((Object)val).name = name; Object.DestroyImmediate((Object)(object)val.GetComponent<RemoveAfterSeconds>()); Explosion component2 = val.GetComponent<Explosion>(); return (addToProjectile, val, component2); } } } namespace UnstableCards.Cards.Wacky { internal class Boomstick : CustomCard { public override void Callback() { ExtensionMethods.GetOrAddComponent<ClassNameMono>(((Component)this).gameObject, false).className = WackyClass.name; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.attackSpeed = 1.5f; gun.damage = 0.75f; gun.spread = 0.25f; gun.multiplySpread = 1.75f; gun.knockback = 10f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { gun.bodyRecoil += 350f; gunAmmo.reloadTimeAdd += 2f; gun.numberOfProjectiles += 5; } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } protected override string GetTitle() { return "Boomstick"; } protected override string GetDescription() { return "This right here, is my BOOMSTICK!"; } protected override GameObject GetCardArt() { return Assets.BoomstickArt; } protected override Rarity GetRarity() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) return RarityUtils.GetRarity("Exotic"); } protected override CardInfoStat[] GetStats() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Expected O, but got Unknown //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: 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_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Expected O, but got Unknown //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) //IL_006c: 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_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Expected O, but got Unknown //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: 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) //IL_00b6: Expected O, but got Unknown //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Expected O, but got Unknown //IL_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00f0: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_0106: Unknown result type (might be due to invalid IL or missing references) //IL_0108: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Expected O, but got Unknown //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_0115: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Unknown result type (might be due to invalid IL or missing references) //IL_0132: Unknown result type (might be due to invalid IL or missing references) //IL_0134: Unknown result type (might be due to invalid IL or missing references) //IL_013a: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[7] { new CardInfoStat { positive = true, stat = "Knockback", amount = "+1000%", simepleAmount = (SimpleAmount)4 }, new CardInfoStat { positive = true, stat = "Bullets", amount = "+5", simepleAmount = (SimpleAmount)2 }, new CardInfoStat { positive = false, stat = "Reload Time", amount = "+2.0s", simepleAmount = (SimpleAmount)2 }, new CardInfoStat { positive = false, stat = "ATKSPD", amount = "+1.5s", simepleAmount = (SimpleAmount)2 }, new CardInfoStat { positive = false, stat = "DMG", amount = "-20%", simepleAmount = (SimpleAmount)6 }, new CardInfoStat { positive = false, stat = "Spread", amount = "+25%", simepleAmount = (SimpleAmount)3 }, new CardInfoStat { positive = false, stat = "Recoil", amount = "+350", simepleAmount = (SimpleAmount)3 } }; } protected override CardThemeColorType GetTheme() { return (CardThemeColorType)1; } public override string GetModName() { return "UC"; } } internal class Bubble : CustomCard { public override void Callback() { ExtensionMethods.GetOrAddComponent<ClassNameMono>(((Component)this).gameObject, false).className = WackyClass.name; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { statModifiers.health = 0.5f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { InAirJumpEffect orAddComponent = ExtensionMethods.GetOrAddComponent<InAirJumpEffect>(((Component)player).gameObject, false); orAddComponent.SetJumpMult(0.1f); orAddComponent.AddJumps(10000f); orAddComponent.SetCostPerJump(1f); orAddComponent.SetContinuousTrigger(true); orAddComponent.SetResetOnWallGrab(true); orAddComponent.SetInterval(0.1f); gravity.gravityForce = 0.01f; } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } protected override string GetTitle() { return "Bubble"; } protected override string GetDescription() { return "Hi bubble! *pop*. This presentation was brought to you by Blocky's funny doings international."; } protected override GameObject GetCardArt() { return Assets.BubbleArt; } protected override Rarity GetRarity() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) return RarityUtils.GetRarity("Scarce"); } protected override CardInfoStat[] GetStats() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Expected O, but got Unknown //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: 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_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[2] { new CardInfoStat { positive = true, stat = "Gravity", amount = "fly!", simepleAmount = (SimpleAmount)2 }, new CardInfoStat { positive = false, stat = "Health", amount = "-50%", simepleAmount = (SimpleAmount)6 } }; } protected override CardThemeColorType GetTheme() { return (CardThemeColorType)7; } public override string GetModName() { return "UC"; } } internal class Detonator : CustomCard { private readonly ObjectsToSpawn[] explosionToSpawn = (ObjectsToSpawn[])(object)new ObjectsToSpawn[1]; public override void Callback() { ExtensionMethods.GetOrAddComponent<ClassNameMono>(((Component)this).gameObject, false).className = WackyClass.name; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.bulletDamageMultiplier = 2f; gun.size = 10f; gun.projectileSpeed = 0.5f; gun.unblockable = true; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_006c: 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_0075: 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_0081: 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_0097: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: 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) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: 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_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Expected O, but got Unknown if (explosionToSpawn[0] == null) { (GameObject AddToProjectile, GameObject effect, Explosion explosion) tuple = UnstableCards.LoadExplosion("explosionDetonator", gun); GameObject item = tuple.AddToProjectile; GameObject item2 = tuple.effect; Explosion item3 = tuple.explosion; item3.force *= 10f; item3.range *= 3f; item3.damage = 2.1474836E+09f; item3.ignoreWalls = true; explosionToSpawn[0] = new ObjectsToSpawn { AddToProjectile = item, direction = (Direction)0, effect = item2, normalOffset = 1f, scaleFromDamage = 1f, scaleStackM = 0.2f, scaleStacks = true, spawnAsChild = false, spawnOn = (SpawnOn)0, stacks = 1, stickToAllTargets = false, stickToBigTargets = false, zeroZ = false }; } gun.objectsToSpawn = gun.objectsToSpawn.Concat(explosionToSpawn).ToArray(); } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { gun.objectsToSpawn = gun.objectsToSpawn.Except(explosionToSpawn).ToArray(); } protected override string GetTitle() { return "Detonator"; } protected override string GetDescription() { return "Blast everything around you (including yourself) into oblivion."; } protected override GameObject GetCardArt() { return Assets.DetonatorArt; } protected override Rarity GetRarity() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) return RarityUtils.GetRarity("Epic"); } protected override CardInfoStat[] GetStats() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[1] { new CardInfoStat { positive = false, stat = "Self Explosion", amount = "explosion!", simepleAmount = (SimpleAmount)4 } }; } protected override CardThemeColorType GetTheme() { return (CardThemeColorType)0; } public override string GetModName() { return "UC"; } } internal class Fireflies : CustomCard { public override void Callback() { ExtensionMethods.GetOrAddComponent<ClassNameMono>(((Component)this).gameObject, false).className = WackyClass.name; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) gun.spread = 0.1f; gun.projectileColor = Color.yellow; gun.gravity = 0f; gun.projectileSpeed = 0.7f; gun.ignoreWalls = true; gun.damage = 0.2f; gun.multiplySpread = 1.75f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { gun.cos = Random.Range(0.05f, 0.35f); gun.numberOfProjectiles += 4; gunAmmo.maxAmmo += 4; } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } protected override string GetTitle() { return "Fireflies"; } protected override string GetDescription() { return "Shoot slow moving fireflies, You won't believe your eyes!"; } protected override GameObject GetCardArt() { return Assets.FirefliesArt; } protected override Rarity GetRarity() { return (Rarity)1; } protected override CardInfoStat[] GetStats() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Expected O, but got Unknown //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: 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_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Expected O, but got Unknown //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) //IL_006c: 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_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Expected O, but got Unknown //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: 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) //IL_00b6: Expected O, but got Unknown //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[5] { new CardInfoStat { positive = true, stat = "Bullets", amount = "+4", simepleAmount = (SimpleAmount)3 }, new CardInfoStat { positive = true, stat = "Ignore Walls", amount = "true", simepleAmount = (SimpleAmount)3 }, new CardInfoStat { positive = false, stat = "Bullet Spread", amount = "+75%", simepleAmount = (SimpleAmount)3 }, new CardInfoStat { positive = false, stat = "Bullet Speed", amount = "-30%", simepleAmount = (SimpleAmount)7 }, new CardInfoStat { positive = false, stat = "Bullet Damage", amount = "-80%", simepleAmount = (SimpleAmount)6 } }; } protected override CardThemeColorType GetTheme() { return (CardThemeColorType)1; } public override string GetModName() { return "UC"; } } internal class GasGasGas : CustomCard { public override void Callback() { ExtensionMethods.GetOrAddComponent<ClassNameMono>(((Component)this).gameObject, false).className = BuffClass.name; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { statModifiers.movementSpeed = 1.25f; gun.recoil = -50f; block.forceToAdd = -10f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } protected override string GetTitle() { return "Gas Gas Gas"; } protected override string GetDescription() { return "<b>OH LAWRD HE COMIN'</b>. Makes you dash forward when blocking and shooting"; } protected override GameObject GetCardArt() { return Assets.PlaceHolderArt; } protected override Rarity GetRarity() { return (Rarity)0; } protected override CardInfoStat[] GetStats() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Expected O, but got Unknown //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: 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_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[2] { new CardInfoStat { positive = true, stat = "Movement Speed", amount = "+25%", simepleAmount = (SimpleAmount)2 }, new CardInfoStat { positive = false, stat = "Health", amount = "-5%", simepleAmount = (SimpleAmount)6 } }; } protected override CardThemeColorType GetTheme() { return (CardThemeColorType)0; } public override string GetModName() { return "UC"; } } internal class HeavyWeaponsGuy : CustomCard { public override void Callback() { ExtensionMethods.GetOrAddComponent<ClassNameMono>(((Component)this).gameObject, false).className = WackyClass.name; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.attackSpeed = 0.1f; gun.reflects = -999; gun.spread = 0.4f; gun.reloadTime = 0.5f; gun.projectileSpeed = 2f; gun.damage = 0.2f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { //IL_0005: Unknown result type (might be due to invalid IL or missing references) AudioSource orAddComponent = ExtensionMethods.GetOrAddComponent<AudioSource>(new GameObject("audioSource").gameObject, false); ExtensionMethods.GetOrAddComponent<RemoveAfterSeconds>(((Component)orAddComponent).gameObject, false); ((Component)orAddComponent).GetComponent<RemoveAfterSeconds>().seconds = 5f; orAddComponent.PlayOneShot(Assets.HeavyWeaponsGuyAudio, 1.5f); gunAmmo.maxAmmo += 99; } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } protected override string GetTitle() { return "Heavy weapons guy"; } protected override string GetDescription() { return "A custom tool cartridge 10000rpm Max ammo bullet machine of death named 'Sasha'."; } protected override GameObject GetCardArt() { return Assets.HeavyWeaponsGuyArt; } protected override Rarity GetRarity() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) return RarityUtils.GetRarity("Mythical"); } protected override CardInfoStat[] GetStats() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Expected O, but got Unknown //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: 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_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Expected O, but got Unknown //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) //IL_006c: 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_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Expected O, but got Unknown //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: 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) //IL_00b6: Expected O, but got Unknown //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[5] { new CardInfoStat { positive = true, stat = "Reload Time", amount = "0.5s", simepleAmount = (SimpleAmount)1 }, new CardInfoStat { positive = true, stat = "ATKSPD", amount = "0.2s", simepleAmount = (SimpleAmount)1 }, new CardInfoStat { positive = false, stat = "DMG", amount = "-80%", simepleAmount = (SimpleAmount)7 }, new CardInfoStat { positive = false, stat = "Bullet Bounces", amount = "Disables", simepleAmount = (SimpleAmount)7 }, new CardInfoStat { positive = true, stat = "Bullet Speed", amount = "+200%", simepleAmount = (SimpleAmount)3 } }; } protected override CardThemeColorType GetTheme() { return (CardThemeColorType)0; } public override string GetModName() { return "UC"; } } internal class PointClickAdventureGame : CustomCard { public override void Callback() { ExtensionMethods.GetOrAddComponent<ClassNameMono>(((Component)this).gameObject, false).className = WackyClass.name; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.spread = 0f; gun.projectileSpeed = 99.9f; gun.projectielSimulatonSpeed = 9.9f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } protected override string GetTitle() { return "Point n Click Adventure Title"; } protected override string GetDescription() { return "Turn Rounds into a Point and click adventure game, Just point and click at an enemy to kill them!"; } protected override GameObject GetCardArt() { return Assets.PointClickAdventureGameArt; } protected override Rarity GetRarity() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) return RarityUtils.GetRarity("Epic"); } protected override CardInfoStat[] GetStats() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Expected O, but got Unknown //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: 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_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[2] { new CardInfoStat { positive = true, stat = "Bullet Speed", amount = "+9999%", simepleAmount = (SimpleAmount)4 }, new CardInfoStat { positive = true, stat = "Bullet Spread", amount = "resets", simepleAmount = (SimpleAmount)7 } }; } protected override CardThemeColorType GetTheme() { return (CardThemeColorType)7; } public override string GetModName() { return "UC"; } } internal class RocketJumper : CustomCard { private readonly ObjectsToSpawn[] explosionToSpawn = (ObjectsToSpawn[])(object)new ObjectsToSpawn[1]; public override void Callback() { ExtensionMethods.GetOrAddComponent<ClassNameMono>(((Component)this).gameObject, false).className = WackyClass.name; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) gun.projectileColor = Color.yellow; gun.bulletDamageMultiplier = 0f; gun.gravity = 0f; gun.projectileSpeed = 2f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0087: 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_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Expected O, but got Unknown gunAmmo.maxAmmo += 15; characterStats.gravity *= 0.75f; if (explosionToSpawn[0] == null) { (GameObject AddToProjectile, GameObject effect, Explosion explosion) tuple = UnstableCards.LoadExplosion("explosionRocketJumper", gun); GameObject item = tuple.AddToProjectile; GameObject item2 = tuple.effect; Explosion item3 = tuple.explosion; item3.force *= 10f; item3.range *= 2.25f; item3.damage = 0f; explosionToSpawn[0] = new ObjectsToSpawn { AddToProjectile = item, direction = (Direction)0, effect = item2, normalOffset = 0.1f, scaleFromDamage = 0f, scaleStackM = 0.2f, scaleStacks = true, spawnAsChild = false, spawnOn = (SpawnOn)0, stacks = 1, stickToAllTargets = false, stickToBigTargets = false, zeroZ = false }; } gun.objectsToSpawn = gun.objectsToSpawn.Concat(explosionToSpawn).ToArray(); } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { gun.objectsToSpawn = gun.objectsToSpawn.Except(explosionToSpawn).ToArray(); } protected override string GetTitle() { return "Rocket Jumper"; } protected override string GetDescription() { return "Harmless rockets! Meant for rocket jumping practice sessions! (or knocking your friends to infinity and beyond!)"; } protected override GameObject GetCardArt() { return Assets.RocketJumperArt; } protected override Rarity GetRarity() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) return RarityUtils.GetRarity("Scarce"); } protected override CardInfoStat[] GetStats() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Expected O, but got Unknown //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: 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_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Expected O, but got Unknown //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) //IL_006c: 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_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[3] { new CardInfoStat { positive = true, stat = "Damage", amount = "Harmless", simepleAmount = (SimpleAmount)7 }, new CardInfoStat { positive = true, stat = "Ammo", amount = "+15", simepleAmount = (SimpleAmount)3 }, new CardInfoStat { positive = true, stat = "Gravity", amount = "-25%", simepleAmount = (SimpleAmount)6 } }; } protected override CardThemeColorType GetTheme() { return (CardThemeColorType)8; } public override string GetModName() { return "UC"; } } internal class StabbinLicense : CustomCard { public override void Callback() { ExtensionMethods.GetOrAddComponent<ClassNameMono>(((Component)this).gameObject, false).className = WackyClass.name; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.destroyBulletAfter = 0.1f; gun.bulletDamageMultiplier = 5f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { characterStats.movementSpeed *= 1.2f; } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } protected override string GetTitle() { return "Stabbin License"; } protected override string GetDescription() { return "Officer: Oi mate you got a license for stabbin that bloke? *shows license*. Officer: Fair enough, keep stabbin him."; } protected override GameObject GetCardArt() { return Assets.StabbinLicenseArt; } protected override Rarity GetRarity() { return (Rarity)1; } protected override CardInfoStat[] GetStats() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Expected O, but got Unknown //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: 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_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Expected O, but got Unknown //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) //IL_006c: 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_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[3] { new CardInfoStat { positive = true, stat = "Sharpened Blade", amount = "x5 Damage", simepleAmount = (SimpleAmount)4 }, new CardInfoStat { positive = true, stat = "Movement Speed", amount = "+20%", simepleAmount = (SimpleAmount)1 }, new CardInfoStat { positive = false, stat = "Bullet Range", amount = "Melee", simepleAmount = (SimpleAmount)7 } }; } protected override CardThemeColorType GetTheme() { return (CardThemeColorType)7; } public override string GetModName() { return "UC"; } } internal class StoneStatue : CustomCard { public override void Callback() { ExtensionMethods.GetOrAddComponent<ClassNameMono>(((Component)this).gameObject, false).className = WackyClass.name; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { statModifiers.health = 5.5f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { characterStats.movementSpeed = 0f; data.jumps = -99; } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } protected override string GetTitle() { return "Stone Statue"; } protected override string GetDescription() { return "Moving is soooo overrated!"; } protected override GameObject GetCardArt() { return Assets.StoneStatueArt; } protected override Rarity GetRarity() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) return RarityUtils.GetRarity("Epic"); } protected override CardInfoStat[] GetStats() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Expected O, but got Unknown //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: 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_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[2] { new CardInfoStat { positive = true, stat = "Health", amount = "+550%", simepleAmount = (SimpleAmount)3 }, new CardInfoStat { positive = false, stat = "Statue", amount = "Cannot move", simepleAmount = (SimpleAmount)3 } }; } protected override CardThemeColorType GetTheme() { return (CardThemeColorType)2; } public override string GetModName() { return "UC"; } } internal class TrainBullets : CustomCard { public override void Callback() { ExtensionMethods.GetOrAddComponent<ClassNameMono>(((Component)this).gameObject, false).className = WackyClass.name; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.projectileSpeed = 1.5f; gun.projectileSize = 1.5f; gun.spread = 0f; gun.knockback = 80f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { gun.numberOfProjectiles += 5; } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } protected override string GetTitle() { return "Train Bullets"; } protected override string GetDescription() { return "Imagine your bullets are fired with the properties of a UGL Rail C44ACI moving at 200km/h colliding with you head-on."; } protected override GameObject GetCardArt() { return Assets.TrainBulletsArt; } protected override Rarity GetRarity() { return (Rarity)2; } protected override CardInfoStat[] GetStats() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Expected O, but got Unknown //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: 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_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Expected O, but got Unknown //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) //IL_006c: 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_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Expected O, but got Unknown //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: 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) //IL_00b6: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[4] { new CardInfoStat { positive = true, stat = "Bullets", amount = "+5", simepleAmount = (SimpleAmount)3 }, new CardInfoStat { positive = true, stat = "Bullet Size", amount = "+50%", simepleAmount = (SimpleAmount)2 }, new CardInfoStat { positive = true, stat = "Bullet Speed", amount = "+200%", simepleAmount = (SimpleAmount)3 }, new CardInfoStat { positive = true, stat = "Knockback", amount = "yeet", simepleAmount = (SimpleAmount)4 } }; } protected override CardThemeColorType GetTheme() { return (CardThemeColorType)1; } public override string GetModName() { return "UC"; } } internal class UraniumPayload : CustomCard { private readonly ObjectsToSpawn[] explosionToSpawn = (ObjectsToSpawn[])(object)new ObjectsToSpawn[1]; public override void Callback() { ExtensionMethods.GetOrAddComponent<ClassNameMono>(((Component)this).gameObject, false).className = WackyClass.name; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) gun.attackSpeed = 5.5f; gun.projectileColor = Color.green; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_009a: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: 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_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c7: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_00ea: Unknown result type (might be due to invalid IL or missing references) //IL_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_00f9: Expected O, but got Unknown gun.damage *= 6f; characterStats.movementSpeed *= 0.5f; gun.attackSpeed *= 4f; if (explosionToSpawn[0] == null) { (GameObject AddToProjectile, GameObject effect, Explosion explosion) tuple = UnstableCards.LoadExplosion("explosionUraniumPayload", gun); GameObject item = tuple.AddToProjectile; GameObject item2 = tuple.effect; Explosion item3 = tuple.explosion; item3.force *= 16f; item3.range *= 3f; explosionToSpawn[0] = new ObjectsToSpawn { AddToProjectile = item, direction = (Direction)0, effect = item2, normalOffset = 0.1f, scaleFromDamage = 1f, scaleStackM = 0.2f, scaleStacks = true, spawnAsChild = false, spawnOn = (SpawnOn)0, stacks = 1, stickToAllTargets = false, stickToBigTargets = false, zeroZ = false }; } gun.objectsToSpawn = gun.objectsToSpawn.Concat(explosionToSpawn).ToArray(); } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { gun.objectsToSpawn = gun.objectsToSpawn.Except(explosionToSpawn).ToArray(); } protected override string GetTitle() { return "Uranium Payload"; } protected override string GetDescription() { return "Ammunition infused with 20KG of <color=#84FF00>Uranium 235</color> for unstable results. 100% Compliant with OSHA guidelines!"; } protected override GameObject GetCardArt() { return Assets.UraniumPayloadArt; } protected override Rarity GetRarity() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) return RarityUtils.GetRarity("Epic"); } protected override CardInfoStat[] GetStats() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Expected O, but got Unknown //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: 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_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Expected O, but got Unknown //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) //IL_006c: 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_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[3] { new CardInfoStat { positive = false, stat = "Instability", amount = "+9999%", simepleAmount = (SimpleAmount)4 }, new CardInfoStat { positive = false, stat = "ATKSPD", amount = "5.5s", simepleAmount = (SimpleAmount)3 }, new CardInfoStat { positive = false, stat = "Movement Speed", amount = "-50%", simepleAmount = (SimpleAmount)6 } }; } protected override CardThemeColorType GetTheme() { return (CardThemeColorType)5; } public override string GetModName() { return "UC"; } } internal class WavyBullets : CustomCard { public override void Callback() { ExtensionMethods.GetOrAddComponent<ClassNameMono>(((Component)this).gameObject, false).className = WackyClass.name; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { gun.damage = 0.85f; gun.cos = 4f; gun.projectileSpeed = 1.65f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } protected override string GetTitle() { return "Wavy Bullets"; } protected override string GetDescription() { return "The waviest bullets in the seven seas, ARRRR."; } protected override GameObject GetCardArt() { return Assets.WavyBulletsArt; } protected override Rarity GetRarity() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) return RarityUtils.GetRarity("Exotic"); } protected override CardInfoStat[] GetStats() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Expected O, but got Unknown //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: 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_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Expected O, but got Unknown //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) //IL_006c: 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_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[3] { new CardInfoStat { positive = true, stat = "Wavy Bullets", amount = "Yes", simepleAmount = (SimpleAmount)3 }, new CardInfoStat { positive = true, stat = "Bullet Speed", amount = "+65%", simepleAmount = (SimpleAmount)2 }, new CardInfoStat { positive = false, stat = "Damage", amount = "-15%", simepleAmount = (SimpleAmount)6 } }; } protected override CardThemeColorType GetTheme() { return (CardThemeColorType)2; } public override string GetModName() { return "UC"; } } } namespace UnstableCards.Cards.Totem { internal class TotemOfRebirth : CustomCard { public override void Callback() { ExtensionMethods.GetOrAddComponent<ClassNameMono>(((Component)this).gameObject, false).className = TotemClass.name; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { //IL_0005: Unknown result type (might be due to invalid IL or missing references) AudioSource orAddComponent = ExtensionMethods.GetOrAddComponent<AudioSource>(new GameObject("audioSource").gameObject, false); ExtensionMethods.GetOrAddComponent<RemoveAfterSeconds>(((Component)orAddComponent).gameObject, false); ((Component)orAddComponent).GetComponent<RemoveAfterSeconds>().seconds = 5f; orAddComponent.PlayOneShot(Assets.totemOfTheForgottenAudio, 1.2f); List<int> list = new List<int>(); for (int i = 0; i < player.data.currentCards.Count(); i++) { list.Add(i); } Cards.instance.RemoveCardsFromPlayer(player, list.ToArray()); CardInfo cardInfoByName = UnstableCards.GetCardInfoByName("Rebirthed Soul"); if ((Object)(object)cardInfoByName != (Object)null) { Cards.instance.AddCardToPlayer(player, cardInfoByName, false, "", 0f, 0f); } } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } protected override string GetTitle() { return "Totem Of Rebirth"; } protected override string GetDescription() { return "Empower your soul with a new life. Start afresh when your deck is too far gone..."; } protected override GameObject GetCardArt() { return Assets.TotemOfTheForgottenArt; } protected override Rarity GetRarity() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) return RarityUtils.GetRarity("Exotic"); } protected override CardInfoStat[] GetStats() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Expected O, but got Unknown //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: 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_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Expected O, but got Unknown //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) //IL_006c: 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_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[3] { new CardInfoStat { positive = true, stat = "Cards Removed", amount = "All", simepleAmount = (SimpleAmount)3 }, new CardInfoStat { positive = true, stat = "Lives", amount = "+1", simepleAmount = (SimpleAmount)1 }, new CardInfoStat { positive = true, stat = "Health", amount = "+100%", simepleAmount = (SimpleAmount)3 } }; } protected override CardThemeColorType GetTheme() { return (CardThemeColorType)4; } public override string GetModName() { return "UC"; } } internal class TotemOfTheBalanced : CustomCard { public override void Callback() { ExtensionMethods.GetOrAddComponent<ClassNameMono>(((Component)this).gameObject, false).className = TotemClass.name; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { //IL_0005: Unknown result type (might be due to invalid IL or missing references) AudioSource orAddComponent = ExtensionMethods.GetOrAddComponent<AudioSource>(new GameObject("audioSource").gameObject, false); ExtensionMethods.GetOrAddComponent<RemoveAfterSeconds>(((Component)orAddComponent).gameObject, false); ((Component)orAddComponent).GetComponent<RemoveAfterSeconds>().seconds = 5f; orAddComponent.PlayOneShot(Assets.totemOfTheBalancedAudio, 1.2f); Debug.Log((object)$"{player.data.currentCards}"); ((MonoBehaviour)Unbound.Instance).StartCoroutine(DoReplaceCards(player)); } private static IEnumerator DoReplaceCards(Player player) { if (PhotonNetwork.IsMasterClient || PhotonNetwork.OfflineMode) { int[] array = Enumerable.Range(0, player.data.currentCards.Count()).ToArray(); int index = array[new Random().Next(0, array.Length)]; CardInfo[] array2 = Enumerable.Repeat<CardInfo>(player.data.currentCards[index], array.Length).ToArray(); yield return Cards.instance.ReplaceCards(player, array, array2, (string[])null); } } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } protected override string GetTitle() { return "Totem Of The Balanced"; } protected override string GetDescription() { return "It cost everything. All of your cards are now perfectly balanced."; } protected override GameObject GetCardArt() { return Assets.TotemOfTheBalancedArt; } protected override Rarity GetRarity() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) return RarityUtils.GetRarity("Epic"); } protected override CardInfoStat[] GetStats() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[1] { new CardInfoStat { positive = true, stat = "Cards Converted", amount = "All", simepleAmount = (SimpleAmount)3 } }; } protected override CardThemeColorType GetTheme() { return (CardThemeColorType)4; } public override string GetModName() { return "UC"; } } internal class TotemOfTheDamned : CustomCard { private static class WaitFor { public static IEnumerator Frames(int frameCount) { if (frameCount <= 0) { throw new ArgumentOutOfRangeException("frameCount", "Cannot wait for less that 1 frame"); } while (frameCount > 0) { frameCount--; yield return null; } } } public override void Callback() { ExtensionMethods.GetOrAddComponent<ClassNameMono>(((Component)this).gameObject, false).className = TotemClass.name; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) gun.projectileColor = Color.green; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { //IL_0005: Unknown result type (might be due to invalid IL or missing references) AudioSource orAddComponent = ExtensionMethods.GetOrAddComponent<AudioSource>(new GameObject("audioSource").gameObject, false); ExtensionMethods.GetOrAddComponent<RemoveAfterSeconds>(((Component)orAddComponent).gameObject, false); ((Component)orAddComponent).GetComponent<RemoveAfterSeconds>().seconds = 5f; orAddComponent.PlayOneShot(Assets.totemOfTheDamnedAudio, 1.2f); ExtensionMethods.Shuffle<CardInfo>((IList<CardInfo>)UnstableCards.damnedCards); CardInfo[] array = UnstableCards.damnedCards.Take(3).ToArray(); Cards.instance.AddCardsToPlayer(player, array, false, (string[])null, (float[])null, (float[])null, true); } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } protected override string GetTitle() { return "Totem Of The Damned"; } protected override string GetDescription() { return "The unfortunate place for a damned souls last hope."; } protected override GameObject GetCardArt() { return Assets.TotemOfTheDamnedArt; } protected override Rarity GetRarity() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) return RarityUtils.GetRarity("Epic"); } protected override CardInfoStat[] GetStats() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[1] { new CardInfoStat { positive = true, stat = "Damned cards added", amount = "+3", simepleAmount = (SimpleAmount)3 } }; } protected override CardThemeColorType GetTheme() { return (CardThemeColorType)4; } public override string GetModName() { return "UC"; } } } namespace UnstableCards.Cards.Special { internal class RebirthedSoul : CustomCard { public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { statModifiers.health = 3f; statModifiers.respawns++; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } protected override string GetTitle() { return "Rebirthed Soul"; } protected override string GetDescription() { return "Reborn again, but stronger."; } protected override GameObject GetCardArt() { return null; } protected override Rarity GetRarity() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) return RarityUtils.GetRarity("Rare"); } protected override CardInfoStat[] GetStats() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Expected O, but got Unknown //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: 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_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[2] { new CardInfoStat { positive = true, stat = "Health", amount = "+100%", simepleAmount = (SimpleAmount)3 }, new CardInfoStat { positive = true, stat = "Respawns", amount = "+1", simepleAmount = (SimpleAmount)1 } }; } protected override CardThemeColorType GetTheme() { return (CardThemeColorType)3; } public override string GetModName() { return "UC"; } public override bool GetEnabled() { return false; } } } namespace UnstableCards.Cards.NameClasses { internal class BuffClass : ClassHandler { internal static string name = "Buff"; public override IEnumerator Init() { yield break; } } internal class DamnedClass : ClassHandler { internal static string name = "Damned"; public override IEnumerator Init() { yield break; } } internal class DebuffClass : ClassHandler { internal static string name = "Debuff"; public override IEnumerator Init() { yield break; } } internal class GodClass : ClassHandler { internal static string name = "God"; public override IEnumerator Init() { yield break; } } internal class TotemClass : ClassHandler { internal static string name = "Totem"; public override IEnumerator Init() { yield break; } } internal class WackyClass : ClassHandler { internal static string name = "Wacky"; public override IEnumerator Init() { yield break; } } } namespace UnstableCards.Cards.God { internal class AngelWeaver : CustomCard { public override void Callback() { ExtensionMethods.GetOrAddComponent<ClassNameMono>(((Component)this).gameObject, false).className = GodClass.name; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) cardInfo.allowMultiple = false; statModifiers.health = 8f; gun.projectileColor = Color.white; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { characterStats.gravity *= 0.5f; characterStats.movementSpeed *= 1.5f; HealthHandler healthHandler = player.data.healthHandler; healthHandler.regeneration += 20f; } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } protected override string GetTitle() { return "Angelus Textor"; } protected override string GetDescription() { return "Coelestes almus metere, Castitatis gratia."; } protected override GameObject GetCardArt() { return Assets.AngelWeaverArt; } protected override Rarity GetRarity() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) return RarityUtils.GetRarity("Divine"); } protected override CardInfoStat[] GetStats() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Expected O, but got Unknown //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: 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_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Expected O, but got Unknown //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) //IL_006c: 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_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Expected O, but got Unknown //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: 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) //IL_00b6: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[4] { new CardInfoStat { positive = true, stat = "Life Regeneration", amount = "+20hp/s", simepleAmount = (SimpleAmount)3 }, new CardInfoStat { positive = true, stat = "Health", amount = "+800%", simepleAmount = (SimpleAmount)3 }, new CardInfoStat { positive = true, stat = "Gravity", amount = "-50%", simepleAmount = (SimpleAmount)6 }, new CardInfoStat { positive = true, stat = "Movement Speed", amount = "+50%", simepleAmount = (SimpleAmount)2 } }; } protected override CardThemeColorType GetTheme() { return (CardThemeColorType)3; } public override string GetModName() { return "UC"; } } internal class TheCat : CustomCard { public override void Callback() { ExtensionMethods.GetOrAddComponent<ClassNameMono>(((Component)this).gameObject, false).className = GodClass.name; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; statModifiers.movementSpeed = 1.5f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { characterStats.respawns = 9; block.cdMultiplier = 25f; } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } protected override string GetTitle() { return "Felis Catus"; } protected override string GetDescription() { return "Sed quis felis per felis."; } protected override GameObject GetCardArt() { return Assets.TheCatArt; } protected override Rarity GetRarity() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) return RarityUtils.GetRarity("Divine"); } protected override CardInfoStat[] GetStats() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Expected O, but got Unknown //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: 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_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Expected O, but got Unknown //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) //IL_006c: 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_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[3] { new CardInfoStat { positive = true, stat = "The Cat never lies", amount = "nine additional lives", simepleAmount = (SimpleAmount)4 }, new CardInfoStat { positive = true, stat = "Movement Speed", amount = "+50%", simepleAmount = (SimpleAmount)2 }, new CardInfoStat { positive = false, stat = "Block Cooldown", amount = "Good Luck Blocking", simepleAmount = (SimpleAmount)4 } }; } protected override CardThemeColorType GetTheme() { return (CardThemeColorType)8; } public override string GetModName() { return "UC"; } } internal class TheSoulConsumer : CustomCard { public override void Callback() { ExtensionMethods.GetOrAddComponent<ClassNameMono>(((Component)this).gameObject, false).className = GodClass.name; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = false; statModifiers.lifeSteal = 1f; statModifiers.sizeMultiplier = 1.75f; gun.damage = 2f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { characterStats.secondsToTakeDamageOver = 7.5f; characterStats.respawns = 2; } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } protected override string GetTitle() { return "Anima Devorantis"; } protected override string GetDescription() { return "Sitim ultionem exstingue pro anima."; } protected override GameObject GetCardArt() { return Assets.TheSoulConsumerArt; } protected override Rarity GetRarity() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) return RarityUtils.GetRarity("Divine"); } protected override CardInfoStat[] GetStats() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Expected O, but got Unknown //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: 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_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Expected O, but got Unknown //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) //IL_006c: 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_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Expected O, but got Unknown //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: 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) //IL_00b6: Expected O, but got Unknown //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Expected O, but got Unknown return (CardInfoStat[])(object)new CardInfoStat[5] { new CardInfoStat { positive = true, stat = "Life Steal", amount = "Everything", simepleAmount = (SimpleAmount)4 }, new CardInfoStat { positive = true, stat = "Damage", amount = "+100%", simepleAmount = (SimpleAmount)4 }, new CardInfoStat { positive = true, stat = "Additional Lives", amount = "+2", simepleAmount = (SimpleAmount)4 }, new CardInfoStat { positive = true, stat = "Soul Protector", amount = "+7.5s DMG takeover", simepleAmount = (SimpleAmount)3 }, new CardInfoStat { positive = false, stat = "Size", amount = "+75%", simepleAmount = (SimpleAmount)3 } }; } protected override CardThemeColorType GetTheme() { return (CardThemeColorType)4; } public override string GetModName() { return "UC"; } } } namespace UnstableCards.Cards.Damned { internal class BulletsOfTheDamned : CustomCard { public override void Callback() { ExtensionMethods.GetOrAddComponent<ClassNameMono>(((Component)this).gameObject, false).className = DamnedClass.name; } public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block) { cardInfo.allowMultiple = true; statModifiers.health = 0.75f; gun.bulletDamageMultiplier = 1.75f; statModifiers.lifeSteal = 0.35f; } public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats) { } protected override string GetTitle() { return "Bullets of the Damned"; } protected override string GetDescription() { return "Bullets infused with the damneds power. Sacrifice is generally the opposite stat of what is being buffed!"; } protected override GameObject GetCardArt() { return Assets.BulletsOfTheDamnedArt; } protected override Rarity GetRarity() { return (Rarity)0; } protected override CardInfoStat[] GetStats() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Expected O, but got Unknown