using System;
using System.Collections;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using ASK.Cards;
using ASK.Cards.COD;
using ASK.Cards.Clash;
using ASK.Extensions;
using BepInEx;
using CardChoiceSpawnUniqueCardPatch.CustomCategories;
using HarmonyLib;
using Microsoft.CodeAnalysis;
using ModdingUtils.Utils;
using ModsPlus;
using UnboundLib.Cards;
using UnboundLib.GameModes;
using UnityEngine;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("ScyyeCards")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("ScyyeCards")]
[assembly: AssemblyTitle("ScyyeCards")]
[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 ASK
{
[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("dev.scyye.rounds.cards", "Scyye Cards", "1.0.0")]
[BepInProcess("Rounds.exe")]
public class Main : BaseUnityPlugin
{
private const string ModId = "dev.scyye.rounds.cards";
private const string ModName = "Scyye Cards";
public const string Version = "1.0.0";
public const string ModInitials = "ScyyeCards";
public const string CodInitials = "Call of Duty";
public const string ClashInitials = "Clash";
public static Main instance { get; private set; }
public void Log(string str)
{
Debug.Log((object)("[Scyye Cards] " + str));
}
private void Awake()
{
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_0013: Expected O, but got Unknown
instance = this;
Harmony val = new Harmony("dev.scyye.rounds.cards");
val.PatchAll();
}
private void Start()
{
Log("Enabling cards");
CustomCard.BuildCard<PerkACola>();
CustomCard.BuildCard<DeadshotDaiquiri>();
CustomCard.BuildCard<DoubleTapRootBeer>();
CustomCard.BuildCard<Juggernog>();
CustomCard.BuildCard<MuleKick>();
CustomCard.BuildCard<PHDFlopper>();
CustomCard.BuildCard<QuickRevive>();
CustomCard.BuildCard<SpeedCola>();
CustomCard.BuildCard<StaminUp>();
CustomCard.BuildCard<Archer>();
CustomCard.BuildCard<DartGoblin>();
CustomCard.BuildCard<Giant>();
CustomCard.BuildCard<Knight>();
CustomCard.BuildCard<Princess>();
CustomCard.BuildCard<Sparky>();
CustomCard.BuildCard<Fly>();
CustomCard.BuildCard<Microcosm>();
CustomCard.BuildCard<OneForAll>();
CustomCard.BuildCard<ZeroPoint>();
CustomCard.BuildCard<Arthritis>();
Log("Enabled cards");
}
[HarmonyPrefix]
[HarmonyPatch("TakeDamageOverTime")]
private static void DoTDamageReduction(DamageOverTime __instance, ref Vector2 damage, Vector2 position, float time, float interval, Player damagingPlayer, CharacterData ___data)
{
//IL_004d: Unknown result type (might be due to invalid IL or missing references)
//IL_0052: Unknown result type (might be due to invalid IL or missing references)
//IL_0054: 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_005b: Unknown result type (might be due to invalid IL or missing references)
Player player = ___data.player;
if (CharacterStatModifiersExtension.GetAdditionalData(player.data.stats).poisonResistance != 1f)
{
float magnitude = ((Vector2)(ref damage)).magnitude;
magnitude *= CharacterStatModifiersExtension.GetAdditionalData(player.data.stats).poisonResistance;
Vector2 normalized = ((Vector2)(ref damage)).normalized;
damage = normalized * magnitude;
}
}
}
}
namespace ASK.Extensions
{
[Serializable]
public class CharacterStatModifiersAdditionalData
{
public float poisonResistance;
public CharacterStatModifiersAdditionalData()
{
poisonResistance = 1f;
}
}
public static class CharacterStatModifiersExtension
{
public static readonly ConditionalWeakTable<CharacterStatModifiers, CharacterStatModifiersAdditionalData> data = new ConditionalWeakTable<CharacterStatModifiers, CharacterStatModifiersAdditionalData>();
public static CharacterStatModifiersAdditionalData GetAdditionalData(CharacterStatModifiers statModifiers)
{
return data.GetOrCreateValue(statModifiers);
}
public static void AddData(this CharacterStatModifiers statModifiers, CharacterStatModifiersAdditionalData value)
{
try
{
data.Add(statModifiers, value);
}
catch (Exception)
{
}
}
}
[HarmonyPatch(typeof(CharacterStatModifiers), "ResetStats")]
internal class CharacterStatModifiersPatchResetStats
{
private static void Prefix(CharacterStatModifiers __instance)
{
CharacterStatModifiersExtension.GetAdditionalData(__instance).poisonResistance = 1f;
}
}
}
namespace ASK.Cards
{
public class Arthritis : CustomEffectCard<ArthritisEffect>
{
public override CardDetails<ArthritisEffect> Details
{
get
{
//IL_0043: Unknown result type (might be due to invalid IL or missing references)
//IL_0048: Unknown result type (might be due to invalid IL or missing references)
//IL_0053: Unknown result type (might be due to invalid IL or missing references)
//IL_005a: Unknown result type (might be due to invalid IL or missing references)
//IL_0066: Expected O, but got Unknown
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
//IL_006d: Unknown result type (might be due to invalid IL or missing references)
//IL_0078: Unknown result type (might be due to invalid IL or missing references)
//IL_007f: Unknown result type (might be due to invalid IL or missing references)
//IL_008b: Expected O, but got Unknown
//IL_008d: Unknown result type (might be due to invalid IL or missing references)
//IL_0092: Unknown result type (might be due to invalid IL or missing references)
//IL_009d: Unknown result type (might be due to invalid IL or missing references)
//IL_00a4: Unknown result type (might be due to invalid IL or missing references)
//IL_00b0: Expected O, but got Unknown
//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_00c2: Unknown result type (might be due to invalid IL or missing references)
//IL_00c9: Unknown result type (might be due to invalid IL or missing references)
//IL_00d5: Expected O, but got Unknown
CardDetails<ArthritisEffect> val = new CardDetails<ArthritisEffect>();
val.ModName = "ScyyeCards";
val.Rarity = (Rarity)1;
val.Title = "Arthritis";
val.Description = "These old joints got a lot of experience";
val.Theme = (CardThemeColorType)0;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[4]
{
new CardInfoStat
{
amount = "+25%",
positive = true,
stat = "Lifesteal"
},
new CardInfoStat
{
amount = "+3",
positive = true,
stat = "Ammo"
},
new CardInfoStat
{
amount = "+2",
positive = true,
stat = "Jumps"
},
new CardInfoStat
{
amount = "1% Self Damage",
positive = false,
stat = "On Jump"
}
};
return val;
}
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
characterStats.lifeSteal *= 1.25f;
data.jumps += 2;
gunAmmo.maxAmmo += 3;
}
}
public class ArthritisEffect : CardEffect
{
private HealthHandler Health { get; set; }
private Player Player { get; set; }
private CharacterStatModifiers Modifiers { get; set; }
public override void Initialize(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
((CardEffect)this).Initialize(player, gun, gunAmmo, data, health, gravity, block, characterStats);
Health = health;
Player = player;
Modifiers = characterStats;
}
public override void OnJump()
{
//IL_0036: Unknown result type (might be due to invalid IL or missing references)
//IL_0042: Unknown result type (might be due to invalid IL or missing references)
//IL_0047: Unknown result type (might be due to invalid IL or missing references)
//IL_004c: Unknown result type (might be due to invalid IL or missing references)
int num = Mathf.RoundToInt(Modifiers.health / 100f);
if (num == 0)
{
num = 1;
}
Vector2 val = default(Vector2);
((Vector2)(ref val))..ctor(0f, (float)num);
Health.DoDamage(val, Vector2.op_Implicit(((Component)Player).transform.position), Color.cyan, (GameObject)null, (Player)null, false, true, false);
}
}
public class Fly : SimpleCard
{
public override CardDetails Details
{
get
{
//IL_0000: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Expected O, but got Unknown
//IL_0043: Unknown result type (might be due to invalid IL or missing references)
//IL_0048: Unknown result type (might be due to invalid IL or missing references)
//IL_0053: Unknown result type (might be due to invalid IL or missing references)
//IL_005a: Unknown result type (might be due to invalid IL or missing references)
//IL_0066: Expected O, but got Unknown
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
//IL_006d: Unknown result type (might be due to invalid IL or missing references)
//IL_0078: Unknown result type (might be due to invalid IL or missing references)
//IL_007f: Unknown result type (might be due to invalid IL or missing references)
//IL_008b: Expected O, but got Unknown
CardDetails val = new CardDetails();
val.ModName = "ScyyeCards";
val.Rarity = (Rarity)1;
val.Title = "Fly";
val.Description = "Allows you to jump multiple times, 3 to be excat!";
val.Theme = (CardThemeColorType)2;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[2]
{
new CardInfoStat
{
amount = "+3",
positive = true,
stat = "Jumps"
},
new CardInfoStat
{
amount = "-15%",
positive = false,
stat = "Movement Speed"
}
};
return val;
}
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
characterStats.movementSpeed *= 0.85f;
data.jumps += 3;
}
}
public class Microcosm : SimpleCard
{
public override CardDetails Details
{
get
{
//IL_0000: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Expected O, but got Unknown
//IL_0043: Unknown result type (might be due to invalid IL or missing references)
//IL_0048: Unknown result type (might be due to invalid IL or missing references)
//IL_0053: Unknown result type (might be due to invalid IL or missing references)
//IL_005a: Unknown result type (might be due to invalid IL or missing references)
//IL_0066: Expected O, but got Unknown
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
//IL_006d: Unknown result type (might be due to invalid IL or missing references)
//IL_0078: Unknown result type (might be due to invalid IL or missing references)
//IL_007f: Unknown result type (might be due to invalid IL or missing references)
//IL_008b: Expected O, but got Unknown
//IL_008d: Unknown result type (might be due to invalid IL or missing references)
//IL_0092: Unknown result type (might be due to invalid IL or missing references)
//IL_009d: Unknown result type (might be due to invalid IL or missing references)
//IL_00a4: Unknown result type (might be due to invalid IL or missing references)
//IL_00b0: Expected O, but got Unknown
CardDetails val = new CardDetails();
val.ModName = "ScyyeCards";
val.Rarity = (Rarity)1;
val.Title = "Microcosm";
val.Description = "Compact your damage into a tiny bullet!";
val.Theme = (CardThemeColorType)3;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[3]
{
new CardInfoStat
{
amount = "+50%",
positive = true,
stat = "Damage"
},
new CardInfoStat
{
amount = "-75%",
positive = false,
stat = "Bullet Size"
},
new CardInfoStat
{
amount = "-10%",
positive = false,
stat = "Health"
}
};
return val;
}
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
gun.projectileSize -= 0.75f;
gun.damage *= 1.5f;
data.maxHealth *= 0.9f;
}
}
public class OneForAll : SimpleCard
{
public override CardDetails Details
{
get
{
//IL_0000: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Expected O, but got Unknown
//IL_0043: Unknown result type (might be due to invalid IL or missing references)
//IL_0048: Unknown result type (might be due to invalid IL or missing references)
//IL_0053: Unknown result type (might be due to invalid IL or missing references)
//IL_005a: Unknown result type (might be due to invalid IL or missing references)
//IL_0066: Expected O, but got Unknown
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
//IL_006d: Unknown result type (might be due to invalid IL or missing references)
//IL_0078: Unknown result type (might be due to invalid IL or missing references)
//IL_007f: Unknown result type (might be due to invalid IL or missing references)
//IL_008b: Expected O, but got Unknown
CardDetails val = new CardDetails();
val.ModName = "ScyyeCards";
val.Rarity = (Rarity)2;
val.Title = "One For All";
val.Description = "One for all, all for one.";
val.Theme = (CardThemeColorType)0;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[2]
{
new CardInfoStat
{
amount = "+25%",
positive = true,
stat = "All Stats"
},
new CardInfoStat
{
amount = "+25%",
positive = false,
stat = "All Stats"
}
};
return val;
}
}
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
cardInfo.allowMultiple = false;
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
gunAmmo.maxAmmo += gunAmmo.maxAmmo / 4;
gunAmmo.ammoReg *= 1.25f;
gun.attackSpeed *= 1.25f;
gun.bodyRecoil *= 1.25f;
gun.bursts += gun.bursts / 4;
gun.damage *= 1.25f;
gun.gravity *= 1.25f;
gun.projectileSpeed *= 1.25f;
gun.recoil *= 1.25f;
gun.damageAfterDistanceMultiplier *= 1.25f;
gunAmmo.reloadTimeMultiplier *= 1.25f;
gravity.gravityForce *= 1.25f;
block.additionalBlocks += block.additionalBlocks / 4;
block.cdMultiplier *= 1.25f;
block.forceToAdd *= 1.25f;
block.forceToAddUp *= 1.25f;
data.maxHealth *= 1.25f;
characterStats.jump *= 1.25f;
characterStats.numberOfJumps += characterStats.numberOfJumps / 4;
characterStats.attackSpeedMultiplier *= 1.25f;
characterStats.sizeMultiplier *= 1.25f;
characterStats.lifeSteal *= 1.25f;
characterStats.movementSpeed *= 1.25f;
characterStats.regen *= 1.25f;
characterStats.respawns++;
characterStats.sizeMultiplier *= 1.25f;
characterStats.secondsToTakeDamageOver *= 1.25f;
}
}
public class ZeroPoint : SimpleCard
{
public override CardDetails Details => new CardDetails
{
ModName = "ScyyeCards",
Rarity = (Rarity)1,
Title = "Zero Point",
Description = "Don't like your deck? Replace all your cards with a random card.",
Theme = (CardThemeColorType)0
};
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
int num = Cards.instance.RemoveAllCardsFromPlayer(player, true).Length;
CardInfo randomCardWithCondition = Cards.instance.GetRandomCardWithCondition(player, gun, gunAmmo, data, health, gravity, block, characterStats, (Func<CardInfo, Player, Gun, GunAmmo, CharacterData, HealthHandler, Gravity, Block, CharacterStatModifiers, bool>)((CardInfo ci, Player p, Gun g, GunAmmo ga, CharacterData d, HealthHandler h, Gravity gr, Block b, CharacterStatModifiers c) => true), 1000);
for (int i = 0; i < num; i++)
{
Cards.instance.AddCardToPlayer(player, randomCardWithCondition, false, "", 0f, 0f);
}
}
}
}
namespace ASK.Cards.COD
{
public abstract class CodUpgrade : SimpleCard
{
internal static CardCategory category = CustomCardCategories.instance.CardCategory("CallOfDuty");
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers)
{
cardInfo.allowMultiple = false;
cardInfo.categories = (CardCategory[])(object)new CardCategory[1] { category };
}
}
public class DeadshotDaiquiri : CodUpgrade
{
public override CardDetails Details
{
get
{
//IL_0000: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Expected O, but got Unknown
//IL_0037: Unknown result type (might be due to invalid IL or missing references)
//IL_003c: Unknown result type (might be due to invalid IL or missing references)
//IL_0043: Unknown result type (might be due to invalid IL or missing references)
//IL_004e: Unknown result type (might be due to invalid IL or missing references)
//IL_005a: Expected O, but got Unknown
//IL_005c: Unknown result type (might be due to invalid IL or missing references)
//IL_0061: Unknown result type (might be due to invalid IL or missing references)
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
//IL_0073: Unknown result type (might be due to invalid IL or missing references)
//IL_007f: Expected O, but got Unknown
CardDetails val = new CardDetails();
val.Title = "Deadshot Daiquiri";
val.Description = "To err is human, to forgive is divine. Well I'm not forgiving, and the error ain't mine!";
val.Theme = (CardThemeColorType)3;
val.Rarity = (Rarity)1;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[2]
{
new CardInfoStat
{
positive = true,
stat = "Spread",
amount = "Reset"
},
new CardInfoStat
{
positive = true,
stat = "Damage",
amount = "+25%"
}
};
val.ModName = "Call of Duty";
return val;
}
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
gun.spread = 0f;
gun.damage *= 1.25f;
}
}
public class DoubleTapRootBeer : CodUpgrade
{
public override CardDetails Details
{
get
{
//IL_0000: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Expected O, but got Unknown
//IL_0037: Unknown result type (might be due to invalid IL or missing references)
//IL_003c: Unknown result type (might be due to invalid IL or missing references)
//IL_0043: Unknown result type (might be due to invalid IL or missing references)
//IL_004e: Unknown result type (might be due to invalid IL or missing references)
//IL_005a: Expected O, but got Unknown
//IL_005c: Unknown result type (might be due to invalid IL or missing references)
//IL_0061: Unknown result type (might be due to invalid IL or missing references)
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
//IL_0073: Unknown result type (might be due to invalid IL or missing references)
//IL_007f: Expected O, but got Unknown
CardDetails val = new CardDetails();
val.Title = "Double Tap Root Beer";
val.Description = "Cowboys can't shoot slow or they'll end up below. When they need some help, they reach for the Root beer shelf-";
val.Theme = (CardThemeColorType)7;
val.Rarity = (Rarity)2;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[2]
{
new CardInfoStat
{
positive = true,
stat = "Bullets",
amount = "+1"
},
new CardInfoStat
{
positive = true,
stat = "ATKSPD",
amount = "+33%"
}
};
val.ModName = "Call of Duty";
return val;
}
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
gun.numberOfProjectiles++;
gun.attackSpeed *= 0.66f;
}
}
public class Juggernog : CodUpgrade
{
public override CardDetails Details
{
get
{
//IL_0000: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Expected O, but got Unknown
//IL_0037: Unknown result type (might be due to invalid IL or missing references)
//IL_003c: Unknown result type (might be due to invalid IL or missing references)
//IL_0043: Unknown result type (might be due to invalid IL or missing references)
//IL_004e: Unknown result type (might be due to invalid IL or missing references)
//IL_0059: Unknown result type (might be due to invalid IL or missing references)
//IL_005b: Unknown result type (might be due to invalid IL or missing references)
//IL_0061: Expected O, but got Unknown
CardDetails val = new CardDetails();
val.Title = "Juggernog";
val.Description = "When you need some help to get by, something to make you feel strong.";
val.Theme = (CardThemeColorType)2;
val.Rarity = (Rarity)1;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[1]
{
new CardInfoStat
{
positive = true,
stat = "Health",
amount = "+150",
simepleAmount = (SimpleAmount)3
}
};
val.ModName = "Call of Duty";
return val;
}
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
data.maxHealth += 150f;
}
}
public class MuleKick : CodUpgrade
{
public override CardDetails Details
{
get
{
//IL_0000: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Expected O, but got Unknown
//IL_0037: Unknown result type (might be due to invalid IL or missing references)
//IL_003c: Unknown result type (might be due to invalid IL or missing references)
//IL_0043: Unknown result type (might be due to invalid IL or missing references)
//IL_004e: Unknown result type (might be due to invalid IL or missing references)
//IL_005a: Expected O, but got Unknown
CardDetails val = new CardDetails();
val.Title = "Mule Kick";
val.Description = "Legend tells us of a man, a hero in a tortured land, where Señoritas lived in fear.";
val.Theme = (CardThemeColorType)5;
val.Rarity = (Rarity)2;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[1]
{
new CardInfoStat
{
positive = true,
stat = "Bullets",
amount = "x2"
}
};
val.ModName = "Call of Duty";
return val;
}
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
gun.numberOfProjectiles *= 2;
}
}
internal class PerkACola : CodUpgrade
{
public override CardDetails Details
{
get
{
//IL_0000: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Expected O, but got Unknown
//IL_0037: Unknown result type (might be due to invalid IL or missing references)
//IL_003c: Unknown result type (might be due to invalid IL or missing references)
//IL_0043: Unknown result type (might be due to invalid IL or missing references)
//IL_004e: Unknown result type (might be due to invalid IL or missing references)
//IL_005a: Expected O, but got Unknown
CardDetails val = new CardDetails();
val.Title = "Perk-A-Cola";
val.Description = "Gives you a random COD card from ASK (or any mod that adds more COD cards)";
val.Theme = (CardThemeColorType)1;
val.Rarity = (Rarity)1;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[1]
{
new CardInfoStat
{
positive = true,
stat = "COD Card",
amount = "+1 Random"
}
};
val.ModName = "Call of Duty";
return val;
}
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
((SimpleCard)this).Added(player, gun, gunAmmo, data, health, gravity, block, characterStats);
CardInfo val = Cards.instance.NORARITY_GetRandomCardWithCondition(player, gun, gunAmmo, data, health, gravity, block, characterStats, (Func<CardInfo, Player, Gun, GunAmmo, CharacterData, HealthHandler, Gravity, Block, CharacterStatModifiers, bool>)Condition, 1000);
if ((Object)(object)val == (Object)null)
{
val = Cards.instance.NORARITY_GetRandomCardWithCondition(player, gun, gunAmmo, data, health, gravity, block, characterStats, (Func<CardInfo, Player, Gun, GunAmmo, CharacterData, HealthHandler, Gravity, Block, CharacterStatModifiers, bool>)ConditionDupe, 1000);
}
Cards.instance.AddCardToPlayer(player, val, false, "", 0f, 0f);
}
public bool Condition(CardInfo card, Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
CardInfo[] activeCardsFromCategory = CustomCardCategories.instance.GetActiveCardsFromCategory(CodUpgrade.category);
foreach (CardInfo val in activeCardsFromCategory)
{
if (((object)val).Equals((object?)card) && data.currentCards.Contains(val))
{
return true;
}
}
return false;
}
public bool ConditionDupe(CardInfo card, Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
CardInfo[] activeCardsFromCategory = CustomCardCategories.instance.GetActiveCardsFromCategory(CodUpgrade.category);
foreach (CardInfo val in activeCardsFromCategory)
{
if (((object)val).Equals((object?)card))
{
return true;
}
}
return false;
}
}
public class PHDFlopper : CodUpgrade
{
public override CardDetails Details
{
get
{
//IL_0000: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Expected O, but got Unknown
//IL_0037: Unknown result type (might be due to invalid IL or missing references)
//IL_003c: Unknown result type (might be due to invalid IL or missing references)
//IL_0043: Unknown result type (might be due to invalid IL or missing references)
//IL_004e: Unknown result type (might be due to invalid IL or missing references)
//IL_005a: Expected O, but got Unknown
CardDetails val = new CardDetails();
val.Title = "PhD Flopper";
val.Description = "PhD, night-time scene. PhD, the streets are mean. PhD, the things I've seen, the good (PhD), and the bad.";
val.Theme = (CardThemeColorType)2;
val.Rarity = (Rarity)1;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[1]
{
new CardInfoStat
{
positive = true,
stat = "Poison Resistance",
amount = "+50%"
}
};
val.ModName = "Call of Duty";
return val;
}
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
CharacterStatModifiersExtension.GetAdditionalData(characterStats).poisonResistance *= 0.5f;
}
}
public class QuickRevive : CodUpgrade
{
public override CardDetails Details
{
get
{
//IL_0000: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Expected O, but got Unknown
//IL_0037: Unknown result type (might be due to invalid IL or missing references)
//IL_003c: Unknown result type (might be due to invalid IL or missing references)
//IL_0043: Unknown result type (might be due to invalid IL or missing references)
//IL_004e: Unknown result type (might be due to invalid IL or missing references)
//IL_005a: Expected O, but got Unknown
CardDetails val = new CardDetails();
val.Title = "Quick Revive";
val.Description = "When everything's, been draggin' you down, grabbed you by the hair and pulled you to the ground-";
val.Theme = (CardThemeColorType)2;
val.Rarity = (Rarity)1;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[1]
{
new CardInfoStat
{
positive = true,
stat = "Health Regen",
amount = "+6"
}
};
val.ModName = "Call of Duty";
return val;
}
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
health.regeneration += 6f;
}
}
public class SpeedCola : CodUpgrade
{
public override CardDetails Details
{
get
{
//IL_0000: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Expected O, but got Unknown
//IL_0037: Unknown result type (might be due to invalid IL or missing references)
//IL_003c: Unknown result type (might be due to invalid IL or missing references)
//IL_0043: Unknown result type (might be due to invalid IL or missing references)
//IL_004e: Unknown result type (might be due to invalid IL or missing references)
//IL_005a: Expected O, but got Unknown
//IL_005c: Unknown result type (might be due to invalid IL or missing references)
//IL_0061: Unknown result type (might be due to invalid IL or missing references)
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
//IL_0073: Unknown result type (might be due to invalid IL or missing references)
//IL_007f: Expected O, but got Unknown
CardDetails val = new CardDetails();
val.Title = "Speed Cola";
val.Description = "Your hands are slow, your movement's sluggish, your lack of speed, just brings you anguish.";
val.Theme = (CardThemeColorType)3;
val.Rarity = (Rarity)2;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[2]
{
new CardInfoStat
{
positive = true,
stat = "Block Cooldown",
amount = "-25%"
},
new CardInfoStat
{
positive = true,
stat = "Reload Speed",
amount = "+50%"
}
};
val.ModName = "Call of Duty";
return val;
}
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
gun.reloadTime *= 0.5f;
block.cdMultiplier *= 0.75f;
}
}
public class StaminUp : CodUpgrade
{
public override CardDetails Details
{
get
{
//IL_0000: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Expected O, but got Unknown
//IL_0037: Unknown result type (might be due to invalid IL or missing references)
//IL_003c: Unknown result type (might be due to invalid IL or missing references)
//IL_0043: Unknown result type (might be due to invalid IL or missing references)
//IL_004e: Unknown result type (might be due to invalid IL or missing references)
//IL_0059: Unknown result type (might be due to invalid IL or missing references)
//IL_005b: Unknown result type (might be due to invalid IL or missing references)
//IL_0061: Expected O, but got Unknown
CardDetails val = new CardDetails();
val.Title = "Stamin-Up";
val.Description = "Stamin-up-Min-Up! (x3) When you need some extra runnin', when you need some extra time-";
val.Theme = (CardThemeColorType)3;
val.Rarity = (Rarity)0;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[1]
{
new CardInfoStat
{
positive = true,
stat = "Movement Speed",
amount = "+50%",
simepleAmount = (SimpleAmount)1
}
};
val.ModName = "Call of Duty";
return val;
}
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
((SimpleCard)this).Added(player, gun, gunAmmo, data, health, gravity, block, characterStats);
characterStats.movementSpeed *= 1.5f;
}
}
}
namespace ASK.Cards.Clash
{
public class Archer : SimpleCard
{
public override CardDetails Details
{
get
{
//IL_0000: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Expected O, but got Unknown
//IL_0037: Unknown result type (might be due to invalid IL or missing references)
//IL_003c: Unknown result type (might be due to invalid IL or missing references)
//IL_0043: Unknown result type (might be due to invalid IL or missing references)
//IL_004e: Unknown result type (might be due to invalid IL or missing references)
//IL_005a: Expected O, but got Unknown
//IL_005c: Unknown result type (might be due to invalid IL or missing references)
//IL_0061: Unknown result type (might be due to invalid IL or missing references)
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
//IL_0073: Unknown result type (might be due to invalid IL or missing references)
//IL_007f: Expected O, but got Unknown
//IL_0081: Unknown result type (might be due to invalid IL or missing references)
//IL_0086: Unknown result type (might be due to invalid IL or missing references)
//IL_008d: Unknown result type (might be due to invalid IL or missing references)
//IL_0098: Unknown result type (might be due to invalid IL or missing references)
//IL_00a4: Expected O, but got Unknown
CardDetails val = new CardDetails();
val.Title = "Archer";
val.Description = "A pair of lightly armored ranged attackers. They'll help you take down ground and air units, but you're on your own with hair coloring advice.";
val.Theme = (CardThemeColorType)5;
val.Rarity = (Rarity)1;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[3]
{
new CardInfoStat
{
positive = true,
stat = "Bullet Gravity",
amount = "-50%"
},
new CardInfoStat
{
positive = true,
stat = "Bullet Growth",
amount = "+15%"
},
new CardInfoStat
{
positive = false,
amount = "-20%",
stat = "Damage"
}
};
val.ModName = "Clash";
return val;
}
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
gun.gravity *= 0.5f;
gun.damageAfterDistanceMultiplier *= 1.15f;
gun.damage *= 0.8f;
}
}
public class DartGoblin : SimpleCard
{
public override CardDetails Details
{
get
{
//IL_0000: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Expected O, but got Unknown
//IL_0037: Unknown result type (might be due to invalid IL or missing references)
//IL_003c: Unknown result type (might be due to invalid IL or missing references)
//IL_0043: Unknown result type (might be due to invalid IL or missing references)
//IL_004e: Unknown result type (might be due to invalid IL or missing references)
//IL_005a: Expected O, but got Unknown
//IL_005c: Unknown result type (might be due to invalid IL or missing references)
//IL_0061: Unknown result type (might be due to invalid IL or missing references)
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
//IL_0073: Unknown result type (might be due to invalid IL or missing references)
//IL_007f: Expected O, but got Unknown
//IL_0081: Unknown result type (might be due to invalid IL or missing references)
//IL_0086: Unknown result type (might be due to invalid IL or missing references)
//IL_008d: Unknown result type (might be due to invalid IL or missing references)
//IL_0098: Unknown result type (might be due to invalid IL or missing references)
//IL_00a4: Expected O, but got Unknown
//IL_00a6: Unknown result type (might be due to invalid IL or missing references)
//IL_00ab: 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_00c9: Expected O, but got Unknown
//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
//IL_00d0: Unknown result type (might be due to invalid IL or missing references)
//IL_00d7: Unknown result type (might be due to invalid IL or missing references)
//IL_00e2: Unknown result type (might be due to invalid IL or missing references)
//IL_00ee: Expected O, but got Unknown
CardDetails val = new CardDetails();
val.Title = "Dart Goblin";
val.Description = "Runs fast, shoots far and chews gum. How does he blow darts with a mouthful of Double Trouble Gum? Years of didgeridoo lessons.";
val.Theme = (CardThemeColorType)5;
val.Rarity = (Rarity)2;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[5]
{
new CardInfoStat
{
positive = true,
stat = "Speed",
amount = "+55%"
},
new CardInfoStat
{
positive = true,
stat = "ATKSPD",
amount = "x4"
},
new CardInfoStat
{
positive = true,
amount = "+15",
stat = "Ammo"
},
new CardInfoStat
{
positive = false,
amount = "-50%",
stat = "Damage"
},
new CardInfoStat
{
positive = false,
amount = "-30%",
stat = "Health"
}
};
val.ModName = "Clash";
return val;
}
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
characterStats.movementSpeed *= 1.55f;
gun.attackSpeed *= 0.25f;
gun.damage *= 0.5f;
gunAmmo.maxAmmo += 15;
data.maxHealth *= 0.7f;
}
}
public class Giant : SimpleCard
{
public override CardDetails Details
{
get
{
//IL_0000: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Expected O, but got Unknown
//IL_0037: Unknown result type (might be due to invalid IL or missing references)
//IL_003c: Unknown result type (might be due to invalid IL or missing references)
//IL_0043: Unknown result type (might be due to invalid IL or missing references)
//IL_004e: Unknown result type (might be due to invalid IL or missing references)
//IL_005a: Expected O, but got Unknown
//IL_005c: Unknown result type (might be due to invalid IL or missing references)
//IL_0061: Unknown result type (might be due to invalid IL or missing references)
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
//IL_0073: Unknown result type (might be due to invalid IL or missing references)
//IL_007f: Expected O, but got Unknown
//IL_0081: Unknown result type (might be due to invalid IL or missing references)
//IL_0086: Unknown result type (might be due to invalid IL or missing references)
//IL_008d: Unknown result type (might be due to invalid IL or missing references)
//IL_0098: Unknown result type (might be due to invalid IL or missing references)
//IL_00a4: Expected O, but got Unknown
CardDetails val = new CardDetails();
val.Title = "Giant";
val.Description = "Slow but durable, only attacks buildings. A real one-man wrecking crew!";
val.Theme = (CardThemeColorType)5;
val.Rarity = (Rarity)1;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[3]
{
new CardInfoStat
{
positive = true,
stat = "Damage",
amount = "+50%"
},
new CardInfoStat
{
positive = true,
stat = "Health",
amount = "+50%"
},
new CardInfoStat
{
positive = false,
amount = "-40%",
stat = "Move Speed"
}
};
val.ModName = "Clash";
return val;
}
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
gun.damage *= 1.5f;
data.maxHealth *= 1.5f;
characterStats.movementSpeed *= 0.6f;
}
}
public class Knight : SimpleCard
{
public override CardDetails Details
{
get
{
//IL_0000: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Expected O, but got Unknown
//IL_0037: Unknown result type (might be due to invalid IL or missing references)
//IL_003c: Unknown result type (might be due to invalid IL or missing references)
//IL_0043: Unknown result type (might be due to invalid IL or missing references)
//IL_004e: Unknown result type (might be due to invalid IL or missing references)
//IL_005a: Expected O, but got Unknown
//IL_005c: Unknown result type (might be due to invalid IL or missing references)
//IL_0061: Unknown result type (might be due to invalid IL or missing references)
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
//IL_0073: Unknown result type (might be due to invalid IL or missing references)
//IL_007f: Expected O, but got Unknown
//IL_0081: Unknown result type (might be due to invalid IL or missing references)
//IL_0086: Unknown result type (might be due to invalid IL or missing references)
//IL_008d: Unknown result type (might be due to invalid IL or missing references)
//IL_0098: Unknown result type (might be due to invalid IL or missing references)
//IL_00a4: Expected O, but got Unknown
CardDetails val = new CardDetails();
val.Title = "Knight";
val.Description = "A tough melee fighter. The Barbarian's handsome, cultured cousin. Rumor has it that he was knighted based on the sheer awesomeness of his mustache alone.";
val.Theme = (CardThemeColorType)5;
val.Rarity = (Rarity)1;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[3]
{
new CardInfoStat
{
positive = true,
stat = "Health",
amount = "+45%"
},
new CardInfoStat
{
positive = true,
stat = "ATKSPD",
amount = "+25%"
},
new CardInfoStat
{
positive = false,
stat = "Damage",
amount = "-15%"
}
};
val.ModName = "Clash";
return val;
}
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
data.maxHealth *= 1.5f;
gun.attackSpeed *= 0.75f;
gun.damage *= 0.85f;
}
}
public class Princess : SimpleCard
{
public override CardDetails Details
{
get
{
//IL_0000: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Expected O, but got Unknown
//IL_0037: Unknown result type (might be due to invalid IL or missing references)
//IL_003c: Unknown result type (might be due to invalid IL or missing references)
//IL_0043: Unknown result type (might be due to invalid IL or missing references)
//IL_004e: Unknown result type (might be due to invalid IL or missing references)
//IL_005a: Expected O, but got Unknown
//IL_005c: Unknown result type (might be due to invalid IL or missing references)
//IL_0061: Unknown result type (might be due to invalid IL or missing references)
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
//IL_0073: Unknown result type (might be due to invalid IL or missing references)
//IL_007f: Expected O, but got Unknown
//IL_0081: Unknown result type (might be due to invalid IL or missing references)
//IL_0086: Unknown result type (might be due to invalid IL or missing references)
//IL_008d: Unknown result type (might be due to invalid IL or missing references)
//IL_0098: Unknown result type (might be due to invalid IL or missing references)
//IL_00a4: Expected O, but got Unknown
CardDetails val = new CardDetails();
val.Title = "Princess";
val.Description = "This stunning Princess shoots flaming arrows from long range. If you're feeling warm feelings towards her, it's probably because you're on fire.";
val.Theme = (CardThemeColorType)5;
val.Rarity = (Rarity)1;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[3]
{
new CardInfoStat
{
positive = true,
stat = "Damage",
amount = "+25%"
},
new CardInfoStat
{
positive = true,
stat = "Bullet Gravity",
amount = "-25%"
},
new CardInfoStat
{
positive = false,
amount = "-30%",
stat = "Health"
}
};
val.ModName = "Clash";
return val;
}
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
gun.damage *= 1.25f;
gun.gravity *= 0.75f;
data.maxHealth *= 0.7f;
}
}
public class Sparky : CustomEffectCard<SparkyEffect>
{
public override CardDetails<SparkyEffect> Details
{
get
{
//IL_0037: Unknown result type (might be due to invalid IL or missing references)
//IL_003c: Unknown result type (might be due to invalid IL or missing references)
//IL_0043: Unknown result type (might be due to invalid IL or missing references)
//IL_004e: Unknown result type (might be due to invalid IL or missing references)
//IL_005a: Expected O, but got Unknown
//IL_005c: Unknown result type (might be due to invalid IL or missing references)
//IL_0061: Unknown result type (might be due to invalid IL or missing references)
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
//IL_0073: Unknown result type (might be due to invalid IL or missing references)
//IL_007f: Expected O, but got Unknown
//IL_0081: Unknown result type (might be due to invalid IL or missing references)
//IL_0086: Unknown result type (might be due to invalid IL or missing references)
//IL_008d: Unknown result type (might be due to invalid IL or missing references)
//IL_0098: Unknown result type (might be due to invalid IL or missing references)
//IL_00a4: Expected O, but got Unknown
CardDetails<SparkyEffect> val = new CardDetails<SparkyEffect>();
val.Title = "Sparky";
val.Description = "Sparky slowly charges up, then unloads MASSIVE area damage. Overkill isn't in her vocabulary.";
val.Theme = (CardThemeColorType)5;
val.Rarity = (Rarity)0;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[3]
{
new CardInfoStat
{
positive = true,
stat = "Damage",
amount = "x3"
},
new CardInfoStat
{
positive = false,
stat = "Max Ammo <color=##bf1206>(PERMENANT!)</color>",
amount = "1"
},
new CardInfoStat
{
positive = false,
amount = "-75%",
stat = "ATKSPD"
}
};
val.ModName = "Clash";
return val;
}
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
base.Added(player, gun, gunAmmo, data, health, gravity, block, characterStats);
gun.damage *= 3f;
gun.attackSpeed *= 1.75f;
gunAmmo.maxAmmo = 1;
}
}
public class SparkyEffect : CardEffect
{
public override IEnumerator OnBattleStart(IGameModeHandler gameModeHandler)
{
((CardEffect)this).gunAmmo.maxAmmo = 1;
return ((CardEffect)this).OnBattleStart(gameModeHandler);
}
}
}