using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using BepInEx;
using HarmonyLib;
using Jotunn.Utils;
using Microsoft.CodeAnalysis;
using ModsPlus;
using NQV4Pro;
using UnboundLib;
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("NQV4Pro")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("NQV4Pro")]
[assembly: AssemblyTitle("NQV4Pro")]
[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;
}
}
}
public class AbyssCard : CustomEffectCard<AbyssCardEffect>
{
public override CardDetails<AbyssCardEffect> Details
{
get
{
//IL_004f: 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_005f: 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_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_0079: Expected O, but got Unknown
CardDetails<AbyssCardEffect> val = new CardDetails<AbyssCardEffect>();
val.Title = "Card of Abyss";
val.Description = "敵を奈落へ";
val.ModName = "NQV4PRO";
val.Rarity = (Rarity)1;
val.Theme = (CardThemeColorType)4;
val.Art = Assets.AbyssCard_Art;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[1]
{
new CardInfoStat
{
amount = "+10000",
positive = true,
simepleAmount = (SimpleAmount)0,
stat = "弾丸ヒット時の重力"
}
};
return val;
}
}
}
public class AbyssCardEffect : CardEffect
{
public override void OnBulletHit(GameObject projectile, HitInfo hit)
{
((CardEffect)this).OnBulletHit(projectile, hit);
if (!((Component)hit.collider).CompareTag("Player"))
{
return;
}
GameObject gameObject = ((Component)hit.collider).gameObject;
Player val = gameObject.GetComponent<Player>() ?? gameObject.GetComponentInParent<Player>();
if ((Object)(object)val != (Object)null)
{
AbyssGravity abyssGravity = gameObject.GetComponent<AbyssGravity>();
if ((Object)(object)abyssGravity == (Object)null)
{
abyssGravity = gameObject.AddComponent<AbyssGravity>();
}
abyssGravity.ApplyAbyssGravity(val);
}
}
}
public class AbyssGravity : MonoBehaviour
{
private Gravity gravity;
private float originalGravity;
private Renderer renderer;
private Player player;
public void ApplyAbyssGravity(Player player)
{
//IL_0084: Unknown result type (might be due to invalid IL or missing references)
this.player = player;
gravity = ((Component)player).GetComponent<Gravity>() ?? ((Component)player).GetComponentInParent<Gravity>();
if ((Object)(object)gravity != (Object)null)
{
originalGravity = gravity.gravityForce;
gravity.gravityForce = 10000f;
Debug.Log("[AbyssEffect] プレイヤーの重力を10000に設定しました");
}
Renderer componentInChildren = ((Component)player).GetComponentInChildren<Renderer>();
if ((Object)(object)componentInChildren != (Object)null)
{
componentInChildren.material.color = new Color(0.5f, 0f, 0.5f);
}
}
private void OnDestroy()
{
RestoreGravity();
}
public void RestoreGravity()
{
if ((Object)(object)gravity != (Object)null)
{
gravity.gravityForce = originalGravity;
Debug.Log("[AbyssEffect] プレイヤーの重力を元に戻しました");
}
}
}
public class ChaosShoot : 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_004f: 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_005f: 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_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_0079: Expected O, but got Unknown
//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_008b: 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_0094: 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_00a5: Expected O, but got Unknown
CardDetails val = new CardDetails();
val.Title = "Chaos Shoot";
val.Description = "アインシュタインも涙を流す";
val.ModName = "NQV4PRO";
val.Rarity = (Rarity)0;
val.Theme = (CardThemeColorType)6;
val.Art = Assets.ChaosShoot_Art;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[2]
{
new CardInfoStat
{
amount = "弾の重力",
positive = true,
simepleAmount = (SimpleAmount)0,
stat = "反転"
},
new CardInfoStat
{
amount = "+25%",
positive = true,
simepleAmount = (SimpleAmount)0,
stat = "damage"
}
};
return val;
}
}
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
gun.gravity = -1f;
gun.damage *= 1.25f;
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
}
protected override void Removed(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
}
}
public class Contract_of_Blood : 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_004f: 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_005f: 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_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_0079: Expected O, but got Unknown
//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_008b: 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_0094: 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_00a5: Expected O, but got Unknown
//IL_00a7: Unknown result type (might be due to invalid IL or missing references)
//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
//IL_00b7: Unknown result type (might be due to invalid IL or missing references)
//IL_00be: Unknown result type (might be due to invalid IL or missing references)
//IL_00c0: 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_00d1: Expected O, but got Unknown
//IL_00d3: Unknown result type (might be due to invalid IL or missing references)
//IL_00d8: Unknown result type (might be due to invalid IL or missing references)
//IL_00e3: Unknown result type (might be due to invalid IL or missing references)
//IL_00ea: Unknown result type (might be due to invalid IL or missing references)
//IL_00ec: Unknown result type (might be due to invalid IL or missing references)
//IL_00f1: Unknown result type (might be due to invalid IL or missing references)
//IL_00fd: Expected O, but got Unknown
CardDetails val = new CardDetails();
val.Title = "Contract of Blood";
val.Description = "毎秒10ダメージを受けるが膨大なライフスティールを入手。";
val.ModName = "NQV4PRO";
val.Rarity = (Rarity)1;
val.Theme = (CardThemeColorType)8;
val.Art = Assets.Contract_of_Blood_Art;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[4]
{
new CardInfoStat
{
amount = "+250%",
positive = true,
simepleAmount = (SimpleAmount)0,
stat = "Life Steal"
},
new CardInfoStat
{
amount = "+150%",
positive = true,
simepleAmount = (SimpleAmount)0,
stat = "movement speed"
},
new CardInfoStat
{
amount = "+150%",
positive = true,
simepleAmount = (SimpleAmount)0,
stat = "damage"
},
new CardInfoStat
{
amount = "10",
positive = false,
simepleAmount = (SimpleAmount)0,
stat = "d/s"
}
};
return val;
}
}
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
statModifiers.lifeSteal = 2.5f;
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
characterStats.movementSpeed *= 1.5f;
gun.damage *= 1.5f;
((Component)player).gameObject.AddComponent<Contract_of_Blood_Effect>();
}
protected override void Removed(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
Contract_of_Blood_Effect[] components = ((Component)player).gameObject.GetComponents<Contract_of_Blood_Effect>();
Contract_of_Blood_Effect[] array = components;
foreach (Contract_of_Blood_Effect contract_of_Blood_Effect in array)
{
Object.Destroy((Object)(object)contract_of_Blood_Effect);
}
}
}
public class FinalBullet : CustomEffectCard<FinalBulletBuff>
{
public override CardDetails<FinalBulletBuff> Details
{
get
{
//IL_004f: 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_005f: 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_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_0079: Expected O, but got Unknown
//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_008b: 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_0094: 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_00a5: Expected O, but got Unknown
//IL_00a7: Unknown result type (might be due to invalid IL or missing references)
//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
//IL_00b7: Unknown result type (might be due to invalid IL or missing references)
//IL_00be: Unknown result type (might be due to invalid IL or missing references)
//IL_00c0: 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_00d1: Expected O, but got Unknown
//IL_00d3: Unknown result type (might be due to invalid IL or missing references)
//IL_00d8: Unknown result type (might be due to invalid IL or missing references)
//IL_00e3: Unknown result type (might be due to invalid IL or missing references)
//IL_00ea: Unknown result type (might be due to invalid IL or missing references)
//IL_00ec: Unknown result type (might be due to invalid IL or missing references)
//IL_00f1: Unknown result type (might be due to invalid IL or missing references)
//IL_00fd: Expected O, but got Unknown
//IL_00ff: Unknown result type (might be due to invalid IL or missing references)
//IL_0104: Unknown result type (might be due to invalid IL or missing references)
//IL_010f: Unknown result type (might be due to invalid IL or missing references)
//IL_0116: Unknown result type (might be due to invalid IL or missing references)
//IL_0118: Unknown result type (might be due to invalid IL or missing references)
//IL_011d: Unknown result type (might be due to invalid IL or missing references)
//IL_0129: Expected O, but got Unknown
CardDetails<FinalBulletBuff> val = new CardDetails<FinalBulletBuff>();
val.Title = "ファイナル バレット";
val.Description = "一発あれば十分だ。";
val.ModName = "NQV4PRO";
val.Rarity = (Rarity)1;
val.Theme = (CardThemeColorType)1;
val.Art = Assets.FinalBullet_Art;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[5]
{
new CardInfoStat
{
amount = "遅い",
positive = false,
simepleAmount = (SimpleAmount)0,
stat = "reload time"
},
new CardInfoStat
{
amount = "1",
positive = false,
simepleAmount = (SimpleAmount)0,
stat = "max ammo"
},
new CardInfoStat
{
amount = "直進",
positive = true,
simepleAmount = (SimpleAmount)0,
stat = "ammo"
},
new CardInfoStat
{
amount = "+100%",
positive = true,
simepleAmount = (SimpleAmount)0,
stat = "弾速"
},
new CardInfoStat
{
amount = "触れた敵の最大体力",
positive = true,
simepleAmount = (SimpleAmount)0,
stat = "damage"
}
};
return val;
}
}
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
//IL_0016: Unknown result type (might be due to invalid IL or missing references)
//IL_001b: Unknown result type (might be due to invalid IL or missing references)
gun.projectileColor = new Color(0.15f, 0.15f, 0.15f, 1f);
gun.reloadTime *= 2f;
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
gun.gravity = 0f;
gun.projectileSpeed *= 2f;
gunAmmo.maxAmmo = 1;
}
protected override void Removed(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
Debug.Log("[MySimpleCard] カードがプレイヤーから削除されました");
}
}
public class FinalBulletBuff : CardEffect
{
public override void OnBulletHit(GameObject projectile, HitInfo hit)
{
//IL_0041: 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)
((CardEffect)this).OnBulletHit(projectile, hit);
if (Object.op_Implicit((Object)(object)hit.transform))
{
HealthHandler component = ((Component)hit.transform).GetComponent<HealthHandler>();
if (component != null)
{
Vector2 val = default(Vector2);
((Vector2)(ref val))..ctor(1E+09f, 0f);
((Damagable)component).TakeDamage(val, hit.point, (GameObject)null, ((CardEffect)this).player, true, false);
}
}
}
}
public class Gambling : CustomEffectCard<GamblingEffect>
{
public override CardDetails<GamblingEffect> Details
{
get
{
//IL_004f: 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_005f: 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_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_0079: Expected O, but got Unknown
//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_008b: 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_0094: 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_00a5: Expected O, but got Unknown
CardDetails<GamblingEffect> val = new CardDetails<GamblingEffect>();
val.Title = "Gambling";
val.Description = "ブロック時以下のランダムな効果を受ける";
val.ModName = "NQV4PRO";
val.Rarity = (Rarity)1;
val.Theme = (CardThemeColorType)3;
val.Art = Assets.Gambling_Art;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[2]
{
new CardInfoStat
{
amount = "10~100",
positive = true,
simepleAmount = (SimpleAmount)0,
stat = "heal"
},
new CardInfoStat
{
amount = "10~100",
positive = false,
simepleAmount = (SimpleAmount)0,
stat = "damage"
}
};
return val;
}
}
}
public class GamblingEffect : CardEffect
{
public override void OnBlock(BlockTriggerType trigger)
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0081: Unknown result type (might be due to invalid IL or missing references)
//IL_0086: Unknown result type (might be due to invalid IL or missing references)
//IL_008b: Unknown result type (might be due to invalid IL or missing references)
//IL_008e: Unknown result type (might be due to invalid IL or missing references)
//IL_0090: Unknown result type (might be due to invalid IL or missing references)
//IL_0092: Unknown result type (might be due to invalid IL or missing references)
((CardEffect)this).OnBlock(trigger);
HealthHandler component = ((Component)((CardEffect)this).player).GetComponent<HealthHandler>();
if ((Object)(object)component == (Object)null)
{
Debug.LogError("GamblingEffect: Player '" + ((Object)((CardEffect)this).player).name + "' のHealthHandlerが見つかりませんでした。");
return;
}
int num = Random.Range(0, 2);
int num2 = Random.Range(10, 101);
if (num == 0)
{
component.Heal((float)num2);
return;
}
Vector2 val = default(Vector2);
((Vector2)(ref val))..ctor((float)num2, 0f);
Vector2 val2 = Vector2.op_Implicit(((Component)this).transform.position);
component.DoDamage(val, val2, Color.black, (GameObject)null, ((CardEffect)this).player, false, true, true);
}
}
public class HeavyBullet : 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_004f: 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_005f: 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_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_0079: Expected O, but got Unknown
//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_008b: 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_0094: 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_00a5: Expected O, but got Unknown
CardDetails val = new CardDetails();
val.Title = "Super Heavy Bullet";
val.Description = "当てればいいじゃん";
val.ModName = "NQV4PRO";
val.Rarity = (Rarity)1;
val.Theme = (CardThemeColorType)6;
val.Art = Assets.HeavyBullet_Art;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[2]
{
new CardInfoStat
{
amount = "+400%",
positive = true,
simepleAmount = (SimpleAmount)0,
stat = "damage"
},
new CardInfoStat
{
amount = "+1000%",
positive = false,
simepleAmount = (SimpleAmount)0,
stat = "弾に加わる重力"
}
};
return val;
}
}
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
//IL_0021: Unknown result type (might be due to invalid IL or missing references)
//IL_0026: Unknown result type (might be due to invalid IL or missing references)
gun.gravity = 10f;
gun.projectileColor = new Color(0.3f, 0.3f, 0.3f, 1f);
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
gun.damage *= 4f;
}
protected override void Removed(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
Debug.Log("[MySimpleCard] カードがプレイヤーから削除されました");
}
}
public class Kirby : 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_004f: 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_005f: 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_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_0079: Expected O, but got Unknown
CardDetails val = new CardDetails();
val.Title = "Demon of Pink";
val.Description = "カーb...";
val.ModName = "NQV4PRO";
val.Rarity = (Rarity)0;
val.Theme = (CardThemeColorType)8;
val.Art = Assets.Kirby_Art;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[1]
{
new CardInfoStat
{
amount = "+999",
positive = true,
simepleAmount = (SimpleAmount)0,
stat = "jump"
}
};
return val;
}
}
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
statModifiers.numberOfJumps = 999;
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
}
protected override void Removed(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
Debug.Log("[MySimpleCard] カードがプレイヤーから削除されました");
}
}
public class PhantomReload : CustomEffectCard<PhantomReloadEffect>
{
public override CardDetails<PhantomReloadEffect> Details
{
get
{
//IL_004f: 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_005f: 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_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_0079: Expected O, but got Unknown
//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_008b: 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_0094: 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_00a5: Expected O, but got Unknown
//IL_00a7: Unknown result type (might be due to invalid IL or missing references)
//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
//IL_00b7: Unknown result type (might be due to invalid IL or missing references)
//IL_00be: Unknown result type (might be due to invalid IL or missing references)
//IL_00c0: 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_00d1: Expected O, but got Unknown
CardDetails<PhantomReloadEffect> val = new CardDetails<PhantomReloadEffect>();
val.Title = "Phantom Reload";
val.Description = "リロード時以下を入手";
val.ModName = "NQV4PRO";
val.Rarity = (Rarity)1;
val.Theme = (CardThemeColorType)2;
val.Art = Assets.PhantomReload_Art;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[3]
{
new CardInfoStat
{
amount = "1/0.2s",
positive = true,
simepleAmount = (SimpleAmount)0,
stat = "自動回復"
},
new CardInfoStat
{
amount = "+100%",
positive = true,
simepleAmount = (SimpleAmount)0,
stat = "移動速度"
},
new CardInfoStat
{
amount = "部分",
positive = false,
simepleAmount = (SimpleAmount)0,
stat = "透明化"
}
};
return val;
}
}
}
public class PhantomReloadEffect : CardEffect
{
private Renderer[] renderers;
private HealthHandler healthHandler;
public override void OnOutOfAmmo(int bulletsReloaded)
{
renderers = ((Component)((CardEffect)this).player).gameObject.GetComponentsInChildren<Renderer>();
Renderer[] array = renderers;
foreach (Renderer val in array)
{
val.enabled = false;
}
((Component)((CardEffect)this).player).gameObject.AddComponent<PhantomReloadMono>();
ExtensionMethods.ExecuteAfterSeconds((MonoBehaviour)(object)((CardEffect)this).player, ((CardEffect)this).gun.reloadTime * (float)((CardEffect)this).gunAmmo.maxAmmo, (Action)delegate
{
renderers = ((Component)((CardEffect)this).player).gameObject.GetComponentsInChildren<Renderer>();
Renderer[] array2 = renderers;
foreach (Renderer val2 in array2)
{
val2.enabled = true;
}
PhantomReloadMono component = ((Component)((CardEffect)this).player).gameObject.GetComponent<PhantomReloadMono>();
if ((Object)(object)component != (Object)null)
{
Object.Destroy((Object)(object)component);
}
});
}
public override void OnRevive()
{
renderers = ((Component)((CardEffect)this).player).gameObject.GetComponentsInChildren<Renderer>();
Renderer[] array = renderers;
foreach (Renderer val in array)
{
val.enabled = true;
}
PhantomReloadMono component = ((Component)((CardEffect)this).player).gameObject.GetComponent<PhantomReloadMono>();
if ((Object)(object)component != (Object)null)
{
Object.Destroy((Object)(object)component);
}
}
}
public class PhantomReloadMono : MonoBehaviour
{
private Renderer[] renderers;
private float originalMovementSpeed;
private HealthHandler healthHandler;
private CharacterStatModifiers characterStats;
public float healAmountPerSecond = 1f;
public float healInterval = 0.2f;
private Player player;
private void Start()
{
player = ((Component)this).GetComponent<Player>();
healthHandler = ((Component)this).GetComponent<HealthHandler>();
characterStats = ((Component)this).GetComponent<CharacterStatModifiers>();
if ((Object)(object)characterStats != (Object)null)
{
originalMovementSpeed = characterStats.movementSpeed;
CharacterStatModifiers obj = characterStats;
obj.movementSpeed *= 2f;
}
((MonoBehaviour)this).InvokeRepeating("HealOverTime", 0f, healInterval);
}
private void HealOverTime()
{
if ((Object)(object)healthHandler != (Object)null)
{
healthHandler.Heal(healAmountPerSecond);
}
}
private void OnDestroy()
{
if ((Object)(object)characterStats != (Object)null)
{
characterStats.movementSpeed = originalMovementSpeed;
}
renderers = ((Component)player).gameObject.GetComponentsInChildren<Renderer>();
Renderer[] array = renderers;
foreach (Renderer val in array)
{
val.enabled = true;
}
((MonoBehaviour)this).CancelInvoke("HealOverTime");
PhantomReloadMono component = ((Component)player).gameObject.GetComponent<PhantomReloadMono>();
if ((Object)(object)component != (Object)null)
{
Object.Destroy((Object)(object)component);
}
}
}
public class Sample_Effect : CustomEffectCard<MyEffect>
{
public override CardDetails<MyEffect> 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_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_006d: Expected O, but got Unknown
CardDetails<MyEffect> val = new CardDetails<MyEffect>();
val.Title = "MyEffectCard";
val.Description = "特定の行動で効果を発動";
val.ModName = "NQV4PRO";
val.Rarity = (Rarity)2;
val.Theme = (CardThemeColorType)3;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[1]
{
new CardInfoStat
{
amount = "+100%",
positive = true,
simepleAmount = (SimpleAmount)0,
stat = "movement speed"
}
};
return val;
}
}
}
public class MyEffect : CardEffect
{
public override void OnBlock(BlockTriggerType trigger)
{
Debug.Log("[MyEffect] プレイヤーがブロックしました!");
}
public override void OnShoot(GameObject projectile)
{
Debug.Log("[MyEffect] プレイヤーが発射しました!");
}
}
public class Sample_normal : 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_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_006d: Expected O, but got Unknown
CardDetails val = new CardDetails();
val.Title = "MySimpleCard";
val.Description = "example";
val.ModName = "NQV4PRO";
val.Rarity = (Rarity)0;
val.Theme = (CardThemeColorType)3;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[1]
{
new CardInfoStat
{
amount = "+100%",
positive = true,
simepleAmount = (SimpleAmount)0,
stat = "movement speed"
}
};
return val;
}
}
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
Debug.Log("[MySimpleCard] カードがプレイヤーに追加されました");
}
protected override void Removed(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
Debug.Log("[MySimpleCard] カードがプレイヤーから削除されました");
}
}
public class ShadowMan : CustomEffectCard<ShadowBuff>
{
public override CardDetails<ShadowBuff> Details
{
get
{
//IL_004f: 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_005f: 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_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_0079: Expected O, but got Unknown
CardDetails<ShadowBuff> val = new CardDetails<ShadowBuff>();
val.Title = "Shadow Man";
val.Description = "ブロック発動時、マウスカーソルの方向に高速移動します。";
val.ModName = "NQV4PRO";
val.Rarity = (Rarity)1;
val.Theme = (CardThemeColorType)8;
val.Art = Assets.ShadowMan_Art;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[1]
{
new CardInfoStat
{
amount = "+2s",
positive = false,
simepleAmount = (SimpleAmount)0,
stat = "防御クールダウン"
}
};
return val;
}
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
block.cooldown += 2f;
}
}
public class ShadowBuff : CardEffect
{
public override void OnBlock(BlockTriggerType trigger)
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000b: Unknown result type (might be due to invalid IL or missing references)
//IL_0010: Unknown result type (might be due to invalid IL or missing references)
//IL_001c: Unknown result type (might be due to invalid IL or missing references)
//IL_0028: Unknown result type (might be due to invalid IL or missing references)
Vector3 val = Camera.main.ScreenToWorldPoint(Input.mousePosition);
((Component)((CardEffect)this).player).transform.position = val;
Debug.Log($"Teleported to mouse position: {val}");
}
}
public class ShieldMaster : 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_004f: 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_005f: 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_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_0079: Expected O, but got Unknown
//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_008b: 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_0094: 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_00a5: Expected O, but got Unknown
//IL_00a7: Unknown result type (might be due to invalid IL or missing references)
//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
//IL_00b7: Unknown result type (might be due to invalid IL or missing references)
//IL_00be: Unknown result type (might be due to invalid IL or missing references)
//IL_00c0: 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_00d1: Expected O, but got Unknown
CardDetails val = new CardDetails();
val.Title = "Epic Shield Master";
val.Description = "もう銃なんて必要ないね!";
val.ModName = "NQV4PRO";
val.Rarity = (Rarity)1;
val.Theme = (CardThemeColorType)2;
val.Art = Assets.ShieldMaster_Art;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[3]
{
new CardInfoStat
{
amount = "-90%",
positive = true,
simepleAmount = (SimpleAmount)0,
stat = "防御クールダウン"
},
new CardInfoStat
{
amount = "+20%",
positive = true,
simepleAmount = (SimpleAmount)0,
stat = "移動速度"
},
new CardInfoStat
{
amount = "没収",
positive = false,
simepleAmount = (SimpleAmount)0,
stat = "銃"
}
};
return val;
}
}
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
block.cooldown *= 0.1f;
characterStats.movementSpeed *= 1.2f;
gun.ammoReg = 0f;
((Behaviour)gun).enabled = false;
}
protected override void Removed(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
Debug.Log("[MySimpleCard] カードがプレイヤーから削除されました");
}
}
public class Shining : 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_004f: 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_005f: 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_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_0079: Expected O, but got Unknown
CardDetails val = new CardDetails();
val.Title = "You Are Shining";
val.Description = "まぶしすぎる";
val.ModName = "NQV4PRO";
val.Rarity = (Rarity)1;
val.Theme = (CardThemeColorType)4;
val.Art = Assets.Shining_Art;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[1]
{
new CardInfoStat
{
amount = "+100%",
positive = true,
simepleAmount = (SimpleAmount)0,
stat = "輝き"
}
};
return val;
}
}
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
//IL_0043: Unknown result type (might be due to invalid IL or missing references)
//IL_004d: Unknown result type (might be due to invalid IL or missing references)
Renderer[] componentsInChildren = ((Component)player).gameObject.GetComponentsInChildren<Renderer>();
Renderer[] array = componentsInChildren;
foreach (Renderer val in array)
{
Material[] materials = val.materials;
foreach (Material val2 in materials)
{
val2.EnableKeyword("_EMISSION");
val2.SetColor("_EmissionColor", Color.white * 2f);
}
}
}
protected override void Removed(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
}
}
public class Sonic : 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_004f: 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_005f: 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_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_0079: Expected O, but got Unknown
CardDetails val = new CardDetails();
val.Title = "blue hedgehog";
val.Description = "fast and fast";
val.ModName = "NQV4PRO";
val.Rarity = (Rarity)0;
val.Theme = (CardThemeColorType)2;
val.Art = Assets.Sonic_Art;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[1]
{
new CardInfoStat
{
amount = "+100%",
positive = true,
simepleAmount = (SimpleAmount)0,
stat = "movement speed"
}
};
return val;
}
}
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
characterStats.movementSpeed *= 2f;
}
protected override void Removed(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
}
}
public class TimeConductor : CustomEffectCard<TimeEffect>
{
public override CardDetails<TimeEffect> Details
{
get
{
//IL_004f: 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_005f: 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_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_0079: Expected O, but got Unknown
//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_008b: 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_0094: 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_00a5: Expected O, but got Unknown
//IL_00a7: Unknown result type (might be due to invalid IL or missing references)
//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
//IL_00b7: Unknown result type (might be due to invalid IL or missing references)
//IL_00be: Unknown result type (might be due to invalid IL or missing references)
//IL_00c0: 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_00d1: Expected O, but got Unknown
CardDetails<TimeEffect> val = new CardDetails<TimeEffect>();
val.Title = "Time Conductor";
val.Description = "ブロックすると、体力と位置を5秒前に戻す";
val.ModName = "NQV4PRO";
val.Rarity = (Rarity)1;
val.Theme = (CardThemeColorType)3;
val.Art = Assets.TimeConductor_Art;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[3]
{
new CardInfoStat
{
amount = "+100%",
positive = false,
simepleAmount = (SimpleAmount)0,
stat = "Block クールダウン"
},
new CardInfoStat
{
amount = "-25%",
positive = false,
simepleAmount = (SimpleAmount)0,
stat = "体力"
},
new CardInfoStat
{
amount = "+50%",
positive = true,
simepleAmount = (SimpleAmount)0,
stat = "移動速度"
}
};
return val;
}
}
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
CharacterData data2 = player.data;
data2.maxHealth *= 0.75f;
block.cooldown *= 2f;
CharacterStatModifiers statModifiers = ((CustomCard)this).statModifiers;
statModifiers.movementSpeed *= 1.5f;
TimeRewindTracker component = ((Component)player).gameObject.GetComponent<TimeRewindTracker>();
if ((Object)(object)component == (Object)null)
{
component = ((Component)player).gameObject.AddComponent<TimeRewindTracker>();
}
}
protected override void Removed(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
}
}
public class TimeEffect : CardEffect
{
public override void OnBlock(BlockTriggerType blockTriggerType)
{
TimeRewindTracker component = ((Component)((CardEffect)this).player).GetComponent<TimeRewindTracker>();
component.Rewind();
}
}
public class TimeRewindTracker : MonoBehaviour
{
public struct Snapshot
{
public Vector3 position;
public float health;
public float timestamp;
}
[CompilerGenerated]
private sealed class <RewindCoroutine>d__11 : IEnumerator<object>, IEnumerator, IDisposable
{
private int <>1__state;
private object <>2__current;
public TimeRewindTracker <>4__this;
private List<Snapshot> <rewindHistory>5__1;
private int <rewindFrames>5__2;
private float <currentHealth>5__3;
private int <i>5__4;
private Snapshot <snap>5__5;
object IEnumerator<object>.Current
{
[DebuggerHidden]
get
{
return <>2__current;
}
}
object IEnumerator.Current
{
[DebuggerHidden]
get
{
return <>2__current;
}
}
[DebuggerHidden]
public <RewindCoroutine>d__11(int <>1__state)
{
this.<>1__state = <>1__state;
}
[DebuggerHidden]
void IDisposable.Dispose()
{
<rewindHistory>5__1 = null;
<>1__state = -2;
}
private bool MoveNext()
{
//IL_00b1: Unknown result type (might be due to invalid IL or missing references)
switch (<>1__state)
{
default:
return false;
case 0:
<>1__state = -1;
<>4__this.isRewinding = true;
<rewindHistory>5__1 = new List<Snapshot>(<>4__this.history);
<rewindFrames>5__2 = Mathf.Min(50, <rewindHistory>5__1.Count);
Debug.Log($"[TimeConductor] {<rewindFrames>5__2} フレーム巻き戻し開始");
<i>5__4 = <rewindFrames>5__2 - 1;
break;
case 1:
<>1__state = -1;
<i>5__4--;
break;
}
if (<i>5__4 >= 0)
{
<snap>5__5 = <rewindHistory>5__1[<i>5__4];
((Component)<>4__this).transform.position = <snap>5__5.position;
<>2__current = null;
<>1__state = 1;
return true;
}
<currentHealth>5__3 = <>4__this.player.data.health;
<>4__this.healthHandler.Heal(<rewindHistory>5__1[0].health - <currentHealth>5__3);
Debug.Log("[TimeConductor] プレイヤーを巻き戻しました(コピー履歴使用)!");
<>4__this.isRewinding = false;
return false;
}
bool IEnumerator.MoveNext()
{
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
return this.MoveNext();
}
[DebuggerHidden]
void IEnumerator.Reset()
{
throw new NotSupportedException();
}
}
private List<Snapshot> history = new List<Snapshot>();
private HealthHandler healthHandler;
private CharacterStatModifiers characterStatModifiers;
private Player player;
private float recordInterval = 0.1f;
private float recordTimer = 0f;
private bool isRewinding = false;
private void Start()
{
player = ((Component)this).GetComponent<Player>();
healthHandler = ((Component)this).GetComponent<HealthHandler>();
characterStatModifiers = ((Component)this).GetComponent<CharacterStatModifiers>();
}
private void Update()
{
//IL_003f: Unknown result type (might be due to invalid IL or missing references)
//IL_0044: Unknown result type (might be due to invalid IL or missing references)
recordTimer += Time.deltaTime;
if (recordTimer >= recordInterval)
{
history.Add(new Snapshot
{
position = ((Component)this).transform.position,
health = player.data.health,
timestamp = Time.time
});
recordTimer = 0f;
}
if (history.Count > 60)
{
history.RemoveAt(0);
}
}
public void Rewind()
{
if (!isRewinding && history.Count >= 5)
{
((MonoBehaviour)this).StartCoroutine(RewindCoroutine());
}
}
[IteratorStateMachine(typeof(<RewindCoroutine>d__11))]
private IEnumerator RewindCoroutine()
{
//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
return new <RewindCoroutine>d__11(0)
{
<>4__this = this
};
}
}
public class Uniformrectilinearmotion : 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_004f: 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_005f: 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_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_0079: Expected O, but got Unknown
CardDetails val = new CardDetails();
val.Title = "Uniform rectilinear motion";
val.Description = "弾は直進します";
val.ModName = "NQV4PRO";
val.Rarity = (Rarity)0;
val.Theme = (CardThemeColorType)6;
val.Art = Assets.Uniformrectilinearmotion_Art;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[1]
{
new CardInfoStat
{
amount = "+50%",
positive = true,
simepleAmount = (SimpleAmount)0,
stat = "damage"
}
};
return val;
}
}
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
gun.gravity = 0f;
gun.damage *= 1.5f;
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
Debug.Log("[MySimpleCard] カードがプレイヤーに追加されました");
}
protected override void Removed(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
Debug.Log("[MySimpleCard] カードがプレイヤーから削除されました");
}
}
public class ZeroGravity : 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_004f: 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_005f: 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_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_0079: Expected O, but got Unknown
CardDetails val = new CardDetails();
val.Title = "0 グラビティ";
val.Description = "あなたにかかる重力はとても低いです";
val.ModName = "NQV4PRO";
val.Rarity = (Rarity)0;
val.Theme = (CardThemeColorType)3;
val.Art = Assets.ZeroGravity_Art;
val.Stats = (CardInfoStat[])(object)new CardInfoStat[1]
{
new CardInfoStat
{
amount = "0.1",
positive = true,
simepleAmount = (SimpleAmount)0,
stat = "Gravity"
}
};
return val;
}
}
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
statModifiers.gravity = -1f;
}
protected override void Added(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
gravity.gravityForce = -0.1f;
}
protected override void Removed(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
Debug.Log("[MySimpleCard] カードがプレイヤーから削除されました");
}
}
public class AbyssRoundHandler : MonoBehaviour
{
[CompilerGenerated]
private sealed class <PointEnd>d__1 : IEnumerator<object>, IEnumerator, IDisposable
{
private int <>1__state;
private object <>2__current;
public IGameModeHandler gm;
public AbyssRoundHandler <>4__this;
private List<Player>.Enumerator <>s__1;
private Player <player>5__2;
private AbyssGravity <abyss>5__3;
object IEnumerator<object>.Current
{
[DebuggerHidden]
get
{
return <>2__current;
}
}
object IEnumerator.Current
{
[DebuggerHidden]
get
{
return <>2__current;
}
}
[DebuggerHidden]
public <PointEnd>d__1(int <>1__state)
{
this.<>1__state = <>1__state;
}
[DebuggerHidden]
void IDisposable.Dispose()
{
<>s__1 = default(List<Player>.Enumerator);
<player>5__2 = null;
<abyss>5__3 = null;
<>1__state = -2;
}
private bool MoveNext()
{
if (<>1__state != 0)
{
return false;
}
<>1__state = -1;
<>s__1 = PlayerManager.instance.players.GetEnumerator();
try
{
while (<>s__1.MoveNext())
{
<player>5__2 = <>s__1.Current;
<abyss>5__3 = ((Component)<player>5__2).GetComponent<AbyssGravity>();
if ((Object)(object)<abyss>5__3 != (Object)null)
{
Object.Destroy((Object)(object)<abyss>5__3);
}
<abyss>5__3 = null;
<player>5__2 = null;
}
}
finally
{
((IDisposable)<>s__1).Dispose();
}
<>s__1 = default(List<Player>.Enumerator);
return false;
}
bool IEnumerator.MoveNext()
{
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
return this.MoveNext();
}
[DebuggerHidden]
void IEnumerator.Reset()
{
throw new NotSupportedException();
}
}
private void Awake()
{
GameModeManager.AddHook("PointEnd", (Func<IGameModeHandler, IEnumerator>)PointEnd);
}
[IteratorStateMachine(typeof(<PointEnd>d__1))]
private IEnumerator PointEnd(IGameModeHandler gm)
{
//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
return new <PointEnd>d__1(0)
{
<>4__this = this,
gm = gm
};
}
}
namespace NQV4Pro
{
internal class Assets
{
private static readonly AssetBundle Bundle = AssetUtils.LoadAssetBundleFromResources("nqv4pro", typeof(NQV4Pro).Assembly);
public static GameObject AbyssCard_Art = Bundle.LoadAsset<GameObject>("C_AbyssCard");
public static GameObject ChaosShoot_Art = Bundle.LoadAsset<GameObject>("C_ChaosShoot");
public static GameObject Contract_of_Blood_Art = Bundle.LoadAsset<GameObject>("C_Contract_of_Blood");
public static GameObject FinalBullet_Art = Bundle.LoadAsset<GameObject>("C_FinalBullet");
public static GameObject Gambling_Art = Bundle.LoadAsset<GameObject>("C_Gambling");
public static GameObject HeavyBullet_Art = Bundle.LoadAsset<GameObject>("C_HeavyBullet");
public static GameObject Kirby_Art = Bundle.LoadAsset<GameObject>("C_Kirby");
public static GameObject PhantomReload_Art = Bundle.LoadAsset<GameObject>("C_PhantomReload");
public static GameObject ShadowMan_Art = Bundle.LoadAsset<GameObject>("C_ShieldMaster");
public static GameObject ShieldMaster_Art = Bundle.LoadAsset<GameObject>("C_ShadowMan");
public static GameObject Shining_Art = Bundle.LoadAsset<GameObject>("C_Shining");
public static GameObject Sonic_Art = Bundle.LoadAsset<GameObject>("C_Sonic");
public static GameObject TimeConductor_Art = Bundle.LoadAsset<GameObject>("C_TimeConductor");
public static GameObject Uniformrectilinearmotion_Art = Bundle.LoadAsset<GameObject>("C_Uniformrectilinearmotion");
public static GameObject ZeroGravity_Art = Bundle.LoadAsset<GameObject>("C_ZeroGravity");
}
public class Contract_of_Blood_Effect : MonoBehaviour
{
public float damageAmount = 10f;
public float damageInterval = 1f;
private HealthHandler healthHandler;
private void Start()
{
healthHandler = ((Component)this).GetComponent<HealthHandler>();
if ((Object)(object)healthHandler != (Object)null)
{
((MonoBehaviour)this).InvokeRepeating("ApplySelfDamage", damageInterval, damageInterval);
}
else
{
Debug.LogError("HealthHandler not found on " + ((Object)((Component)this).gameObject).name);
}
}
private void ApplySelfDamage()
{
//IL_002c: 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_0051: 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_0053: Unknown result type (might be due to invalid IL or missing references)
if ((Object)(object)healthHandler != (Object)null)
{
Vector2 val = default(Vector2);
((Vector2)(ref val))..ctor(damageAmount, 0f);
Vector2 val2 = default(Vector2);
((Vector2)(ref val2))..ctor(((Component)this).transform.position.x, ((Component)this).transform.position.y);
healthHandler.DoDamage(val, val2, Color.black, ((Component)this).gameObject, ((Component)this).GetComponent<Player>(), false, true, true);
Debug.Log("Self-damage applied to: " + ((Object)((Component)this).gameObject).name);
}
}
}
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInPlugin("com.NQV4.rounds.nqv4mod", "NQV4Pro", "0.0.0")]
[BepInProcess("Rounds.exe")]
public class NQV4Pro : BaseUnityPlugin
{
private const string ModId = "com.NQV4.rounds.nqv4mod";
private const string ModName = "NQV4Pro";
public const string Version = "0.0.0";
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.NQV4.rounds.nqv4mod");
val.PatchAll();
}
private void Start()
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000c: Expected O, but got Unknown
GameObject val = new GameObject("AbyssRoundHandler");
Object.DontDestroyOnLoad((Object)(object)val);
val.AddComponent<AbyssRoundHandler>();
CustomCard.BuildCard<Sonic>((Action<CardInfo>)delegate(CardInfo c)
{
ExtensionMethods.SetAbbreviation(c, "S");
});
CustomCard.BuildCard<Kirby>((Action<CardInfo>)delegate(CardInfo c)
{
ExtensionMethods.SetAbbreviation(c, "K");
});
CustomCard.BuildCard<Contract_of_Blood>((Action<CardInfo>)delegate(CardInfo c)
{
ExtensionMethods.SetAbbreviation(c, "CB");
});
CustomCard.BuildCard<ShieldMaster>((Action<CardInfo>)delegate(CardInfo c)
{
ExtensionMethods.SetAbbreviation(c, "SM");
});
CustomCard.BuildCard<ShadowMan>((Action<CardInfo>)delegate(CardInfo c)
{
ExtensionMethods.SetAbbreviation(c, "SM");
});
CustomCard.BuildCard<PhantomReload>((Action<CardInfo>)delegate(CardInfo c)
{
ExtensionMethods.SetAbbreviation(c, "PR");
});
CustomCard.BuildCard<Uniformrectilinearmotion>((Action<CardInfo>)delegate(CardInfo c)
{
ExtensionMethods.SetAbbreviation(c, "U");
});
CustomCard.BuildCard<HeavyBullet>((Action<CardInfo>)delegate(CardInfo c)
{
ExtensionMethods.SetAbbreviation(c, "HB");
});
CustomCard.BuildCard<ChaosShoot>((Action<CardInfo>)delegate(CardInfo c)
{
ExtensionMethods.SetAbbreviation(c, "CS");
});
CustomCard.BuildCard<Gambling>((Action<CardInfo>)delegate(CardInfo c)
{
ExtensionMethods.SetAbbreviation(c, "G");
});
CustomCard.BuildCard<AbyssCard>((Action<CardInfo>)delegate(CardInfo c)
{
ExtensionMethods.SetAbbreviation(c, "AC");
});
CustomCard.BuildCard<Shining>((Action<CardInfo>)delegate(CardInfo c)
{
ExtensionMethods.SetAbbreviation(c, "S");
});
CustomCard.BuildCard<TimeConductor>((Action<CardInfo>)delegate(CardInfo c)
{
ExtensionMethods.SetAbbreviation(c, "S");
});
CustomCard.BuildCard<FinalBullet>((Action<CardInfo>)delegate(CardInfo c)
{
ExtensionMethods.SetAbbreviation(c, "FB");
});
CustomCard.BuildCard<ZeroGravity>((Action<CardInfo>)delegate(CardInfo c)
{
ExtensionMethods.SetAbbreviation(c, "ZG");
});
}
}
}