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 BepInEx.Bootstrap;
using CardChoiceSpawnUniqueCardPatch.CustomCategories;
using HarmonyLib;
using InControl;
using Jotunn.Utils;
using Microsoft.CodeAnalysis;
using ModdingUtils.Extensions;
using ModdingUtils.Utils;
using Photon.Pun;
using RSCards.Cards;
using RSCards.MonoBehaviors;
using RSCards.Utilities;
using Sonigon;
using UnboundLib;
using UnboundLib.Cards;
using UnboundLib.GameModes;
using UnboundLib.Utils;
using UnityEngine;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = "")]
[assembly: AssemblyCompany("RSCards")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("RSCards")]
[assembly: AssemblyTitle("RSCards")]
[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 RSCards
{
[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.rsmind.rounds.RSCards", "RSCards", "1.3.3")]
[BepInProcess("Rounds.exe")]
public class RSCards : BaseUnityPlugin
{
private const string ModId = "com.rsmind.rounds.RSCards";
private const string ModName = "RSCards";
public const string Version = "1.3.3";
public const string ModInitials = "RSC";
public static bool Debug;
internal static AssetBundle ArtAssets;
public static RSCards instance { get; private set; }
private void Awake()
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000c: Expected O, but got Unknown
Harmony val = new Harmony("com.rsmind.rounds.RSCards");
val.PatchAll();
}
private void Start()
{
bool flag = false;
foreach (BaseUnityPlugin plugin in Chainloader.Plugins)
{
if (plugin.Info.Metadata.GUID == "com.rsmind.rounds.RSClasses")
{
flag = true;
break;
}
}
instance = this;
ArtAssets = AssetUtils.LoadAssetBundleFromResources("rscardart", typeof(RSCards).Assembly);
if ((Object)(object)ArtAssets == (Object)null)
{
Debug.Log((object)"Failed to load RSCards art asset bundle");
}
CustomCard.BuildCard<BounceAbsorption>();
CustomCard.BuildCard<Changeup>();
CustomCard.BuildCard<Hitscan>();
CustomCard.BuildCard<Mortar>();
CustomCard.BuildCard<OpenChamber>();
CustomCard.BuildCard<RecklessAttack>();
CustomCard.BuildCard<Repentance>();
if (DateTools.WeekOf(new DateTime(DateTime.UtcNow.Year, 4, 1)))
{
CustomCard.BuildCard<Repentence>();
CustomCard.BuildCard<Repen10ce>((Action<CardInfo>)delegate(CardInfo cardInfo)
{
Cards.instance.AddHiddenCard(cardInfo);
});
}
CustomCard.BuildCard<Slug>();
CustomCard.BuildCard<Split>();
if (!flag)
{
CustomCard.BuildCard<TwinScythe>();
}
GameModeManager.AddHook("GameStart", (Func<IGameModeHandler, IEnumerator>)GameStart);
GameModeManager.AddHook("PlayerPickStart", (Func<IGameModeHandler, IEnumerator>)PlayerPickStart);
ExtensionMethods.ExecuteAfterSeconds((MonoBehaviour)(object)this, 0.4f, (Action)delegate
{
CustomCardCategories.instance.MakeCardsExclusive(CardManager.cards.Values.First((Card card) => card.cardInfo.cardName == "Hitscan").cardInfo, CardManager.cards.Values.First((Card card) => card.cardInfo.cardName == "Mortar").cardInfo);
});
}
private IEnumerator GameStart(IGameModeHandler gm)
{
yield break;
}
private IEnumerator PlayerPickStart(IGameModeHandler gm)
{
foreach (Player player in PlayerManager.instance.players)
{
if (((Component)((Component)player.data).GetComponent<Holding>().holdable).GetComponent<Gun>().reflects >= 2)
{
CharacterStatModifiersExtension.GetAdditionalData(player.data.stats).blacklistedCategories.Remove(RSCardCategories.BounceAbsorptionCategory);
}
else
{
CharacterStatModifiersExtension.GetAdditionalData(player.data.stats).blacklistedCategories.Add(RSCardCategories.BounceAbsorptionCategory);
}
if (((Component)player).GetComponent<CharacterStatModifiers>().lifeSteal >= 0.5f)
{
CharacterStatModifiersExtension.GetAdditionalData(player.data.stats).blacklistedCategories.Remove(RSCardCategories.RepentanceCategory);
}
else
{
CharacterStatModifiersExtension.GetAdditionalData(player.data.stats).blacklistedCategories.Add(RSCardCategories.RepentanceCategory);
}
}
yield break;
}
}
internal static class RSCardCategories
{
public static CardCategory BounceAbsorptionCategory = CustomCardCategories.instance.CardCategory("Bounce Absorption");
public static CardCategory RepentanceCategory = CustomCardCategories.instance.CardCategory("Repentance");
}
}
namespace RSCards.Utilities
{
internal static class DateTools
{
public static bool DayOf(DateTime holiday)
{
double num = DateTime.UtcNow.ToOADate();
double num2 = holiday.AddHours(-12.0).ToOADate();
double num3 = holiday.AddHours(36.0).ToOADate();
return num > num2 && num < num3;
}
public static bool DayOf(DateTime[] holidays)
{
for (int i = 0; i < holidays.Length; i++)
{
if (DayOf(holidays[i]))
{
return true;
}
}
return false;
}
public static bool WeekOf(DateTime holiday)
{
double num = DateTime.UtcNow.ToOADate();
double num2 = holiday.AddDays(-6.0).AddHours(-12.0).ToOADate();
double num3 = holiday.AddDays(6.0).AddHours(36.0).ToOADate();
return num > num2 && num < num3;
}
public static bool WeekOf(DateTime[] holidays)
{
for (int i = 0; i < holidays.Length; i++)
{
if (WeekOf(holidays[i]))
{
return true;
}
}
return false;
}
public static void DateTest(DateTime testDate)
{
if (DayOf(testDate))
{
Debug.Log((object)$"It's {testDate.Month}/{testDate.Day} somewhere");
}
else if (WeekOf(testDate))
{
Debug.Log((object)$"It's the week of {testDate.Month}/{testDate.Day} somewhere");
}
else
{
Debug.Log((object)$"It's not {testDate.Month}/{testDate.Day} anywhere");
}
}
}
}
namespace RSCards.MonoBehaviors
{
public class Hitscan_Mono : MonoBehaviour
{
private GameObject trail;
private GameObject bullet;
private void OnDestroy()
{
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_001d: Unknown result type (might be due to invalid IL or missing references)
trail.transform.SetPositionAndRotation(((Component)this).transform.position, ((Component)this).transform.rotation);
ExtensionMethods.ExecuteAfterSeconds((MonoBehaviour)(object)RSCards.instance, 2f, (Action)delegate
{
Object.Destroy((Object)(object)trail);
});
}
private void Start()
{
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
//IL_0024: Expected O, but got Unknown
//IL_0035: 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)
trail = new GameObject("Hitscan_Trail", new Type[1] { typeof(TrailRenderer) });
trail.transform.SetPositionAndRotation(((Component)this).transform.position, ((Component)this).transform.rotation);
trail.GetComponent<TrailRenderer>().startWidth = 0.1f;
trail.GetComponent<TrailRenderer>().endWidth = 0.1f;
trail.GetComponent<TrailRenderer>().time = 1f;
((Renderer)trail.GetComponent<TrailRenderer>()).sharedMaterial = RSCards.ArtAssets.LoadAsset<Material>("Material");
}
private void Update()
{
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_001d: Unknown result type (might be due to invalid IL or missing references)
trail.transform.SetPositionAndRotation(((Component)this).transform.position, ((Component)this).transform.rotation);
}
}
public class Mortar_Mono : MonoBehaviour
{
public bool snap;
public bool trigger;
public float rotateSpeed = 1000f;
private SpawnedAttack spawned;
private MoveTransform move;
private float startVelocity;
private bool isOn;
private ProjectileHit hit;
private float c;
private PhotonView view;
private ChildRPC childRPC;
private void OnDestroy()
{
}
private void Start()
{
childRPC = ((Component)this).GetComponentInParent<ChildRPC>();
view = ((Component)this).GetComponentInParent<PhotonView>();
hit = ((Component)this).GetComponentInParent<ProjectileHit>();
move = ((Component)this).GetComponentInParent<MoveTransform>();
spawned = ((Component)this).GetComponentInParent<SpawnedAttack>();
startVelocity = ((Vector3)(ref move.velocity)).magnitude;
((Component)this).GetComponentInParent<SyncProjectile>().active = true;
}
private void Update()
{
//IL_001a: 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_006b: Unknown result type (might be due to invalid IL or missing references)
//IL_0070: Unknown result type (might be due to invalid IL or missing references)
//IL_007b: Unknown result type (might be due to invalid IL or missing references)
//IL_0080: Unknown result type (might be due to invalid IL or missing references)
//IL_0085: Unknown result type (might be due to invalid IL or missing references)
//IL_0057: Unknown result type (might be due to invalid IL or missing references)
//IL_005c: 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_00c8: 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_00ce: Unknown result type (might be due to invalid IL or missing references)
//IL_00de: 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_00e8: Unknown result type (might be due to invalid IL or missing references)
//IL_0143: Unknown result type (might be due to invalid IL or missing references)
//IL_014d: Unknown result type (might be due to invalid IL or missing references)
//IL_0152: Unknown result type (might be due to invalid IL or missing references)
//IL_01a4: Unknown result type (might be due to invalid IL or missing references)
//IL_01ab: Unknown result type (might be due to invalid IL or missing references)
//IL_01b6: Unknown result type (might be due to invalid IL or missing references)
//IL_01d9: Unknown result type (might be due to invalid IL or missing references)
//IL_01de: Unknown result type (might be due to invalid IL or missing references)
try
{
if (!view.IsMine)
{
return;
}
Vector3 val = Vector3.zero;
if (((PlayerActionSet)spawned.spawner.data.playerActions).Device != null)
{
val = spawned.spawner.data.input.aimDirection;
}
else
{
val = MainCam.instance.cam.ScreenToWorldPoint(Input.mousePosition) - ((Component)this).transform.position;
val.z = 0f;
((Vector3)(ref val)).Normalize();
}
trigger = spawned.spawner.data.weaponHandler.gun.ReadyAmount() < 0.01f;
val += Vector3.Cross(Vector3.forward, val) * move.selectedSpread;
c += TimeHandler.deltaTime;
if (!trigger)
{
return;
}
if (snap)
{
if (spawned.spawner.data.block.blockedThisFrame)
{
move.velocity *= -1f;
((Behaviour)this).enabled = false;
}
}
else if (((Vector3)(ref val)).magnitude > 0.2f && hit.sinceReflect > 2f)
{
move.velocity = Vector3.RotateTowards(move.velocity, ((Vector3)(ref val)).normalized * startVelocity, rotateSpeed * TimeHandler.deltaTime, rotateSpeed * TimeHandler.deltaTime * 10f);
if (c > 0.1f)
{
c = 0f;
}
if (!isOn)
{
MoveTransform obj = move;
obj.simulateGravity++;
}
isOn = true;
}
else
{
if (isOn)
{
MoveTransform obj2 = move;
obj2.simulateGravity--;
}
isOn = false;
}
}
catch
{
}
}
}
internal class Scythe : MonoBehaviour
{
public bool active = true;
public float damage = 55f;
private Player Player;
private Dictionary<int, float> recent = new Dictionary<int, float>();
private GameObject scythe;
private void OnDestroy()
{
Object.Destroy((Object)(object)scythe);
}
private void Start()
{
//IL_0055: Unknown result type (might be due to invalid IL or missing references)
Player = ((Component)this).GetComponentInParent<Player>();
scythe = Object.Instantiate<GameObject>(RSCards.ArtAssets.LoadAsset<GameObject>("Scythe"), ((Component)Player).transform);
scythe.SetActive(true);
scythe.GetComponent<SpriteRenderer>().color = Player.GetTeamColors().color;
}
public void DoHit()
{
//IL_0024: Unknown result type (might be due to invalid IL or missing references)
//IL_003a: Unknown result type (might be due to invalid IL or missing references)
//IL_003f: Unknown result type (might be due to invalid IL or missing references)
//IL_00fc: Unknown result type (might be due to invalid IL or missing references)
//IL_01df: Unknown result type (might be due to invalid IL or missing references)
//IL_01e4: Unknown result type (might be due to invalid IL or missing references)
//IL_01ef: Unknown result type (might be due to invalid IL or missing references)
//IL_01f4: Unknown result type (might be due to invalid IL or missing references)
//IL_01f9: Unknown result type (might be due to invalid IL or missing references)
//IL_01fe: Unknown result type (might be due to invalid IL or missing references)
//IL_0202: Unknown result type (might be due to invalid IL or missing references)
//IL_020d: Unknown result type (might be due to invalid IL or missing references)
//IL_0218: Unknown result type (might be due to invalid IL or missing references)
//IL_021d: Unknown result type (might be due to invalid IL or missing references)
//IL_0174: Unknown result type (might be due to invalid IL or missing references)
//IL_0179: Unknown result type (might be due to invalid IL or missing references)
//IL_0184: Unknown result type (might be due to invalid IL or missing references)
//IL_0189: Unknown result type (might be due to invalid IL or missing references)
//IL_018e: Unknown result type (might be due to invalid IL or missing references)
//IL_0193: Unknown result type (might be due to invalid IL or missing references)
//IL_0197: Unknown result type (might be due to invalid IL or missing references)
//IL_01a1: Unknown result type (might be due to invalid IL or missing references)
if (!Player.data.view.IsMine)
{
return;
}
float y = ((Component)this).transform.localScale.y;
Collider2D[] array = Physics2D.OverlapCircleAll(Vector2.op_Implicit(scythe.transform.position), y);
Collider2D[] array2 = array;
foreach (Collider2D val in array2)
{
int[] array3 = recent.Keys.ToArray();
int[] array4 = array3;
foreach (int key in array4)
{
recent[key] -= TimeHandler.deltaTime;
}
ProjectileHit componentInParent = ((Component)val).gameObject.GetComponentInParent<ProjectileHit>();
Damagable component = ((Component)val).gameObject.GetComponent<Damagable>();
HealthHandler component2 = ((Component)val).gameObject.GetComponent<HealthHandler>();
Vector2 val2;
if (Object.op_Implicit((Object)(object)component2))
{
int playerID = ((Player)ExtensionMethods.GetFieldValue((object)component2, "player")).playerID;
if (playerID == Player.playerID || (recent.ContainsKey(playerID) && recent[playerID] > 0f))
{
continue;
}
SoundManager.Instance.PlayAtPosition(component2.soundBounce, ((Component)this).transform, ((Component)component).transform);
val2 = Vector2.op_Implicit(((Component)component).transform.position) - Vector2.op_Implicit(((Component)this).transform.position);
component2.CallTakeForce(((Vector2)(ref val2)).normalized * 2500f, (ForceMode2D)1, true, false, 0f);
recent[playerID] = 0.5f;
}
if (Object.op_Implicit((Object)(object)component))
{
val2 = Vector2.op_Implicit(((Component)component).transform.position) - Vector2.op_Implicit(((Component)this).transform.position);
component.CallTakeDamage(((Vector2)(ref val2)).normalized * damage, Vector2.op_Implicit(((Component)this).transform.position), ((Component)this).gameObject, Player, true);
}
if (Object.op_Implicit((Object)(object)componentInParent))
{
componentInParent.deathEvent.Invoke();
Object.Destroy((Object)(object)((Component)componentInParent).gameObject);
}
}
}
public void UpdatePos(double angle, float rotation, float radius)
{
//IL_0039: Unknown result type (might be due to invalid IL or missing references)
//IL_004c: Unknown result type (might be due to invalid IL or missing references)
//IL_0062: Unknown result type (might be due to invalid IL or missing references)
//IL_0074: Unknown result type (might be due to invalid IL or missing references)
double num = angle * Math.PI / 180.0;
Vector3 localPosition = default(Vector3);
((Vector3)(ref localPosition))..ctor((float)((double)radius * Math.Sin(num)), (float)((double)radius * Math.Cos(num)), 0f);
Quaternion rotation2 = default(Quaternion);
((Quaternion)(ref rotation2)).eulerAngles = new Vector3(0f, 0f, rotation);
scythe.transform.localPosition = localPosition;
scythe.transform.rotation = rotation2;
}
}
public class TwinScytheMono : MonoBehaviour
{
private float radius = 2.5f;
private double angle = 0.0;
private float rotation = 0f;
public int count = 0;
private float damage = 35f;
private bool active = false;
private List<Scythe> scythes = new List<Scythe>();
private Player Player;
private void Start()
{
Player = ((Component)this).GetComponentInParent<Player>();
GameModeManager.AddHook("PointStart", (Func<IGameModeHandler, IEnumerator>)PointStart);
GameModeManager.AddHook("PointEnd", (Func<IGameModeHandler, IEnumerator>)PointEnd);
GameModeManager.AddHook("BattleStart", (Func<IGameModeHandler, IEnumerator>)BattleStart);
}
private void Update()
{
radius = 2f;
angle = (angle + (double)(200f * TimeHandler.deltaTime)) % 360.0;
rotation = (rotation - 1200f * TimeHandler.deltaTime) % 360f;
int num = 0;
foreach (Scythe scythe in scythes)
{
double num2 = angle + (double)(360 / scythes.Count() * num);
scythe.UpdatePos(num2, rotation, radius);
num++;
}
}
private void FixedUpdate()
{
if (!active)
{
return;
}
foreach (Scythe scythe in scythes)
{
scythe.DoHit();
}
}
public void UpdateCard()
{
//IL_0039: Unknown result type (might be due to invalid IL or missing references)
//IL_003f: Expected O, but got Unknown
//IL_006c: Unknown result type (might be due to invalid IL or missing references)
int num = Math.Min(count, 4);
if (scythes.Count() < num)
{
GameObject val = new GameObject("Scythe", new Type[1] { typeof(Scythe) });
val.transform.SetParent(((Component)Player).transform);
((Component)Player).transform.position = ((Component)Player).transform.position;
scythes.Add(val.GetComponent<Scythe>());
}
else if (scythes.Count() > num)
{
Object.Destroy((Object)(object)scythes[0]);
scythes.Remove(scythes[0]);
}
foreach (Scythe scythe in scythes)
{
scythe.damage = 27.5f + 27.5f * (float)count;
}
}
private IEnumerator BattleStart(IGameModeHandler gm)
{
active = true;
yield break;
}
private IEnumerator PointStart(IGameModeHandler gm)
{
rotation = 0f;
angle = 0.0;
yield break;
}
private IEnumerator PointEnd(IGameModeHandler gm)
{
active = false;
yield break;
}
}
}
namespace RSCards.Cards
{
internal class BounceAbsorption : CustomCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
cardInfo.categories = (CardCategory[])(object)new CardCategory[1] { RSCardCategories.BounceAbsorptionCategory };
gun.damage = 1.5f;
gun.projectileSpeed = 1.5f;
gun.reflects = -2;
if (RSCards.Debug)
{
Debug.Log((object)("[RSC][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
}
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
if (RSCards.Debug)
{
Debug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "RSC", ((CustomCard)this).GetTitle(), player.playerID));
}
}
public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
if (RSCards.Debug)
{
Debug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "RSC", ((CustomCard)this).GetTitle(), player.playerID));
}
}
protected override string GetTitle()
{
return "Bounce Absorption";
}
protected override string GetDescription()
{
return "Converts bounces to raw power";
}
protected override GameObject GetCardArt()
{
return RSCards.ArtAssets.LoadAsset<GameObject>("C_BounceAbsorption");
}
protected override Rarity GetRarity()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return (Rarity)1;
}
protected override CardInfoStat[] GetStats()
{
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
//IL_0015: Unknown result type (might be due to invalid IL or missing references)
//IL_0020: Unknown result type (might be due to invalid IL or missing references)
//IL_002b: Unknown result type (might be due to invalid IL or missing references)
//IL_002d: Unknown result type (might be due to invalid IL or missing references)
//IL_0033: Expected O, but got Unknown
//IL_0035: Unknown result type (might be due to invalid IL or missing references)
//IL_003a: Unknown result type (might be due to invalid IL or missing references)
//IL_0041: Unknown result type (might be due to invalid IL or missing references)
//IL_004c: Unknown result type (might be due to invalid IL or missing references)
//IL_0057: Unknown result type (might be due to invalid IL or missing references)
//IL_0059: Unknown result type (might be due to invalid IL or missing references)
//IL_005f: Expected O, but got Unknown
//IL_0061: Unknown result type (might be due to invalid IL or missing references)
//IL_0066: Unknown result type (might be due to invalid IL or missing references)
//IL_006d: Unknown result type (might be due to invalid IL or missing references)
//IL_0078: Unknown result type (might be due to invalid IL or missing references)
//IL_0083: Unknown result type (might be due to invalid IL or missing references)
//IL_0085: Unknown result type (might be due to invalid IL or missing references)
//IL_008b: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[3]
{
new CardInfoStat
{
positive = true,
stat = "DMG",
amount = "+50%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = true,
stat = "Bullet speed",
amount = "+50%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Bullet bounces",
amount = "-2",
simepleAmount = (SimpleAmount)0
}
};
}
protected override CardThemeColorType GetTheme()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return (CardThemeColorType)8;
}
public override string GetModName()
{
return "RSC";
}
}
internal class Changeup : CustomCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
gun.projectielSimulatonSpeed = 0.75f;
gun.attackSpeed = 0.7f;
if (RSCards.Debug)
{
Debug.Log((object)("[RSC][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
}
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
if (RSCards.Debug)
{
Debug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "RSC", ((CustomCard)this).GetTitle(), player.playerID));
}
}
public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
if (RSCards.Debug)
{
Debug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "RSC", ((CustomCard)this).GetTitle(), player.playerID));
}
}
protected override string GetTitle()
{
return "Changeup";
}
protected override string GetDescription()
{
return "Bullets keep the default trajectory";
}
protected override GameObject GetCardArt()
{
return RSCards.ArtAssets.LoadAsset<GameObject>("C_Changeup");
}
protected override Rarity GetRarity()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return (Rarity)0;
}
protected override CardInfoStat[] GetStats()
{
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
//IL_0015: Unknown result type (might be due to invalid IL or missing references)
//IL_0020: Unknown result type (might be due to invalid IL or missing references)
//IL_002b: Unknown result type (might be due to invalid IL or missing references)
//IL_002d: Unknown result type (might be due to invalid IL or missing references)
//IL_0033: Expected O, but got Unknown
//IL_0035: Unknown result type (might be due to invalid IL or missing references)
//IL_003a: Unknown result type (might be due to invalid IL or missing references)
//IL_0041: Unknown result type (might be due to invalid IL or missing references)
//IL_004c: Unknown result type (might be due to invalid IL or missing references)
//IL_0057: Unknown result type (might be due to invalid IL or missing references)
//IL_0059: Unknown result type (might be due to invalid IL or missing references)
//IL_005f: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[2]
{
new CardInfoStat
{
positive = true,
stat = "ATKSPD",
amount = "+30%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Projectile Speed",
amount = "-25%",
simepleAmount = (SimpleAmount)0
}
};
}
protected override CardThemeColorType GetTheme()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return (CardThemeColorType)1;
}
public override string GetModName()
{
return "RSC";
}
}
internal class HarmingField : CustomCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
if (RSCards.Debug)
{
Debug.Log((object)("[RSC][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
}
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
if (RSCards.Debug)
{
Debug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "RSC", ((CustomCard)this).GetTitle(), player.playerID));
}
}
public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
if (RSCards.Debug)
{
Debug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "RSC", ((CustomCard)this).GetTitle(), player.playerID));
}
}
protected override string GetTitle()
{
return "Harming Field";
}
protected override string GetDescription()
{
return "This card does nothing. Sorry Will";
}
protected override GameObject GetCardArt()
{
return null;
}
protected override Rarity GetRarity()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return (Rarity)0;
}
protected override CardInfoStat[] GetStats()
{
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
//IL_0015: Unknown result type (might be due to invalid IL or missing references)
//IL_0020: Unknown result type (might be due to invalid IL or missing references)
//IL_002b: Unknown result type (might be due to invalid IL or missing references)
//IL_002d: Unknown result type (might be due to invalid IL or missing references)
//IL_0033: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[1]
{
new CardInfoStat
{
positive = true,
stat = "Effect",
amount = "No",
simepleAmount = (SimpleAmount)0
}
};
}
protected override CardThemeColorType GetTheme()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return (CardThemeColorType)7;
}
public override string GetModName()
{
return "RSC";
}
public override bool GetEnabled()
{
return false;
}
}
internal class Hitscan : CustomCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
gun.projectielSimulatonSpeed = 10f;
gun.gravity = 0f;
gun.attackSpeed = 2f;
gun.reloadTime = 0.5f;
cardInfo.allowMultiple = false;
if (RSCards.Debug)
{
Debug.Log((object)("[RSC][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
}
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
//IL_0019: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Expected O, but got Unknown
//IL_0038: Unknown result type (might be due to invalid IL or missing references)
//IL_0042: Expected O, but got Unknown
gun.reflects = int.MinValue;
List<ObjectsToSpawn> list = gun.objectsToSpawn.ToList();
ObjectsToSpawn val = new ObjectsToSpawn();
val.AddToProjectile = new GameObject("Hitscan_Mono", new Type[1] { typeof(Hitscan_Mono) });
list.Add(val);
gun.objectsToSpawn = list.ToArray();
if (RSCards.Debug)
{
Debug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "RSC", ((CustomCard)this).GetTitle(), player.playerID));
}
}
public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
if (RSCards.Debug)
{
Debug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "RSC", ((CustomCard)this).GetTitle(), player.playerID));
}
}
protected override string GetTitle()
{
return "Hitscan";
}
protected override string GetDescription()
{
return "";
}
protected override GameObject GetCardArt()
{
return RSCards.ArtAssets.LoadAsset<GameObject>("C_Hitscan");
}
protected override Rarity GetRarity()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return (Rarity)1;
}
protected override CardInfoStat[] GetStats()
{
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
//IL_0015: Unknown result type (might be due to invalid IL or missing references)
//IL_0020: Unknown result type (might be due to invalid IL or missing references)
//IL_002b: Unknown result type (might be due to invalid IL or missing references)
//IL_002d: Unknown result type (might be due to invalid IL or missing references)
//IL_0033: Expected O, but got Unknown
//IL_0035: Unknown result type (might be due to invalid IL or missing references)
//IL_003a: Unknown result type (might be due to invalid IL or missing references)
//IL_0041: Unknown result type (might be due to invalid IL or missing references)
//IL_004c: Unknown result type (might be due to invalid IL or missing references)
//IL_0057: Unknown result type (might be due to invalid IL or missing references)
//IL_0059: Unknown result type (might be due to invalid IL or missing references)
//IL_005f: Expected O, but got Unknown
//IL_0061: Unknown result type (might be due to invalid IL or missing references)
//IL_0066: Unknown result type (might be due to invalid IL or missing references)
//IL_006d: Unknown result type (might be due to invalid IL or missing references)
//IL_0078: Unknown result type (might be due to invalid IL or missing references)
//IL_0083: Unknown result type (might be due to invalid IL or missing references)
//IL_0085: Unknown result type (might be due to invalid IL or missing references)
//IL_008b: Expected O, but got Unknown
//IL_008d: Unknown result type (might be due to invalid IL or missing references)
//IL_0092: Unknown result type (might be due to invalid IL or missing references)
//IL_0099: Unknown result type (might be due to invalid IL or missing references)
//IL_00a4: Unknown result type (might be due to invalid IL or missing references)
//IL_00af: Unknown result type (might be due to invalid IL or missing references)
//IL_00b1: Unknown result type (might be due to invalid IL or missing references)
//IL_00b7: Expected O, but got Unknown
//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
//IL_00be: Unknown result type (might be due to invalid IL or missing references)
//IL_00c5: Unknown result type (might be due to invalid IL or missing references)
//IL_00d0: Unknown result type (might be due to invalid IL or missing references)
//IL_00db: Unknown result type (might be due to invalid IL or missing references)
//IL_00dd: Unknown result type (might be due to invalid IL or missing references)
//IL_00e3: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[5]
{
new CardInfoStat
{
positive = true,
stat = "Projectile speed",
amount = "+900%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = true,
stat = "Bullet gravity",
amount = "No",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Bullet bounces",
amount = "No",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "ATKSPD",
amount = "-50%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Reload Speed",
amount = "+0.5s",
simepleAmount = (SimpleAmount)0
}
};
}
protected override CardThemeColorType GetTheme()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return (CardThemeColorType)3;
}
public override string GetModName()
{
return "RSC";
}
}
internal class Mortar : CustomCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
gun.reloadTimeAdd = 0.5f;
gun.gravity = 0f;
cardInfo.allowMultiple = false;
if (RSCards.Debug)
{
Debug.Log((object)("[RSC][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
}
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
//IL_0014: Expected O, but got Unknown
//IL_002d: Unknown result type (might be due to invalid IL or missing references)
//IL_0037: Expected O, but got Unknown
List<ObjectsToSpawn> list = gun.objectsToSpawn.ToList();
ObjectsToSpawn val = new ObjectsToSpawn();
val.AddToProjectile = new GameObject("Mortar_Mono", new Type[1] { typeof(Mortar_Mono) });
list.Add(val);
gun.objectsToSpawn = list.ToArray();
if (RSCards.Debug)
{
Debug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "RSC", ((CustomCard)this).GetTitle(), player.playerID));
}
}
public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
if (RSCards.Debug)
{
Debug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "RSC", ((CustomCard)this).GetTitle(), player.playerID));
}
}
protected override string GetTitle()
{
return "Mortar";
}
protected override string GetDescription()
{
return "Shooting redirects your bullets towards the cursor";
}
protected override GameObject GetCardArt()
{
return RSCards.ArtAssets.LoadAsset<GameObject>("C_Mortar");
}
protected override Rarity GetRarity()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return (Rarity)2;
}
protected override CardInfoStat[] GetStats()
{
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
//IL_0015: Unknown result type (might be due to invalid IL or missing references)
//IL_0020: Unknown result type (might be due to invalid IL or missing references)
//IL_002b: Unknown result type (might be due to invalid IL or missing references)
//IL_002d: Unknown result type (might be due to invalid IL or missing references)
//IL_0033: Expected O, but got Unknown
//IL_0035: Unknown result type (might be due to invalid IL or missing references)
//IL_003a: Unknown result type (might be due to invalid IL or missing references)
//IL_0041: Unknown result type (might be due to invalid IL or missing references)
//IL_004c: Unknown result type (might be due to invalid IL or missing references)
//IL_0057: Unknown result type (might be due to invalid IL or missing references)
//IL_0059: Unknown result type (might be due to invalid IL or missing references)
//IL_005f: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[2]
{
new CardInfoStat
{
positive = true,
stat = "Bullet gravity",
amount = "No",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Reload time",
amount = "+0.5s",
simepleAmount = (SimpleAmount)0
}
};
}
protected override CardThemeColorType GetTheme()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return (CardThemeColorType)3;
}
public override string GetModName()
{
return "RSC";
}
}
internal class OpenChamber : CustomCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
gun.reloadTimeAdd = -0.5f;
gun.projectileSpeed = 0.75f;
if (RSCards.Debug)
{
Debug.Log((object)("[RSC][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
}
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
if (RSCards.Debug)
{
Debug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "RSC", ((CustomCard)this).GetTitle(), player.playerID));
}
}
public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
if (RSCards.Debug)
{
Debug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "RSC", ((CustomCard)this).GetTitle(), player.playerID));
}
}
protected override string GetTitle()
{
return "Open Chamber";
}
protected override string GetDescription()
{
return "";
}
protected override GameObject GetCardArt()
{
return RSCards.ArtAssets.LoadAsset<GameObject>("C_OpenChamber");
}
protected override Rarity GetRarity()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return (Rarity)0;
}
protected override CardInfoStat[] GetStats()
{
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
//IL_0015: Unknown result type (might be due to invalid IL or missing references)
//IL_0020: Unknown result type (might be due to invalid IL or missing references)
//IL_002b: Unknown result type (might be due to invalid IL or missing references)
//IL_002d: Unknown result type (might be due to invalid IL or missing references)
//IL_0033: Expected O, but got Unknown
//IL_0035: Unknown result type (might be due to invalid IL or missing references)
//IL_003a: Unknown result type (might be due to invalid IL or missing references)
//IL_0041: Unknown result type (might be due to invalid IL or missing references)
//IL_004c: Unknown result type (might be due to invalid IL or missing references)
//IL_0057: Unknown result type (might be due to invalid IL or missing references)
//IL_0059: Unknown result type (might be due to invalid IL or missing references)
//IL_005f: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[2]
{
new CardInfoStat
{
positive = true,
stat = "Reload time",
amount = "-0.5s",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Bullet Speed",
amount = "-25%",
simepleAmount = (SimpleAmount)0
}
};
}
protected override CardThemeColorType GetTheme()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return (CardThemeColorType)1;
}
public override string GetModName()
{
return "RSC";
}
}
internal class RecklessAttack : CustomCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
gun.attackSpeed = 0.5f;
gun.reloadTimeAdd = -0.5f;
gun.damage = 0.5f;
if (RSCards.Debug)
{
Debug.Log((object)("[RSC][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
}
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
if (RSCards.Debug)
{
Debug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "RSC", ((CustomCard)this).GetTitle(), player.playerID));
}
}
public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
if (RSCards.Debug)
{
Debug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "RSC", ((CustomCard)this).GetTitle(), player.playerID));
}
}
protected override string GetTitle()
{
return "Reckless Attack";
}
protected override string GetDescription()
{
return "";
}
protected override GameObject GetCardArt()
{
return RSCards.ArtAssets.LoadAsset<GameObject>("C_RecklessAttack");
}
protected override Rarity GetRarity()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return (Rarity)1;
}
protected override CardInfoStat[] GetStats()
{
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
//IL_0015: Unknown result type (might be due to invalid IL or missing references)
//IL_0020: Unknown result type (might be due to invalid IL or missing references)
//IL_002b: Unknown result type (might be due to invalid IL or missing references)
//IL_002d: Unknown result type (might be due to invalid IL or missing references)
//IL_0033: Expected O, but got Unknown
//IL_0035: Unknown result type (might be due to invalid IL or missing references)
//IL_003a: Unknown result type (might be due to invalid IL or missing references)
//IL_0041: Unknown result type (might be due to invalid IL or missing references)
//IL_004c: Unknown result type (might be due to invalid IL or missing references)
//IL_0057: Unknown result type (might be due to invalid IL or missing references)
//IL_0059: Unknown result type (might be due to invalid IL or missing references)
//IL_005f: Expected O, but got Unknown
//IL_0061: Unknown result type (might be due to invalid IL or missing references)
//IL_0066: Unknown result type (might be due to invalid IL or missing references)
//IL_006d: Unknown result type (might be due to invalid IL or missing references)
//IL_0078: Unknown result type (might be due to invalid IL or missing references)
//IL_0083: Unknown result type (might be due to invalid IL or missing references)
//IL_0085: Unknown result type (might be due to invalid IL or missing references)
//IL_008b: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[3]
{
new CardInfoStat
{
positive = true,
stat = "ATKSPD",
amount = "+100%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = true,
stat = "Reload time",
amount = "-0.5s",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "DMG",
amount = "-50%",
simepleAmount = (SimpleAmount)0
}
};
}
protected override CardThemeColorType GetTheme()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return (CardThemeColorType)1;
}
public override string GetModName()
{
return "RSC";
}
}
internal class Repen10ce : CustomCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
statModifiers.health = 0.02f;
gun.damage = 10f;
if (RSCards.Debug)
{
Debug.Log((object)("[RSC][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
}
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
if (RSCards.Debug)
{
Debug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "RSC", ((CustomCard)this).GetTitle(), player.playerID));
}
}
public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
if (RSCards.Debug)
{
Debug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "RSC", ((CustomCard)this).GetTitle(), player.playerID));
}
}
protected override string GetTitle()
{
return "Repen10ce";
}
protected override string GetDescription()
{
return "Ever notice the misspelling?";
}
protected override GameObject GetCardArt()
{
return RSCards.ArtAssets.LoadAsset<GameObject>("C_Repen10ce");
}
protected override Rarity GetRarity()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return (Rarity)0;
}
protected override CardInfoStat[] GetStats()
{
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
//IL_0015: Unknown result type (might be due to invalid IL or missing references)
//IL_0020: Unknown result type (might be due to invalid IL or missing references)
//IL_002b: Unknown result type (might be due to invalid IL or missing references)
//IL_002d: Unknown result type (might be due to invalid IL or missing references)
//IL_0033: Expected O, but got Unknown
//IL_0035: Unknown result type (might be due to invalid IL or missing references)
//IL_003a: Unknown result type (might be due to invalid IL or missing references)
//IL_0041: Unknown result type (might be due to invalid IL or missing references)
//IL_004c: Unknown result type (might be due to invalid IL or missing references)
//IL_0057: Unknown result type (might be due to invalid IL or missing references)
//IL_0059: Unknown result type (might be due to invalid IL or missing references)
//IL_005f: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[2]
{
new CardInfoStat
{
positive = true,
stat = "Damage",
amount = "+900%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "HP",
amount = "-98%",
simepleAmount = (SimpleAmount)0
}
};
}
protected override CardThemeColorType GetTheme()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return (CardThemeColorType)6;
}
public override string GetModName()
{
return "RSC";
}
public override bool GetEnabled()
{
return false;
}
}
internal class Repentance : CustomCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
cardInfo.categories = (CardCategory[])(object)new CardCategory[1] { RSCardCategories.RepentanceCategory };
statModifiers.health = 2f;
statModifiers.lifeSteal = -0.5f;
if (RSCards.Debug)
{
Debug.Log((object)("[RSC][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
}
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
if (RSCards.Debug)
{
Debug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "RSC", ((CustomCard)this).GetTitle(), player.playerID));
}
}
public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
if (RSCards.Debug)
{
Debug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "RSC", ((CustomCard)this).GetTitle(), player.playerID));
}
}
protected override string GetTitle()
{
return "Repentance";
}
protected override string GetDescription()
{
return "Convert your sinful lifesteal into proper health";
}
protected override GameObject GetCardArt()
{
return RSCards.ArtAssets.LoadAsset<GameObject>("C_Repentance");
}
protected override Rarity GetRarity()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return (Rarity)0;
}
protected override CardInfoStat[] GetStats()
{
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
//IL_0015: Unknown result type (might be due to invalid IL or missing references)
//IL_0020: Unknown result type (might be due to invalid IL or missing references)
//IL_002b: Unknown result type (might be due to invalid IL or missing references)
//IL_002d: Unknown result type (might be due to invalid IL or missing references)
//IL_0033: Expected O, but got Unknown
//IL_0035: Unknown result type (might be due to invalid IL or missing references)
//IL_003a: Unknown result type (might be due to invalid IL or missing references)
//IL_0041: Unknown result type (might be due to invalid IL or missing references)
//IL_004c: Unknown result type (might be due to invalid IL or missing references)
//IL_0057: Unknown result type (might be due to invalid IL or missing references)
//IL_0059: Unknown result type (might be due to invalid IL or missing references)
//IL_005f: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[2]
{
new CardInfoStat
{
positive = true,
stat = "HP",
amount = "+100%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Life steal",
amount = "-50%",
simepleAmount = (SimpleAmount)0
}
};
}
protected override CardThemeColorType GetTheme()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return (CardThemeColorType)6;
}
public override string GetModName()
{
return "RSC";
}
}
internal class Repentence : CustomCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
cardInfo.categories = cardInfo.categories.ToList().Concat(new List<CardCategory> { CustomCardCategories.CanDrawMultipleCategory }).ToArray();
statModifiers.health = 2f;
statModifiers.lifeSteal = -0.5f;
if (RSCards.Debug)
{
Debug.Log((object)("[RSC][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
}
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
int num = 0;
foreach (CardInfo currentCard in player.data.currentCards)
{
if (currentCard.cardName == "Repentence")
{
num++;
}
}
if (num == 9)
{
Cards.instance.AddCardToPlayer(player, Cards.instance.GetCardWithName("Repen10ce"), false, "", 0f, 0f);
}
if (RSCards.Debug)
{
Debug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "RSC", ((CustomCard)this).GetTitle(), player.playerID));
}
}
public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
if (RSCards.Debug)
{
Debug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "RSC", ((CustomCard)this).GetTitle(), player.playerID));
}
}
protected override string GetTitle()
{
return "Repentence";
}
protected override string GetDescription()
{
return "Convert your sinful lifesteal into proper health";
}
protected override GameObject GetCardArt()
{
return RSCards.ArtAssets.LoadAsset<GameObject>("C_Repentance");
}
protected override Rarity GetRarity()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return (Rarity)0;
}
protected override CardInfoStat[] GetStats()
{
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
//IL_0015: Unknown result type (might be due to invalid IL or missing references)
//IL_0020: Unknown result type (might be due to invalid IL or missing references)
//IL_002b: Unknown result type (might be due to invalid IL or missing references)
//IL_002d: Unknown result type (might be due to invalid IL or missing references)
//IL_0033: Expected O, but got Unknown
//IL_0035: Unknown result type (might be due to invalid IL or missing references)
//IL_003a: Unknown result type (might be due to invalid IL or missing references)
//IL_0041: Unknown result type (might be due to invalid IL or missing references)
//IL_004c: Unknown result type (might be due to invalid IL or missing references)
//IL_0057: Unknown result type (might be due to invalid IL or missing references)
//IL_0059: Unknown result type (might be due to invalid IL or missing references)
//IL_005f: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[2]
{
new CardInfoStat
{
positive = true,
stat = "HP",
amount = "+100%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Life steal",
amount = "-50%",
simepleAmount = (SimpleAmount)0
}
};
}
protected override CardThemeColorType GetTheme()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return (CardThemeColorType)6;
}
public override string GetModName()
{
return "RSC";
}
}
internal class Slug : CustomCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
gun.projectileSpeed = 0.5f;
gun.damage = 2f;
if (RSCards.Debug)
{
Debug.Log((object)("[RSC][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
}
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
if (RSCards.Debug)
{
Debug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "RSC", ((CustomCard)this).GetTitle(), player.playerID));
}
}
public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
if (RSCards.Debug)
{
Debug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "RSC", ((CustomCard)this).GetTitle(), player.playerID));
}
}
protected override string GetTitle()
{
return "Slug";
}
protected override string GetDescription()
{
return "";
}
protected override GameObject GetCardArt()
{
return RSCards.ArtAssets.LoadAsset<GameObject>("C_Slug");
}
protected override Rarity GetRarity()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return (Rarity)0;
}
protected override CardInfoStat[] GetStats()
{
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
//IL_0015: Unknown result type (might be due to invalid IL or missing references)
//IL_0020: Unknown result type (might be due to invalid IL or missing references)
//IL_002b: Unknown result type (might be due to invalid IL or missing references)
//IL_002d: Unknown result type (might be due to invalid IL or missing references)
//IL_0033: Expected O, but got Unknown
//IL_0035: Unknown result type (might be due to invalid IL or missing references)
//IL_003a: Unknown result type (might be due to invalid IL or missing references)
//IL_0041: Unknown result type (might be due to invalid IL or missing references)
//IL_004c: Unknown result type (might be due to invalid IL or missing references)
//IL_0057: Unknown result type (might be due to invalid IL or missing references)
//IL_0059: Unknown result type (might be due to invalid IL or missing references)
//IL_005f: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[2]
{
new CardInfoStat
{
positive = true,
stat = "DMG",
amount = "+100%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Bullet speed",
amount = "-50%",
simepleAmount = (SimpleAmount)0
}
};
}
protected override CardThemeColorType GetTheme()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return (CardThemeColorType)1;
}
public override string GetModName()
{
return "RSC";
}
}
internal class Split : CustomCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
gun.ammo = 3;
gun.reloadTimeAdd = -0.5f;
gun.damage = 0.5f;
if (RSCards.Debug)
{
Debug.Log((object)("[RSC][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
}
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
if (RSCards.Debug)
{
Debug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "RSC", ((CustomCard)this).GetTitle(), player.playerID));
}
}
public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
if (RSCards.Debug)
{
Debug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "RSC", ((CustomCard)this).GetTitle(), player.playerID));
}
}
protected override string GetTitle()
{
return "Split";
}
protected override string GetDescription()
{
return "";
}
protected override GameObject GetCardArt()
{
return RSCards.ArtAssets.LoadAsset<GameObject>("C_Split");
}
protected override Rarity GetRarity()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return (Rarity)0;
}
protected override CardInfoStat[] GetStats()
{
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
//IL_0015: Unknown result type (might be due to invalid IL or missing references)
//IL_0020: Unknown result type (might be due to invalid IL or missing references)
//IL_002b: Unknown result type (might be due to invalid IL or missing references)
//IL_002d: Unknown result type (might be due to invalid IL or missing references)
//IL_0033: Expected O, but got Unknown
//IL_0035: Unknown result type (might be due to invalid IL or missing references)
//IL_003a: Unknown result type (might be due to invalid IL or missing references)
//IL_0041: Unknown result type (might be due to invalid IL or missing references)
//IL_004c: Unknown result type (might be due to invalid IL or missing references)
//IL_0057: Unknown result type (might be due to invalid IL or missing references)
//IL_0059: Unknown result type (might be due to invalid IL or missing references)
//IL_005f: Expected O, but got Unknown
//IL_0061: Unknown result type (might be due to invalid IL or missing references)
//IL_0066: Unknown result type (might be due to invalid IL or missing references)
//IL_006d: Unknown result type (might be due to invalid IL or missing references)
//IL_0078: Unknown result type (might be due to invalid IL or missing references)
//IL_0083: Unknown result type (might be due to invalid IL or missing references)
//IL_0085: Unknown result type (might be due to invalid IL or missing references)
//IL_008b: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[3]
{
new CardInfoStat
{
positive = true,
stat = "Ammo",
amount = "+3",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = true,
stat = "Reload Time",
amount = "-0.5s",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "DMG",
amount = "-50%",
simepleAmount = (SimpleAmount)0
}
};
}
protected override CardThemeColorType GetTheme()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return (CardThemeColorType)1;
}
public override string GetModName()
{
return "RSC";
}
}
internal class Template : CustomCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
if (RSCards.Debug)
{
Debug.Log((object)("[RSC][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
}
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
if (RSCards.Debug)
{
Debug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "RSC", ((CustomCard)this).GetTitle(), player.playerID));
}
}
public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
if (RSCards.Debug)
{
Debug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "RSC", ((CustomCard)this).GetTitle(), player.playerID));
}
}
protected override string GetTitle()
{
return "CardName";
}
protected override string GetDescription()
{
return "CardDescription";
}
protected override GameObject GetCardArt()
{
return null;
}
protected override Rarity GetRarity()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return (Rarity)0;
}
protected override CardInfoStat[] GetStats()
{
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
//IL_0015: Unknown result type (might be due to invalid IL or missing references)
//IL_0020: Unknown result type (might be due to invalid IL or missing references)
//IL_002b: Unknown result type (might be due to invalid IL or missing references)
//IL_002d: Unknown result type (might be due to invalid IL or missing references)
//IL_0033: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[1]
{
new CardInfoStat
{
positive = true,
stat = "Effect",
amount = "No",
simepleAmount = (SimpleAmount)0
}
};
}
protected override CardThemeColorType GetTheme()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return (CardThemeColorType)7;
}
public override string GetModName()
{
return "RSC";
}
}
internal class TwinScythe : CustomCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
if (RSCards.Debug)
{
Debug.Log((object)("[RSC][Card] " + ((CustomCard)this).GetTitle() + " has been setup."));
}
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
TwinScytheMono scythe = ExtensionMethods.GetOrAddComponent<TwinScytheMono>(((Component)player).gameObject, false);
scythe.count++;
ExtensionMethods.ExecuteAfterSeconds((MonoBehaviour)(object)RSCards.instance, 0.5f, (Action)delegate
{
scythe.UpdateCard();
});
if (RSCards.Debug)
{
Debug.Log((object)string.Format("[{0}][Card] {1} has been added to player {2}.", "RSC", ((CustomCard)this).GetTitle(), player.playerID));
}
}
public override void OnRemoveCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
TwinScytheMono orAddComponent = ExtensionMethods.GetOrAddComponent<TwinScytheMono>(((Component)player).gameObject, false);
orAddComponent.count--;
orAddComponent.UpdateCard();
if (orAddComponent.count < 1)
{
Object.Destroy((Object)(object)orAddComponent);
}
if (RSCards.Debug)
{
Debug.Log((object)string.Format("[{0}][Card] {1} has been removed from player {2}.", "RSC", ((CustomCard)this).GetTitle(), player.playerID));
}
}
protected override string GetTitle()
{
return "Twin Scythe";
}
protected override string GetDescription()
{
return "A twin scythe will orbit you, dealing damage and destroying bullets";
}
protected override GameObject GetCardArt()
{
return RSCards.ArtAssets.LoadAsset<GameObject>("C_TwinScythe");
}
protected override Rarity GetRarity()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return (Rarity)1;
}
protected override CardInfoStat[] GetStats()
{
return (CardInfoStat[])(object)new CardInfoStat[0];
}
protected override CardThemeColorType GetTheme()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return (CardThemeColorType)8;
}
public override string GetModName()
{
return "RSC";
}
}
}