Decompiled source of Clownpiece v0.2.1

Clownpiece.dll

Decompiled 4 days ago
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 System.Security;
using System.Security.Permissions;
using AddWatermark;
using BepInEx;
using BepInEx.Bootstrap;
using BepInEx.Logging;
using Clownpiece.Boss;
using Clownpiece.Cards.CardsB;
using Clownpiece.Cards.CardsR;
using Clownpiece.Cards.CardsRB;
using Clownpiece.Cards.FairyTeammates;
using Clownpiece.Cards.LunaticCards.LunaticFairyTeammates;
using Clownpiece.Cards.LunaticCards.NonTeammateCards;
using Clownpiece.CustomClasses;
using Clownpiece.Status;
using Cysharp.Threading.Tasks;
using HarmonyLib;
using LBoL.Base;
using LBoL.Base.Extensions;
using LBoL.ConfigData;
using LBoL.Core;
using LBoL.Core.Battle;
using LBoL.Core.Battle.BattleActions;
using LBoL.Core.Battle.Interactions;
using LBoL.Core.Cards;
using LBoL.Core.Intentions;
using LBoL.Core.Randoms;
using LBoL.Core.StatusEffects;
using LBoL.Core.Units;
using LBoL.EntityLib.Cards.Character.Reimu;
using LBoL.EntityLib.Cards.Enemy;
using LBoL.EntityLib.Cards.Neutral.NoColor;
using LBoL.EntityLib.Exhibits;
using LBoL.EntityLib.StatusEffects.Basic;
using LBoL.EntityLib.StatusEffects.Enemy;
using LBoL.EntityLib.StatusEffects.Others;
using LBoL.Presentation;
using LBoL.Presentation.UI;
using LBoL.Presentation.UI.Panels;
using LBoL.Presentation.Units;
using LBoLEntitySideloader;
using LBoLEntitySideloader.Attributes;
using LBoLEntitySideloader.Entities;
using LBoLEntitySideloader.Resource;
using LBoLEntitySideloader.Utils;
using UnityEngine;
using UnityEngine.Experimental.Rendering;

[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: IgnoresAccessChecksTo("LBoL.Base")]
[assembly: IgnoresAccessChecksTo("LBoL.ConfigData")]
[assembly: IgnoresAccessChecksTo("LBoL.Core")]
[assembly: IgnoresAccessChecksTo("LBoL.EntityLib")]
[assembly: IgnoresAccessChecksTo("LBoL.Presentation")]
[assembly: IgnoresAccessChecksTo("Untitled.ConfigDataBuilder.Base")]
[assembly: AssemblyCompany("Clownpiece")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0+c32c8cda04112269634b9f7e435098e68248cd04")]
[assembly: AssemblyProduct("Clownpiece")]
[assembly: AssemblyTitle("Clownpiece")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace Clownpiece
{
	[BepInPlugin("gameglitcher.character.clownpiece", "Clownpiece", "0.2.0")]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInProcess("LBoL.exe")]
	public class BepinexPlugin : BaseUnityPlugin
	{
		private static readonly Harmony harmony = PInfo.harmony;

		internal static ManualLogSource log;

		internal static TemplateSequenceTable sequenceTable = new TemplateSequenceTable(0);

		internal static IResourceSource embeddedSource = (IResourceSource)new EmbeddedSource(Assembly.GetExecutingAssembly());

		internal static DirectorySource directorySource = new DirectorySource("gameglitcher.character.clownpiece", "");

		private void Awake()
		{
			log = ((BaseUnityPlugin)this).Logger;
			Object.DontDestroyOnLoad((Object)(object)((Component)this).gameObject);
			((Object)((Component)this).gameObject).hideFlags = (HideFlags)61;
			EntityManager.RegisterSelf();
			harmony.PatchAll();
			if (Chainloader.PluginInfos.ContainsKey("neo.lbol.tools.watermark"))
			{
				WatermarkWrapper.ActivateWatermark();
			}
			Func<Sprite> func = () => ResourceLoader.LoadSprite("BossIcon.png", embeddedSource, (Rect?)null, 1, (Vector2?)null);
			EnemyUnitTemplate.AddBossNodeIcon("ClownpieceBossSelector", func, (Assembly)null);
		}

		private void OnDestroy()
		{
			if (harmony != null)
			{
				harmony.UnpatchSelf();
			}
		}
	}
	public sealed class ClownpiecePlayerDef : PlayerUnitTemplate
	{
		[EntityLogic(typeof(ClownpiecePlayerDef))]
		public sealed class Clownpiece : PlayerUnit
		{
		}

		public static string name = "Clownpiece";

		public override IdContainer GetId()
		{
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			return IdContainer.op_Implicit("Clownpiece");
		}

		public override LocalizationOption LoadLocalization()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000c: Expected O, but got Unknown
			GlobalLocalization val = new GlobalLocalization(BepinexPlugin.embeddedSource);
			val.LocalizationFiles.AddLocaleFile((Locale)0, "PlayerUnitEn.yaml");
			return (LocalizationOption)(object)val;
		}

		public override PlayerImages LoadPlayerImages()
		{
			//IL_0007: Unknown result type (might be due to invalid IL or missing references)
			//IL_000d: Expected O, but got Unknown
			//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_010d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0112: Unknown result type (might be due to invalid IL or missing references)
			//IL_013c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0141: Unknown result type (might be due to invalid IL or missing references)
			//IL_016c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0171: Unknown result type (might be due to invalid IL or missing references)
			//IL_019c: 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)
			//IL_01cc: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d1: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d4: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e2: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f0: 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_020d: Unknown result type (might be due to invalid IL or missing references)
			//IL_021c: Unknown result type (might be due to invalid IL or missing references)
			//IL_022b: Unknown result type (might be due to invalid IL or missing references)
			PlayerImages val = new PlayerImages();
			Sprite imprint = ResourceLoader.LoadSprite("ClownpieceImprint.png", (IResourceSource)(object)BepinexPlugin.directorySource, (Rect?)null, 1, (Vector2?)null);
			Sprite collectionIconLoading = ResourceLoader.LoadSprite("ClownpieceCollectionIcon.png", (IResourceSource)(object)BepinexPlugin.directorySource, (Rect?)null, 1, (Vector2?)null);
			Sprite selectionCircleIconLoading = ResourceLoader.LoadSprite("EmptyIcon.png", (IResourceSource)(object)BepinexPlugin.directorySource, (Rect?)null, 1, (Vector2?)null);
			Sprite avatarLoading = ResourceLoader.LoadSprite("EmptyIcon.png", (IResourceSource)(object)BepinexPlugin.directorySource, (Rect?)null, 1, (Vector2?)null);
			UniTask<Sprite> value = ResourceLoader.LoadSpriteAsync("Clownpiece.png", BepinexPlugin.directorySource, 100, (GraphicsFormat)4, 1, (FilterMode)1, (SpriteMeshType)1, (Rect?)null, (Vector2?)null, "file://");
			UniTask<Sprite> value2 = ResourceLoader.LoadSpriteAsync("Clownpiece.png", BepinexPlugin.directorySource, 100, (GraphicsFormat)4, 1, (FilterMode)1, (SpriteMeshType)1, (Rect?)null, (Vector2?)null, "file://");
			UniTask<Sprite> value3 = ResourceLoader.LoadSpriteAsync("Clownpiece.png", BepinexPlugin.directorySource, 100, (GraphicsFormat)4, 1, (FilterMode)1, (SpriteMeshType)1, (Rect?)null, (Vector2?)null, "file://");
			UniTask<Sprite> value4 = ResourceLoader.LoadSpriteAsync("Clownpiece.png", BepinexPlugin.directorySource, 100, (GraphicsFormat)4, 1, (FilterMode)1, (SpriteMeshType)1, (Rect?)null, (Vector2?)null, "file://");
			UniTask<Sprite> value5 = ResourceLoader.LoadSpriteAsync("Clownpiece.png", BepinexPlugin.directorySource, 100, (GraphicsFormat)4, 1, (FilterMode)1, (SpriteMeshType)1, (Rect?)null, (Vector2?)null, "file://");
			UniTask<Sprite> value6 = ResourceLoader.LoadSpriteAsync("Clownpiece.png", BepinexPlugin.directorySource, 100, (GraphicsFormat)4, 1, (FilterMode)1, (SpriteMeshType)1, (Rect?)null, (Vector2?)null, "file://");
			val.SetStartPanelStand((UniTask<Sprite>?)value, (Func<Sprite>)null);
			val.SetDeckStand((UniTask<Sprite>?)value, (Func<Sprite>)null);
			val.SetWinStand((UniTask<Sprite>?)value2, (Func<Sprite>)null);
			val.SetDefeatedStand((UniTask<Sprite>?)value3, (Func<Sprite>)null);
			val.SetPerfectWinIcon((UniTask<Sprite>?)value4, (Func<Sprite>)null);
			val.SetWinIcon((UniTask<Sprite>?)value5, (Func<Sprite>)null);
			val.SetDefeatedIcon((UniTask<Sprite>?)value6, (Func<Sprite>)null);
			val.SetCollectionIcon((Func<Sprite>)(() => collectionIconLoading));
			val.SetSelectionCircleIcon((Func<Sprite>)(() => selectionCircleIconLoading));
			val.SetInRunAvatarPic((Func<Sprite>)(() => avatarLoading));
			val.SetCardImprint((Func<Sprite>)(() => imprint));
			return val;
		}

		public override PlayerUnitConfig MakeConfig()
		{
			//IL_0027: 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_0040: Unknown result type (might be due to invalid IL or missing references)
			//IL_0049: Unknown result type (might be due to invalid IL or missing references)
			//IL_0164: Unknown result type (might be due to invalid IL or missing references)
			//IL_016a: Expected O, but got Unknown
			PlayerUnitConfig val = ObjectExtensions.Copy<PlayerUnitConfig>(PlayerUnitConfig.FromId("Reimu"));
			int? num = 0;
			ManaGroup val2 = default(ManaGroup);
			((ManaGroup)(ref val2)).Red = 2;
			((ManaGroup)(ref val2)).Black = 2;
			ManaGroup val3 = val2;
			return new PlayerUnitConfig("", false, "Clownpiece", 0, 6, num, true, (int?)4, (ManaColor)4, (ManaColor)3, val3, "#3f7ab0", 80, 10, 0, "ClownpieceUltA", "ClownpieceUltB", "TorchOfLunacy", "TorchOfMania", (IReadOnlyList<string>)new List<string> { "Shoot", "Shoot", "Boundary", "Boundary", "TorchBullet", "TorchBullet", "LunarShield", "LunarShield", "LunarShield", "ButterflyBackup" }, (IReadOnlyList<string>)new List<string> { "Shoot", "Shoot", "Boundary", "Boundary", "LunarSlam", "LunarSlam", "FlameWall", "FlameWall", "FlameWall", "UndyingFlame" }, 3, 3);
		}

		public override EikiSummonInfo AssociateEikiSummon()
		{
			//IL_000c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0012: Expected O, but got Unknown
			return new EikiSummonInfo(typeof(ClownpieceBossSpawnerDef.ClownpieceBossSpawner), (string)null);
		}
	}
	public sealed class ClownpieceModelDef : UnitModelTemplate
	{
		public override IdContainer GetId()
		{
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			return ((EntityDefinition)new ClownpiecePlayerDef()).UniqueId;
		}

		public override LocalizationOption LoadLocalization()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000c: Expected O, but got Unknown
			GlobalLocalization val = new GlobalLocalization(BepinexPlugin.embeddedSource);
			val.LocalizationFiles.AddLocaleFile((Locale)0, "UnitModelEn.yaml");
			return (LocalizationOption)(object)val;
		}

		public override ModelOption LoadModelOptions()
		{
			//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_0011: Expected O, but got Unknown
			return new ModelOption(ResourcesHelper.LoadSpineUnitAsync("Clownpiece"));
		}

		public override UniTask<Sprite> LoadSpellSprite()
		{
			//IL_002a: Unknown result type (might be due to invalid IL or missing references)
			return ResourceLoader.LoadSpriteAsync("SpellCard.png", BepinexPlugin.directorySource, 336, (GraphicsFormat)4, 1, (FilterMode)1, (SpriteMeshType)1, (Rect?)null, (Vector2?)null, "file://");
		}

		public override UnitModelConfig MakeConfig()
		{
			return ObjectExtensions.Copy<UnitModelConfig>(UnitModelConfig.FromName("Reimu"));
		}
	}
	public sealed class ClownpieceUltADef : UltimateSkillTemplate
	{
		public override IdContainer GetId()
		{
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			return IdContainer.op_Implicit("ClownpieceUltA");
		}

		public override LocalizationOption LoadLocalization()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000c: Expected O, but got Unknown
			GlobalLocalization val = new GlobalLocalization((IResourceSource)(object)BepinexPlugin.directorySource);
			val.DiscoverAndLoadLocFiles((EntityDefinition)(object)this);
			return (LocalizationOption)(object)val;
		}

		public override Sprite LoadSprite()
		{
			return ResourceLoader.LoadSprite("ClownpieceUltA.png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
		}

		public override UltimateSkillConfig MakeConfig()
		{
			//IL_0022: Unknown result type (might be due to invalid IL or missing references)
			//IL_0028: Expected O, but got Unknown
			return new UltimateSkillConfig("", 10, 100, 100, 2, (UsRepeatableType)1, 15, 0, 0, (Keyword)256, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>());
		}
	}
	[EntityLogic(typeof(ClownpieceUltADef))]
	public sealed class ClownpieceUltA : UltimateSkill
	{
		[CompilerGenerated]
		private sealed class <Actions>d__1 : IEnumerable<BattleAction>, IEnumerable, IEnumerator<BattleAction>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private BattleAction <>2__current;

			private int <>l__initialThreadId;

			private UnitSelector selector;

			public UnitSelector <>3__selector;

			public ClownpieceUltA <>4__this;

			private List<Card> <teammates>5__1;

			private List<Card>.Enumerator <>s__2;

			private Card <card>5__3;

			private IEnumerable<BattleAction> <passiveActions>5__4;

			private IEnumerator<BattleAction> <>s__5;

			private BattleAction <battleAction>5__6;

			BattleAction IEnumerator<BattleAction>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <Actions>d__1(int <>1__state)
			{
				this.<>1__state = <>1__state;
				<>l__initialThreadId = Environment.CurrentManagedThreadId;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				int num = <>1__state;
				if ((uint)(num - -4) <= 1u || num == 5)
				{
					try
					{
						if (num == -4 || num == 5)
						{
							try
							{
							}
							finally
							{
								<>m__Finally2();
							}
						}
					}
					finally
					{
						<>m__Finally1();
					}
				}
				<teammates>5__1 = null;
				<>s__2 = default(List<Card>.Enumerator);
				<card>5__3 = null;
				<passiveActions>5__4 = null;
				<>s__5 = null;
				<battleAction>5__6 = null;
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
				//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
				//IL_00c5: Expected O, but got Unknown
				try
				{
					switch (<>1__state)
					{
					default:
						return false;
					case 0:
						<>1__state = -1;
						<>2__current = (BattleAction)(object)PerformAction.Spell((Unit)(object)((UltimateSkill)<>4__this).Battle.Player, "ClownpieceUltA");
						<>1__state = 1;
						return true;
					case 1:
						<>1__state = -1;
						<>2__current = (BattleAction)new DamageAction((Unit)(object)((UltimateSkill)<>4__this).Owner, (IEnumerable<Unit>)((UltimateSkill)<>4__this).Battle.EnemyGroup.Alives, ((UltimateSkill)<>4__this).Damage, ((UltimateSkill)<>4__this).GunName, (GunType)0);
						<>1__state = 2;
						return true;
					case 2:
						<>1__state = -1;
						if (!((UltimateSkill)<>4__this).Battle.BattleShouldEnd)
						{
							<teammates>5__1 = ((UltimateSkill)<>4__this).Battle.HandZone.Where((Card card) => (int)card.CardType == 5 && card.Summoned).ToList();
							if (<teammates>5__1.Count == 0)
							{
								<>2__current = (BattleAction)(object)PerformAction.Chat((Unit)(object)((UltimateSkill)<>4__this).Battle.Player, "Fairies! More-\n...Where is everyone?", 2f, 0f, 0f, true);
								<>1__state = 3;
								return true;
							}
							<>2__current = (BattleAction)(object)PerformAction.Chat((Unit)(object)((UltimateSkill)<>4__this).Battle.Player, "Fairies! More damnaku! More!", 2f, 0f, 0f, true);
							<>1__state = 4;
							return true;
						}
						break;
					case 3:
						<>1__state = -1;
						goto IL_01d2;
					case 4:
						<>1__state = -1;
						goto IL_01d2;
					case 5:
						{
							<>1__state = -4;
							<battleAction>5__6 = null;
							goto IL_0277;
						}
						IL_01d2:
						<>s__2 = <teammates>5__1.GetEnumerator();
						<>1__state = -3;
						goto IL_02a2;
						IL_02a2:
						if (<>s__2.MoveNext())
						{
							<card>5__3 = <>s__2.Current;
							<passiveActions>5__4 = <card>5__3.GetPassiveActions();
							if (<passiveActions>5__4 != null)
							{
								<>s__5 = <passiveActions>5__4.GetEnumerator();
								<>1__state = -4;
								goto IL_0277;
							}
							goto IL_0293;
						}
						<>m__Finally1();
						<>s__2 = default(List<Card>.Enumerator);
						<teammates>5__1 = null;
						break;
						IL_0293:
						<passiveActions>5__4 = null;
						<card>5__3 = null;
						goto IL_02a2;
						IL_0277:
						if (<>s__5.MoveNext())
						{
							<battleAction>5__6 = <>s__5.Current;
							<>2__current = <battleAction>5__6;
							<>1__state = 5;
							return true;
						}
						<>m__Finally2();
						<>s__5 = null;
						goto IL_0293;
					}
					return false;
				}
				catch
				{
					//try-fault
					((IDisposable)this).Dispose();
					throw;
				}
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			private void <>m__Finally1()
			{
				<>1__state = -1;
				((IDisposable)<>s__2).Dispose();
			}

			private void <>m__Finally2()
			{
				<>1__state = -3;
				if (<>s__5 != null)
				{
					<>s__5.Dispose();
				}
			}

			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw new NotSupportedException();
			}

			[DebuggerHidden]
			IEnumerator<BattleAction> IEnumerable<BattleAction>.GetEnumerator()
			{
				<Actions>d__1 <Actions>d__;
				if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId)
				{
					<>1__state = 0;
					<Actions>d__ = this;
				}
				else
				{
					<Actions>d__ = new <Actions>d__1(0)
					{
						<>4__this = <>4__this
					};
				}
				<Actions>d__.selector = <>3__selector;
				return <Actions>d__;
			}

			[DebuggerHidden]
			IEnumerator IEnumerable.GetEnumerator()
			{
				return ((IEnumerable<BattleAction>)this).GetEnumerator();
			}
		}

		[CompilerGenerated]
		private sealed class <DeactivateDeez>d__2 : IEnumerator<object>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private object <>2__current;

			public GameObject go;

			public ClownpieceUltA <>4__this;

			object IEnumerator<object>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <DeactivateDeez>d__2(int <>1__state)
			{
				this.<>1__state = <>1__state;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_0026: Unknown result type (might be due to invalid IL or missing references)
				//IL_0030: Expected O, but got Unknown
				switch (<>1__state)
				{
				default:
					return false;
				case 0:
					<>1__state = -1;
					<>2__current = (object)new WaitForSeconds(5f);
					<>1__state = 1;
					return true;
				case 1:
					<>1__state = -1;
					go.SetActive(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();
			}
		}

		public ClownpieceUltA()
		{
			((UltimateSkill)this).TargetType = (TargetType)2;
			((UltimateSkill)this).GunName = "Clownpiece2";
		}

		[IteratorStateMachine(typeof(<Actions>d__1))]
		protected override IEnumerable<BattleAction> Actions(UnitSelector selector)
		{
			//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
			return new <Actions>d__1(-2)
			{
				<>4__this = this,
				<>3__selector = selector
			};
		}

		[IteratorStateMachine(typeof(<DeactivateDeez>d__2))]
		private IEnumerator DeactivateDeez(GameObject go)
		{
			//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
			return new <DeactivateDeez>d__2(0)
			{
				<>4__this = this,
				go = go
			};
		}
	}
	public sealed class ClownpieceUltBDef : UltimateSkillTemplate
	{
		public override IdContainer GetId()
		{
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			return IdContainer.op_Implicit("ClownpieceUltB");
		}

		public override LocalizationOption LoadLocalization()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000c: Expected O, but got Unknown
			GlobalLocalization val = new GlobalLocalization(BepinexPlugin.embeddedSource);
			val.LocalizationFiles.AddLocaleFile((Locale)0, "UltimateSkillEn.yaml");
			return (LocalizationOption)(object)val;
		}

		public override Sprite LoadSprite()
		{
			return ResourceLoader.LoadSprite("ClownpieceUltB.png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
		}

		public override UltimateSkillConfig MakeConfig()
		{
			//IL_0022: Unknown result type (might be due to invalid IL or missing references)
			//IL_0028: Expected O, but got Unknown
			return new UltimateSkillConfig("", 10, 100, 100, 2, (UsRepeatableType)1, 30, 0, 0, (Keyword)256, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>());
		}
	}
	[EntityLogic(typeof(ClownpieceUltBDef))]
	public sealed class ClownpieceUltB : UltimateSkill
	{
		[CompilerGenerated]
		private sealed class <Actions>d__1 : IEnumerable<BattleAction>, IEnumerable, IEnumerator<BattleAction>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private BattleAction <>2__current;

			private int <>l__initialThreadId;

			private UnitSelector selector;

			public UnitSelector <>3__selector;

			public ClownpieceUltB <>4__this;

			BattleAction IEnumerator<BattleAction>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <Actions>d__1(int <>1__state)
			{
				this.<>1__state = <>1__state;
				<>l__initialThreadId = Environment.CurrentManagedThreadId;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_00cc: 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_00e7: Expected O, but got Unknown
				switch (<>1__state)
				{
				default:
					return false;
				case 0:
					<>1__state = -1;
					<>2__current = (BattleAction)(object)PerformAction.Spell((Unit)(object)((UltimateSkill)<>4__this).Battle.Player, "ClownpieceUltB");
					<>1__state = 1;
					return true;
				case 1:
					<>1__state = -1;
					<>2__current = (BattleAction)(object)PerformAction.Chat((Unit)(object)((UltimateSkill)<>4__this).Battle.Player, "Welcome to the world of madness!", 2f, 0f, 0f, true);
					<>1__state = 2;
					return true;
				case 2:
					<>1__state = -1;
					<>2__current = (BattleAction)new DamageAction((Unit)(object)((UltimateSkill)<>4__this).Owner, (Unit)(object)selector.GetEnemy(((UltimateSkill)<>4__this).Battle), ((UltimateSkill)<>4__this).Damage, ((UltimateSkill)<>4__this).GunName, (GunType)0);
					<>1__state = 3;
					return true;
				case 3:
					<>1__state = -1;
					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();
			}

			[DebuggerHidden]
			IEnumerator<BattleAction> IEnumerable<BattleAction>.GetEnumerator()
			{
				<Actions>d__1 <Actions>d__;
				if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId)
				{
					<>1__state = 0;
					<Actions>d__ = this;
				}
				else
				{
					<Actions>d__ = new <Actions>d__1(0)
					{
						<>4__this = <>4__this
					};
				}
				<Actions>d__.selector = <>3__selector;
				return <Actions>d__;
			}

			[DebuggerHidden]
			IEnumerator IEnumerable.GetEnumerator()
			{
				return ((IEnumerable<BattleAction>)this).GetEnumerator();
			}
		}

		public ClownpieceUltB()
		{
			((UltimateSkill)this).TargetType = (TargetType)1;
			((UltimateSkill)this).GunName = "Clownpiece1";
		}

		[IteratorStateMachine(typeof(<Actions>d__1))]
		protected override IEnumerable<BattleAction> Actions(UnitSelector selector)
		{
			//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
			return new <Actions>d__1(-2)
			{
				<>4__this = this,
				<>3__selector = selector
			};
		}
	}
	public static class PInfo
	{
		public const string GUID = "gameglitcher.character.clownpiece";

		public const string Name = "Clownpiece";

		public const string version = "0.2.0";

		public static readonly Harmony harmony = new Harmony("gameglitcher.character.clownpiece");
	}
	internal class WatermarkWrapper
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		internal static void ActivateWatermark()
		{
			API.ActivateWatermark();
		}
	}
}
namespace Clownpiece.Status
{
	public sealed class ChaoticDrawSeDef : StatusEffectTemplate
	{
		public override IdContainer GetId()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000b: Unknown result type (might be due to invalid IL or missing references)
			//IL_000e: Unknown result type (might be due to invalid IL or missing references)
			return IdContainer.op_Implicit("ChaoticDrawSe");
		}

		[DontOverwrite]
		public override LocalizationOption LoadLocalization()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000c: Expected O, but got Unknown
			GlobalLocalization val = new GlobalLocalization(BepinexPlugin.embeddedSource);
			val.LocalizationFiles.AddLocaleFile((Locale)0, "StatusEffectEn.yaml");
			return (LocalizationOption)(object)val;
		}

		[DontOverwrite]
		public override Sprite LoadSprite()
		{
			return ResourceLoader.LoadSprite("ChaoticDrawSe.png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
		}

		public override StatusEffectConfig MakeConfig()
		{
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0050: Expected O, but got Unknown
			return new StatusEffectConfig(0, "", 10, (StatusEffectType)0, false, true, (int?)null, true, (StackType?)(StackType)0, false, (StackType?)(StackType)0, (DurationDecreaseTiming)48, false, (StackType?)(StackType)0, (StackType?)(StackType)0, false, (Keyword)0, (IReadOnlyList<string>)new List<string>(), (string)null, "Default", "Default", "Default");
		}
	}
	[EntityLogic(typeof(ChaoticDrawSeDef))]
	public sealed class ChaoticDrawSe : ClownStatus
	{
		[CompilerGenerated]
		private sealed class <OnOwnerTurnStarted>d__1 : IEnumerable<BattleAction>, IEnumerable, IEnumerator<BattleAction>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private BattleAction <>2__current;

			private int <>l__initialThreadId;

			private UnitEventArgs args;

			public UnitEventArgs <>3__args;

			public ChaoticDrawSe <>4__this;

			BattleAction IEnumerator<BattleAction>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <OnOwnerTurnStarted>d__1(int <>1__state)
			{
				this.<>1__state = <>1__state;
				<>l__initialThreadId = Environment.CurrentManagedThreadId;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_008d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0097: Expected O, but got Unknown
				//IL_0066: Unknown result type (might be due to invalid IL or missing references)
				//IL_0070: Expected O, but got Unknown
				switch (<>1__state)
				{
				default:
					return false;
				case 0:
					<>1__state = -1;
					if (((StatusEffect)<>4__this).Battle.BattleShouldEnd)
					{
						return false;
					}
					((StatusEffect)<>4__this).Level = 1;
					<>4__this.<>n__0();
					<>2__current = (BattleAction)new DrawManyCardAction(((StatusEffect)<>4__this).Level);
					<>1__state = 1;
					return true;
				case 1:
					<>1__state = -1;
					<>2__current = (BattleAction)new RemoveStatusEffectAction((StatusEffect)(object)<>4__this, true, 0.1f);
					<>1__state = 2;
					return true;
				case 2:
					<>1__state = -1;
					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();
			}

			[DebuggerHidden]
			IEnumerator<BattleAction> IEnumerable<BattleAction>.GetEnumerator()
			{
				<OnOwnerTurnStarted>d__1 <OnOwnerTurnStarted>d__;
				if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId)
				{
					<>1__state = 0;
					<OnOwnerTurnStarted>d__ = this;
				}
				else
				{
					<OnOwnerTurnStarted>d__ = new <OnOwnerTurnStarted>d__1(0)
					{
						<>4__this = <>4__this
					};
				}
				<OnOwnerTurnStarted>d__.args = <>3__args;
				return <OnOwnerTurnStarted>d__;
			}

			[DebuggerHidden]
			IEnumerator IEnumerable.GetEnumerator()
			{
				return ((IEnumerable<BattleAction>)this).GetEnumerator();
			}
		}

		protected override void OnAdded(Unit unit)
		{
			((StatusEffect)this).ReactOwnerEvent<UnitEventArgs>(((StatusEffect)this).Owner.TurnStarted, (EventSequencedReactor<UnitEventArgs>)OnOwnerTurnStarted);
		}

		[IteratorStateMachine(typeof(<OnOwnerTurnStarted>d__1))]
		private IEnumerable<BattleAction> OnOwnerTurnStarted(UnitEventArgs args)
		{
			//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
			return new <OnOwnerTurnStarted>d__1(-2)
			{
				<>4__this = this,
				<>3__args = args
			};
		}

		[CompilerGenerated]
		[DebuggerHidden]
		private void <>n__0()
		{
			((StatusEffect)this).NotifyActivating();
		}
	}
	public sealed class ChaoticGrazeSeDef : StatusEffectTemplate
	{
		public override IdContainer GetId()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000b: Unknown result type (might be due to invalid IL or missing references)
			//IL_000e: Unknown result type (might be due to invalid IL or missing references)
			return IdContainer.op_Implicit("ChaoticGrazeSe");
		}

		[DontOverwrite]
		public override LocalizationOption LoadLocalization()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000c: Expected O, but got Unknown
			GlobalLocalization val = new GlobalLocalization(BepinexPlugin.embeddedSource);
			val.LocalizationFiles.AddLocaleFile((Locale)0, "StatusEffectEn.yaml");
			return (LocalizationOption)(object)val;
		}

		[DontOverwrite]
		public override Sprite LoadSprite()
		{
			return ResourceLoader.LoadSprite("ChaoticGrazeSe.png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
		}

		public override StatusEffectConfig MakeConfig()
		{
			//IL_0056: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Expected O, but got Unknown
			return new StatusEffectConfig(0, "", 10, (StatusEffectType)0, false, true, (int?)null, true, (StackType?)(StackType)0, false, (StackType?)(StackType)0, (DurationDecreaseTiming)48, false, (StackType?)(StackType)0, (StackType?)(StackType)0, false, (Keyword)0, (IReadOnlyList<string>)new List<string> { "Graze" }, (string)null, "Default", "Default", "Default");
		}
	}
	[EntityLogic(typeof(ChaoticGrazeSeDef))]
	public sealed class ChaoticGrazeSe : ClownStatus
	{
		[CompilerGenerated]
		private sealed class <OnOwnerTurnStarted>d__1 : IEnumerable<BattleAction>, IEnumerable, IEnumerator<BattleAction>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private BattleAction <>2__current;

			private int <>l__initialThreadId;

			private UnitEventArgs args;

			public UnitEventArgs <>3__args;

			public ChaoticGrazeSe <>4__this;

			BattleAction IEnumerator<BattleAction>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <OnOwnerTurnStarted>d__1(int <>1__state)
			{
				this.<>1__state = <>1__state;
				<>l__initialThreadId = Environment.CurrentManagedThreadId;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_009e: Unknown result type (might be due to invalid IL or missing references)
				//IL_00a8: Expected O, but got Unknown
				switch (<>1__state)
				{
				default:
					return false;
				case 0:
					<>1__state = -1;
					if (((StatusEffect)<>4__this).Battle.BattleShouldEnd)
					{
						return false;
					}
					((StatusEffect)<>4__this).Level = 1;
					<>4__this.<>n__0();
					<>2__current = ((StatusEffect)<>4__this).BuffAction<Graze>(((StatusEffect)<>4__this).Level, 0, 0, 0, 0.2f);
					<>1__state = 1;
					return true;
				case 1:
					<>1__state = -1;
					<>2__current = (BattleAction)new RemoveStatusEffectAction((StatusEffect)(object)<>4__this, true, 0.1f);
					<>1__state = 2;
					return true;
				case 2:
					<>1__state = -1;
					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();
			}

			[DebuggerHidden]
			IEnumerator<BattleAction> IEnumerable<BattleAction>.GetEnumerator()
			{
				<OnOwnerTurnStarted>d__1 <OnOwnerTurnStarted>d__;
				if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId)
				{
					<>1__state = 0;
					<OnOwnerTurnStarted>d__ = this;
				}
				else
				{
					<OnOwnerTurnStarted>d__ = new <OnOwnerTurnStarted>d__1(0)
					{
						<>4__this = <>4__this
					};
				}
				<OnOwnerTurnStarted>d__.args = <>3__args;
				return <OnOwnerTurnStarted>d__;
			}

			[DebuggerHidden]
			IEnumerator IEnumerable.GetEnumerator()
			{
				return ((IEnumerable<BattleAction>)this).GetEnumerator();
			}
		}

		protected override void OnAdded(Unit unit)
		{
			((StatusEffect)this).ReactOwnerEvent<UnitEventArgs>(((StatusEffect)this).Owner.TurnStarted, (EventSequencedReactor<UnitEventArgs>)OnOwnerTurnStarted);
		}

		[IteratorStateMachine(typeof(<OnOwnerTurnStarted>d__1))]
		private IEnumerable<BattleAction> OnOwnerTurnStarted(UnitEventArgs args)
		{
			//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
			return new <OnOwnerTurnStarted>d__1(-2)
			{
				<>4__this = this,
				<>3__args = args
			};
		}

		[CompilerGenerated]
		[DebuggerHidden]
		private void <>n__0()
		{
			((StatusEffect)this).NotifyActivating();
		}
	}
	public sealed class DummyThreeBodiesSeDef : StatusEffectTemplate
	{
		public override IdContainer GetId()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000b: Unknown result type (might be due to invalid IL or missing references)
			//IL_000e: Unknown result type (might be due to invalid IL or missing references)
			return IdContainer.op_Implicit("DummyThreeBodiesSe");
		}

		[DontOverwrite]
		public override LocalizationOption LoadLocalization()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000c: Expected O, but got Unknown
			GlobalLocalization val = new GlobalLocalization(BepinexPlugin.embeddedSource);
			val.LocalizationFiles.AddLocaleFile((Locale)0, "StatusEffectEn.yaml");
			return (LocalizationOption)(object)val;
		}

		[DontOverwrite]
		public override Sprite LoadSprite()
		{
			return ResourceLoader.LoadSprite("DummyThreeBodiesSe.png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
		}

		public override StatusEffectConfig MakeConfig()
		{
			//IL_0050: Unknown result type (might be due to invalid IL or missing references)
			//IL_0056: Expected O, but got Unknown
			return new StatusEffectConfig(0, "", 10, (StatusEffectType)2, false, false, (int?)null, false, (StackType?)null, false, (StackType?)null, (DurationDecreaseTiming)48, false, (StackType?)(StackType)1, (StackType?)(StackType)1, false, (Keyword)0, (IReadOnlyList<string>)new List<string>(), (string)null, "Default", "Default", "Default");
		}
	}
	[EntityLogic(typeof(DummyThreeBodiesSeDef))]
	public sealed class DummyThreeBodiesSe : ClownStatus
	{
		[CompilerGenerated]
		private sealed class <OnPlayerTurnEnding>d__1 : IEnumerable<BattleAction>, IEnumerable, IEnumerator<BattleAction>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private BattleAction <>2__current;

			private int <>l__initialThreadId;

			private UnitEventArgs args;

			public UnitEventArgs <>3__args;

			public DummyThreeBodiesSe <>4__this;

			BattleAction IEnumerator<BattleAction>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <OnPlayerTurnEnding>d__1(int <>1__state)
			{
				this.<>1__state = <>1__state;
				<>l__initialThreadId = Environment.CurrentManagedThreadId;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				if (<>1__state != 0)
				{
					return false;
				}
				<>1__state = -1;
				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();
			}

			[DebuggerHidden]
			IEnumerator<BattleAction> IEnumerable<BattleAction>.GetEnumerator()
			{
				<OnPlayerTurnEnding>d__1 <OnPlayerTurnEnding>d__;
				if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId)
				{
					<>1__state = 0;
					<OnPlayerTurnEnding>d__ = this;
				}
				else
				{
					<OnPlayerTurnEnding>d__ = new <OnPlayerTurnEnding>d__1(0)
					{
						<>4__this = <>4__this
					};
				}
				<OnPlayerTurnEnding>d__.args = <>3__args;
				return <OnPlayerTurnEnding>d__;
			}

			[DebuggerHidden]
			IEnumerator IEnumerable.GetEnumerator()
			{
				return ((IEnumerable<BattleAction>)this).GetEnumerator();
			}
		}

		protected override void OnAdded(Unit unit)
		{
			((GameEntity)this).React(Reactor.op_Implicit((BattleAction)(object)new ApplyStatusEffectAction<Firepower>(((StatusEffect)this).Owner, (int?)1, (int?)null, (int?)null, (int?)null, 0.2f, false)));
			((StatusEffect)this).ReactOwnerEvent<UnitEventArgs>(((Unit)((StatusEffect)this).Battle.Player).TurnEnding, (EventSequencedReactor<UnitEventArgs>)OnPlayerTurnEnding);
		}

		[IteratorStateMachine(typeof(<OnPlayerTurnEnding>d__1))]
		private IEnumerable<BattleAction> OnPlayerTurnEnding(UnitEventArgs args)
		{
			//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
			return new <OnPlayerTurnEnding>d__1(-2)
			{
				<>4__this = this,
				<>3__args = args
			};
		}
	}
	public sealed class DummyLunacySeDef : StatusEffectTemplate
	{
		public override IdContainer GetId()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000b: Unknown result type (might be due to invalid IL or missing references)
			//IL_000e: Unknown result type (might be due to invalid IL or missing references)
			return IdContainer.op_Implicit("DummyLunacySe");
		}

		[DontOverwrite]
		public override LocalizationOption LoadLocalization()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000c: Expected O, but got Unknown
			GlobalLocalization val = new GlobalLocalization(BepinexPlugin.embeddedSource);
			val.LocalizationFiles.AddLocaleFile((Locale)0, "StatusEffectEn.yaml");
			return (LocalizationOption)(object)val;
		}

		[DontOverwrite]
		public override Sprite LoadSprite()
		{
			return ResourceLoader.LoadSprite("DummyLunacySe.png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
		}

		public override StatusEffectConfig MakeConfig()
		{
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Expected O, but got Unknown
			return new StatusEffectConfig(0, "", 10, (StatusEffectType)2, false, false, (int?)null, false, (StackType?)null, false, (StackType?)null, (DurationDecreaseTiming)48, false, (StackType?)(StackType)1, (StackType?)(StackType)1, false, (Keyword)0, (IReadOnlyList<string>)new List<string> { "LunaticTorchSe" }, (string)null, "Default", "Default", "Default");
		}
	}
	[EntityLogic(typeof(DummyLunacySeDef))]
	public sealed class DummyLunacySe : ClownStatus
	{
		[CompilerGenerated]
		private sealed class <OnPlayerTurnEnding>d__2 : IEnumerable<BattleAction>, IEnumerable, IEnumerator<BattleAction>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private BattleAction <>2__current;

			private int <>l__initialThreadId;

			private UnitEventArgs args;

			public UnitEventArgs <>3__args;

			public DummyLunacySe <>4__this;

			BattleAction IEnumerator<BattleAction>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <OnPlayerTurnEnding>d__2(int <>1__state)
			{
				this.<>1__state = <>1__state;
				<>l__initialThreadId = Environment.CurrentManagedThreadId;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				switch (<>1__state)
				{
				default:
					return false;
				case 0:
					<>1__state = -1;
					if (((StatusEffect)<>4__this).Battle.BattleShouldEnd)
					{
						return false;
					}
					if (<>4__this.Counter % 5 == 0)
					{
						<>2__current = (BattleAction)(object)new ApplyStatusEffectAction<Firepower>(((StatusEffect)<>4__this).Owner, (int?)1, (int?)null, (int?)null, (int?)null, 0.2f, false);
						<>1__state = 1;
						return true;
					}
					break;
				case 1:
					<>1__state = -1;
					break;
				}
				int counter = <>4__this.Counter;
				<>4__this.Counter = counter + 1;
				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();
			}

			[DebuggerHidden]
			IEnumerator<BattleAction> IEnumerable<BattleAction>.GetEnumerator()
			{
				<OnPlayerTurnEnding>d__2 <OnPlayerTurnEnding>d__;
				if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId)
				{
					<>1__state = 0;
					<OnPlayerTurnEnding>d__ = this;
				}
				else
				{
					<OnPlayerTurnEnding>d__ = new <OnPlayerTurnEnding>d__2(0)
					{
						<>4__this = <>4__this
					};
				}
				<OnPlayerTurnEnding>d__.args = <>3__args;
				return <OnPlayerTurnEnding>d__;
			}

			[DebuggerHidden]
			IEnumerator IEnumerable.GetEnumerator()
			{
				return ((IEnumerable<BattleAction>)this).GetEnumerator();
			}
		}

		public DummyLunacySe()
		{
			base.Counter = 1;
		}

		protected override void OnAdded(Unit unit)
		{
			((GameEntity)this).React(Reactor.op_Implicit((BattleAction)(object)new ApplyStatusEffectAction<Firepower>(((StatusEffect)this).Owner, (int?)1, (int?)null, (int?)null, (int?)null, 0.2f, false)));
			((StatusEffect)this).ReactOwnerEvent<UnitEventArgs>(((Unit)((StatusEffect)this).Battle.Player).TurnEnding, (EventSequencedReactor<UnitEventArgs>)OnPlayerTurnEnding);
		}

		[IteratorStateMachine(typeof(<OnPlayerTurnEnding>d__2))]
		private IEnumerable<BattleAction> OnPlayerTurnEnding(UnitEventArgs args)
		{
			//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
			return new <OnPlayerTurnEnding>d__2(-2)
			{
				<>4__this = this,
				<>3__args = args
			};
		}
	}
	public sealed class EmbodimentOfImpuritySeDef : StatusEffectTemplate
	{
		public override IdContainer GetId()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000b: Unknown result type (might be due to invalid IL or missing references)
			//IL_000e: Unknown result type (might be due to invalid IL or missing references)
			return IdContainer.op_Implicit("EmbodimentOfImpuritySe");
		}

		[DontOverwrite]
		public override LocalizationOption LoadLocalization()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000c: Expected O, but got Unknown
			GlobalLocalization val = new GlobalLocalization(BepinexPlugin.embeddedSource);
			val.LocalizationFiles.AddLocaleFile((Locale)0, "StatusEffectEn.yaml");
			return (LocalizationOption)(object)val;
		}

		[DontOverwrite]
		public override Sprite LoadSprite()
		{
			return ResourceLoader.LoadSprite("EmbodimentOfImpuritySe.png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
		}

		public override StatusEffectConfig MakeConfig()
		{
			//IL_0049: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Expected O, but got Unknown
			return new StatusEffectConfig(0, "", 10, (StatusEffectType)0, false, true, (int?)null, true, (StackType?)(StackType)0, false, (StackType?)(StackType)0, (DurationDecreaseTiming)0, false, (StackType?)(StackType)3, (StackType?)(StackType)3, false, (Keyword)0, (IReadOnlyList<string>)new List<string>(), (string)null, "Default", "Default", "Default");
		}
	}
	[EntityLogic(typeof(EmbodimentOfImpuritySeDef))]
	public sealed class EmbodimentOfImpuritySe : ClownStatus
	{
		[CompilerGenerated]
		private sealed class <OnManaConsumed>d__1 : IEnumerable<BattleAction>, IEnumerable, IEnumerator<BattleAction>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private BattleAction <>2__current;

			private int <>l__initialThreadId;

			private ManaEventArgs args;

			public ManaEventArgs <>3__args;

			public EmbodimentOfImpuritySe <>4__this;

			private ManaGroup <value>5__1;

			private int <num>5__2;

			BattleAction IEnumerator<BattleAction>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <OnManaConsumed>d__1(int <>1__state)
			{
				this.<>1__state = <>1__state;
				<>l__initialThreadId = Environment.CurrentManagedThreadId;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_0040: Unknown result type (might be due to invalid IL or missing references)
				//IL_0045: Unknown result type (might be due to invalid IL or missing references)
				switch (<>1__state)
				{
				default:
					return false;
				case 0:
					<>1__state = -1;
					if (((StatusEffect)<>4__this).Battle.BattleShouldEnd)
					{
						return false;
					}
					<value>5__1 = args.Value;
					if (((ManaGroup)(ref <value>5__1)).Colorless > 0)
					{
						<>4__this.<>n__0();
						<num>5__2 = ((StatusEffect)<>4__this).Level * ((ManaGroup)(ref <value>5__1)).Colorless;
						<>2__current = ((StatusEffect)<>4__this).BuffAction<Reflect>(<num>5__2, 0, 0, 0, 0.2f);
						<>1__state = 1;
						return true;
					}
					break;
				case 1:
					<>1__state = -1;
					if (((Unit)((StatusEffect)<>4__this).Battle.Player).HasStatusEffect<Reflect>())
					{
						((Unit)((StatusEffect)<>4__this).Battle.Player).GetStatusEffect<Reflect>().Gun = "JunkoLunatic";
					}
					break;
				}
				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();
			}

			[DebuggerHidden]
			IEnumerator<BattleAction> IEnumerable<BattleAction>.GetEnumerator()
			{
				<OnManaConsumed>d__1 <OnManaConsumed>d__;
				if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId)
				{
					<>1__state = 0;
					<OnManaConsumed>d__ = this;
				}
				else
				{
					<OnManaConsumed>d__ = new <OnManaConsumed>d__1(0)
					{
						<>4__this = <>4__this
					};
				}
				<OnManaConsumed>d__.args = <>3__args;
				return <OnManaConsumed>d__;
			}

			[DebuggerHidden]
			IEnumerator IEnumerable.GetEnumerator()
			{
				return ((IEnumerable<BattleAction>)this).GetEnumerator();
			}
		}

		protected override void OnAdded(Unit unit)
		{
			((StatusEffect)this).ReactOwnerEvent<ManaEventArgs>(((StatusEffect)this).Battle.ManaConsumed, (EventSequencedReactor<ManaEventArgs>)OnManaConsumed);
		}

		[IteratorStateMachine(typeof(<OnManaConsumed>d__1))]
		private IEnumerable<BattleAction> OnManaConsumed(ManaEventArgs args)
		{
			//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
			return new <OnManaConsumed>d__1(-2)
			{
				<>4__this = this,
				<>3__args = args
			};
		}

		[CompilerGenerated]
		[DebuggerHidden]
		private void <>n__0()
		{
			((StatusEffect)this).NotifyActivating();
		}
	}
	public sealed class GreaterFairyEnergyBSeDef : StatusEffectTemplate
	{
		public override IdContainer GetId()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000b: Unknown result type (might be due to invalid IL or missing references)
			//IL_000e: Unknown result type (might be due to invalid IL or missing references)
			return IdContainer.op_Implicit("GreaterFairyEnergyBSe");
		}

		[DontOverwrite]
		public override LocalizationOption LoadLocalization()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000c: Expected O, but got Unknown
			GlobalLocalization val = new GlobalLocalization(BepinexPlugin.embeddedSource);
			val.LocalizationFiles.AddLocaleFile((Locale)0, "StatusEffectEn.yaml");
			return (LocalizationOption)(object)val;
		}

		[DontOverwrite]
		public override Sprite LoadSprite()
		{
			return ResourceLoader.LoadSprite("GreaterFairyEnergyBSe.png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
		}

		public override StatusEffectConfig MakeConfig()
		{
			//IL_004d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0053: Expected O, but got Unknown
			return new StatusEffectConfig(0, "", 10, (StatusEffectType)0, false, true, (int?)null, true, (StackType?)(StackType)0, false, (StackType?)(StackType)3, (DurationDecreaseTiming)0, false, (StackType?)(StackType)0, (StackType?)(StackType)0, false, (Keyword)8388608, (IReadOnlyList<string>)new List<string>(), (string)null, "Default", "Default", "Default");
		}
	}
	[EntityLogic(typeof(GreaterFairyEnergyBSeDef))]
	public sealed class GreaterFairyEnergyBSe : ClownStatus
	{
		[CompilerGenerated]
		private sealed class <OnOwnerTurnEnded>d__1 : IEnumerable<BattleAction>, IEnumerable, IEnumerator<BattleAction>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private BattleAction <>2__current;

			private int <>l__initialThreadId;

			private UnitEventArgs args;

			public UnitEventArgs <>3__args;

			public GreaterFairyEnergyBSe <>4__this;

			private List<Card> <list>5__1;

			private int <i>5__2;

			private Card <card>5__3;

			BattleAction IEnumerator<BattleAction>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <OnOwnerTurnEnded>d__1(int <>1__state)
			{
				this.<>1__state = <>1__state;
				<>l__initialThreadId = Environment.CurrentManagedThreadId;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<list>5__1 = null;
				<card>5__3 = null;
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
				//IL_00c5: Expected O, but got Unknown
				switch (<>1__state)
				{
				default:
					return false;
				case 0:
					<>1__state = -1;
					if (((StatusEffect)<>4__this).Battle.BattleShouldEnd)
					{
						return false;
					}
					<list>5__1 = new List<Card>();
					<i>5__2 = 0;
					while (<i>5__2 < ((StatusEffect)<>4__this).Level)
					{
						<card>5__3 = (Card)(object)Library.CreateCard<BManaCard>();
						<card>5__3.IsReplenish = true;
						<list>5__1.Add(<card>5__3);
						<card>5__3 = null;
						<i>5__2++;
					}
					((StatusEffect)<>4__this).NotifyActivating();
					<>2__current = (BattleAction)new AddCardsToDiscardAction((IEnumerable<Card>)<list>5__1, (AddCardsType)0);
					<>1__state = 1;
					return true;
				case 1:
					<>1__state = -1;
					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();
			}

			[DebuggerHidden]
			IEnumerator<BattleAction> IEnumerable<BattleAction>.GetEnumerator()
			{
				<OnOwnerTurnEnded>d__1 <OnOwnerTurnEnded>d__;
				if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId)
				{
					<>1__state = 0;
					<OnOwnerTurnEnded>d__ = this;
				}
				else
				{
					<OnOwnerTurnEnded>d__ = new <OnOwnerTurnEnded>d__1(0)
					{
						<>4__this = <>4__this
					};
				}
				<OnOwnerTurnEnded>d__.args = <>3__args;
				return <OnOwnerTurnEnded>d__;
			}

			[DebuggerHidden]
			IEnumerator IEnumerable.GetEnumerator()
			{
				return ((IEnumerable<BattleAction>)this).GetEnumerator();
			}
		}

		protected override void OnAdded(Unit unit)
		{
			((StatusEffect)this).ReactOwnerEvent<UnitEventArgs>(((StatusEffect)this).Owner.TurnEnded, (EventSequencedReactor<UnitEventArgs>)OnOwnerTurnEnded);
		}

		[IteratorStateMachine(typeof(<OnOwnerTurnEnded>d__1))]
		private IEnumerable<BattleAction> OnOwnerTurnEnded(UnitEventArgs args)
		{
			//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
			return new <OnOwnerTurnEnded>d__1(-2)
			{
				<>4__this = this,
				<>3__args = args
			};
		}
	}
	public sealed class GreaterFairyEnergyPSeDef : StatusEffectTemplate
	{
		public override IdContainer GetId()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000b: Unknown result type (might be due to invalid IL or missing references)
			//IL_000e: Unknown result type (might be due to invalid IL or missing references)
			return IdContainer.op_Implicit("GreaterFairyEnergyPSe");
		}

		[DontOverwrite]
		public override LocalizationOption LoadLocalization()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000c: Expected O, but got Unknown
			GlobalLocalization val = new GlobalLocalization(BepinexPlugin.embeddedSource);
			val.LocalizationFiles.AddLocaleFile((Locale)0, "StatusEffectEn.yaml");
			return (LocalizationOption)(object)val;
		}

		[DontOverwrite]
		public override Sprite LoadSprite()
		{
			return ResourceLoader.LoadSprite("GreaterFairyEnergyPSe.png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
		}

		public override StatusEffectConfig MakeConfig()
		{
			//IL_004d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0053: Expected O, but got Unknown
			return new StatusEffectConfig(0, "", 10, (StatusEffectType)0, false, true, (int?)null, true, (StackType?)(StackType)0, false, (StackType?)(StackType)3, (DurationDecreaseTiming)0, false, (StackType?)(StackType)0, (StackType?)(StackType)0, false, (Keyword)8388608, (IReadOnlyList<string>)new List<string>(), (string)null, "Default", "Default", "Default");
		}
	}
	[EntityLogic(typeof(GreaterFairyEnergyPSeDef))]
	public sealed class GreaterFairyEnergyPSe : ClownStatus
	{
		[CompilerGenerated]
		private sealed class <OnOwnerTurnEnded>d__1 : IEnumerable<BattleAction>, IEnumerable, IEnumerator<BattleAction>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private BattleAction <>2__current;

			private int <>l__initialThreadId;

			private UnitEventArgs args;

			public UnitEventArgs <>3__args;

			public GreaterFairyEnergyPSe <>4__this;

			private List<Card> <list>5__1;

			private int <i>5__2;

			private Card <card>5__3;

			BattleAction IEnumerator<BattleAction>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <OnOwnerTurnEnded>d__1(int <>1__state)
			{
				this.<>1__state = <>1__state;
				<>l__initialThreadId = Environment.CurrentManagedThreadId;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<list>5__1 = null;
				<card>5__3 = null;
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
				//IL_00c5: Expected O, but got Unknown
				switch (<>1__state)
				{
				default:
					return false;
				case 0:
					<>1__state = -1;
					if (((StatusEffect)<>4__this).Battle.BattleShouldEnd)
					{
						return false;
					}
					<list>5__1 = new List<Card>();
					<i>5__2 = 0;
					while (<i>5__2 < ((StatusEffect)<>4__this).Level)
					{
						<card>5__3 = (Card)(object)Library.CreateCard<PManaCard>();
						<card>5__3.IsReplenish = true;
						<list>5__1.Add(<card>5__3);
						<card>5__3 = null;
						<i>5__2++;
					}
					((StatusEffect)<>4__this).NotifyActivating();
					<>2__current = (BattleAction)new AddCardsToDiscardAction((IEnumerable<Card>)<list>5__1, (AddCardsType)0);
					<>1__state = 1;
					return true;
				case 1:
					<>1__state = -1;
					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();
			}

			[DebuggerHidden]
			IEnumerator<BattleAction> IEnumerable<BattleAction>.GetEnumerator()
			{
				<OnOwnerTurnEnded>d__1 <OnOwnerTurnEnded>d__;
				if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId)
				{
					<>1__state = 0;
					<OnOwnerTurnEnded>d__ = this;
				}
				else
				{
					<OnOwnerTurnEnded>d__ = new <OnOwnerTurnEnded>d__1(0)
					{
						<>4__this = <>4__this
					};
				}
				<OnOwnerTurnEnded>d__.args = <>3__args;
				return <OnOwnerTurnEnded>d__;
			}

			[DebuggerHidden]
			IEnumerator IEnumerable.GetEnumerator()
			{
				return ((IEnumerable<BattleAction>)this).GetEnumerator();
			}
		}

		protected override void OnAdded(Unit unit)
		{
			((StatusEffect)this).ReactOwnerEvent<UnitEventArgs>(((StatusEffect)this).Owner.TurnEnded, (EventSequencedReactor<UnitEventArgs>)OnOwnerTurnEnded);
		}

		[IteratorStateMachine(typeof(<OnOwnerTurnEnded>d__1))]
		private IEnumerable<BattleAction> OnOwnerTurnEnded(UnitEventArgs args)
		{
			//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
			return new <OnOwnerTurnEnded>d__1(-2)
			{
				<>4__this = this,
				<>3__args = args
			};
		}
	}
	public sealed class LockOnTouchSeDef : StatusEffectTemplate
	{
		public override IdContainer GetId()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000b: Unknown result type (might be due to invalid IL or missing references)
			//IL_000e: Unknown result type (might be due to invalid IL or missing references)
			return IdContainer.op_Implicit("LockOnTouchSe");
		}

		[DontOverwrite]
		public override LocalizationOption LoadLocalization()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000c: Expected O, but got Unknown
			GlobalLocalization val = new GlobalLocalization(BepinexPlugin.embeddedSource);
			val.LocalizationFiles.AddLocaleFile((Locale)0, "StatusEffectEn.yaml");
			return (LocalizationOption)(object)val;
		}

		[DontOverwrite]
		public override Sprite LoadSprite()
		{
			return ResourceLoader.LoadSprite("LockOnTouchSe.png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
		}

		public override StatusEffectConfig MakeConfig()
		{
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_005f: Expected O, but got Unknown
			return new StatusEffectConfig(0, "", 10, (StatusEffectType)0, false, true, (int?)null, true, (StackType?)(StackType)0, false, (StackType?)null, (DurationDecreaseTiming)48, true, (StackType?)(StackType)0, (StackType?)(StackType)0, false, (Keyword)0, (IReadOnlyList<string>)new List<string> { "LockedOn" }, (string)null, "Default", "Default", "Default");
		}
	}
	[EntityLogic(typeof(LockOnTouchSeDef))]
	public sealed class LockOnTouchSe : ClownStatus
	{
		[CompilerGenerated]
		private sealed class <OnOwnerTurnStarted>d__2 : IEnumerable<BattleAction>, IEnumerable, IEnumerator<BattleAction>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private BattleAction <>2__current;

			private int <>l__initialThreadId;

			private UnitEventArgs args;

			public UnitEventArgs <>3__args;

			public LockOnTouchSe <>4__this;

			BattleAction IEnumerator<BattleAction>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <OnOwnerTurnStarted>d__2(int <>1__state)
			{
				this.<>1__state = <>1__state;
				<>l__initialThreadId = Environment.CurrentManagedThreadId;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_0043: Unknown result type (might be due to invalid IL or missing references)
				//IL_004d: Expected O, but got Unknown
				switch (<>1__state)
				{
				default:
					return false;
				case 0:
					<>1__state = -1;
					if (((StatusEffect)<>4__this).Battle.BattleShouldEnd)
					{
						return false;
					}
					<>2__current = (BattleAction)new RemoveStatusEffectAction((StatusEffect)(object)<>4__this, true, 0.1f);
					<>1__state = 1;
					return true;
				case 1:
					<>1__state = -1;
					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();
			}

			[DebuggerHidden]
			IEnumerator<BattleAction> IEnumerable<BattleAction>.GetEnumerator()
			{
				<OnOwnerTurnStarted>d__2 <OnOwnerTurnStarted>d__;
				if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId)
				{
					<>1__state = 0;
					<OnOwnerTurnStarted>d__ = this;
				}
				else
				{
					<OnOwnerTurnStarted>d__ = new <OnOwnerTurnStarted>d__2(0)
					{
						<>4__this = <>4__this
					};
				}
				<OnOwnerTurnStarted>d__.args = <>3__args;
				return <OnOwnerTurnStarted>d__;
			}

			[DebuggerHidden]
			IEnumerator IEnumerable.GetEnumerator()
			{
				return ((IEnumerable<BattleAction>)this).GetEnumerator();
			}
		}

		[CompilerGenerated]
		private sealed class <OnStatisticalDamageReceived>d__1 : IEnumerable<BattleAction>, IEnumerable, IEnumerator<BattleAction>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private BattleAction <>2__current;

			private int <>l__initialThreadId;

			private StatisticalDamageEventArgs args;

			public StatisticalDamageEventArgs <>3__args;

			public LockOnTouchSe <>4__this;

			private IEnumerator<KeyValuePair<Unit, IReadOnlyList<DamageEventArgs>>> <enumerator>5__1;

			private IEnumerator<KeyValuePair<Unit, IReadOnlyList<DamageEventArgs>>> <>s__2;

			private KeyValuePair<Unit, IReadOnlyList<DamageEventArgs>> <keyValuePair>5__3;

			private Unit <unit>5__4;

			private IReadOnlyList<DamageEventArgs> <readOnlyList>5__5;

			private Unit <unit2>5__6;

			private IReadOnlyList<DamageEventArgs> <source>5__7;

			private int <level>5__8;

			BattleAction IEnumerator<BattleAction>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <OnStatisticalDamageReceived>d__1(int <>1__state)
			{
				this.<>1__state = <>1__state;
				<>l__initialThreadId = Environment.CurrentManagedThreadId;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				int num = <>1__state;
				if (num == -3 || (uint)(num - 1) <= 1u)
				{
					try
					{
					}
					finally
					{
						<>m__Finally1();
					}
				}
				<enumerator>5__1 = null;
				<>s__2 = null;
				<keyValuePair>5__3 = default(KeyValuePair<Unit, IReadOnlyList<DamageEventArgs>>);
				<unit>5__4 = null;
				<readOnlyList>5__5 = null;
				<unit2>5__6 = null;
				<source>5__7 = null;
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_01fa: Unknown result type (might be due to invalid IL or missing references)
				//IL_0204: Expected O, but got Unknown
				try
				{
					switch (<>1__state)
					{
					default:
						return false;
					case 0:
						<>1__state = -1;
						if (((StatusEffect)<>4__this).Battle.BattleShouldEnd)
						{
							return false;
						}
						if (args.DamageSource == ((StatusEffect)<>4__this).Owner || !args.DamageSource.IsAlive)
						{
							break;
						}
						<>s__2 = args.ArgsTable.GetEnumerator();
						<>1__state = -3;
						goto IL_0243;
					case 1:
						<>1__state = -3;
						<level>5__8 = ((StatusEffect)<>4__this).Level - 1;
						((StatusEffect)<>4__this).Level = <level>5__8;
						if (((StatusEffect)<>4__this).Level == 0)
						{
							<>2__current = (BattleAction)new RemoveStatusEffectAction((StatusEffect)(object)<>4__this, true, 0.1f);
							<>1__state = 2;
							return true;
						}
						goto IL_021a;
					case 2:
						{
							<>1__state = -3;
							goto IL_021a;
						}
						IL_021a:
						<unit>5__4 = null;
						<readOnlyList>5__5 = null;
						<unit2>5__6 = null;
						<source>5__7 = null;
						<keyValuePair>5__3 = default(KeyValuePair<Unit, IReadOnlyList<DamageEventArgs>>);
						goto IL_0243;
						IL_0243:
						if (<>s__2.MoveNext())
						{
							<keyValuePair>5__3 = <>s__2.Current;
							<keyValuePair>5__3.Deconstruct(out <unit>5__4, out <readOnlyList>5__5);
							<unit2>5__6 = <unit>5__4;
							<source>5__7 = <readOnlyList>5__5;
							if (<unit2>5__6 == ((StatusEffect)<>4__this).Owner && <source>5__7.Any(delegate(DamageEventArgs damage)
							{
								//IL_0001: Unknown result type (might be due to invalid IL or missing references)
								//IL_0006: Unknown result type (might be due to invalid IL or missing references)
								//IL_0009: Unknown result type (might be due to invalid IL or missing references)
								//IL_000f: Invalid comparison between Unknown and I4
								DamageInfo damageInfo = damage.DamageInfo;
								return (int)((DamageInfo)(ref damageInfo)).DamageType == 2;
							}))
							{
								<>4__this.<>n__0();
								<>2__current = (BattleAction)(object)new ApplyStatusEffectAction<LockedOn>(args.DamageSource, (int?)((StatusEffect)<>4__this).Count, (int?)((StatusEffect)<>4__this).Count, (int?)((StatusEffect)<>4__this).Count, (int?)null, 0f, true);
								<>1__state = 1;
								return true;
							}
							goto IL_021a;
						}
						<>m__Finally1();
						<>s__2 = null;
						<enumerator>5__1 = null;
						<enumerator>5__1 = null;
						break;
					}
					return false;
				}
				catch
				{
					//try-fault
					((IDisposable)this).Dispose();
					throw;
				}
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			private void <>m__Finally1()
			{
				<>1__state = -1;
				if (<>s__2 != null)
				{
					<>s__2.Dispose();
				}
			}

			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw new NotSupportedException();
			}

			[DebuggerHidden]
			IEnumerator<BattleAction> IEnumerable<BattleAction>.GetEnumerator()
			{
				<OnStatisticalDamageReceived>d__1 <OnStatisticalDamageReceived>d__;
				if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId)
				{
					<>1__state = 0;
					<OnStatisticalDamageReceived>d__ = this;
				}
				else
				{
					<OnStatisticalDamageReceived>d__ = new <OnStatisticalDamageReceived>d__1(0)
					{
						<>4__this = <>4__this
					};
				}
				<OnStatisticalDamageReceived>d__.args = <>3__args;
				return <OnStatisticalDamageReceived>d__;
			}

			[DebuggerHidden]
			IEnumerator IEnumerable.GetEnumerator()
			{
				return ((IEnumerable<BattleAction>)this).GetEnumerator();
			}
		}

		protected override void OnAdded(Unit unit)
		{
			((StatusEffect)this).ReactOwnerEvent<StatisticalDamageEventArgs>(((StatusEffect)this).Owner.StatisticalTotalDamageReceived, (EventSequencedReactor<StatisticalDamageEventArgs>)OnStatisticalDamageReceived);
			((StatusEffect)this).ReactOwnerEvent<UnitEventArgs>(((StatusEffect)this).Owner.TurnStarted, (EventSequencedReactor<UnitEventArgs>)OnOwnerTurnStarted);
		}

		[IteratorStateMachine(typeof(<OnStatisticalDamageReceived>d__1))]
		private IEnumerable<BattleAction> OnStatisticalDamageReceived(StatisticalDamageEventArgs args)
		{
			//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
			return new <OnStatisticalDamageReceived>d__1(-2)
			{
				<>4__this = this,
				<>3__args = args
			};
		}

		[IteratorStateMachine(typeof(<OnOwnerTurnStarted>d__2))]
		private IEnumerable<BattleAction> OnOwnerTurnStarted(UnitEventArgs args)
		{
			//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
			return new <OnOwnerTurnStarted>d__2(-2)
			{
				<>4__this = this,
				<>3__args = args
			};
		}

		[CompilerGenerated]
		[DebuggerHidden]
		private void <>n__0()
		{
			((StatusEffect)this).NotifyActivating();
		}
	}
	public sealed class LunaticBossSeDef : StatusEffectTemplate
	{
		public override IdContainer GetId()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000b: Unknown result type (might be due to invalid IL or missing references)
			//IL_000e: Unknown result type (might be due to invalid IL or missing references)
			return IdContainer.op_Implicit("LunaticBossSe");
		}

		[DontOverwrite]
		public override LocalizationOption LoadLocalization()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000c: Expected O, but got Unknown
			GlobalLocalization val = new GlobalLocalization(BepinexPlugin.embeddedSource);
			val.LocalizationFiles.AddLocaleFile((Locale)0, "StatusEffectEn.yaml");
			return (LocalizationOption)(object)val;
		}

		[DontOverwrite]
		public override Sprite LoadSprite()
		{
			return ResourceLoader.LoadSprite("LunaticBossSe.png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
		}

		public override StatusEffectConfig MakeConfig()
		{
			//IL_0050: Unknown result type (might be due to invalid IL or missing references)
			//IL_0056: Expected O, but got Unknown
			return new StatusEffectConfig(0, "", 10, (StatusEffectType)2, false, false, (int?)null, false, (StackType?)null, false, (StackType?)null, (DurationDecreaseTiming)48, false, (StackType?)(StackType)1, (StackType?)(StackType)1, false, (Keyword)0, (IReadOnlyList<string>)new List<string>(), (string)null, "Default", "Default", "Lunatic");
		}
	}
	[EntityLogic(typeof(LunaticBossSeDef))]
	public sealed class LunaticBossSe : ClownStatus
	{
		[CompilerGenerated]
		private sealed class <OnPlayerTurnStarted>d__2 : IEnumerable<BattleAction>, IEnumerable, IEnumerator<BattleAction>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private BattleAction <>2__current;

			private int <>l__initialThreadId;

			private UnitEventArgs args;

			public UnitEventArgs <>3__args;

			public LunaticBossSe <>4__this;

			BattleAction IEnumerator<BattleAction>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <OnPlayerTurnStarted>d__2(int <>1__state)
			{
				this.<>1__state = <>1__state;
				<>l__initialThreadId = Environment.CurrentManagedThreadId;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_0027: Unknown result type (might be due to invalid IL or missing references)
				//IL_002c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0036: Expected O, but got Unknown
				switch (<>1__state)
				{
				default:
					return false;
				case 0:
					<>1__state = -1;
					<>2__current = (BattleAction)new GainManaAction(<>4__this.Mana);
					<>1__state = 1;
					return true;
				case 1:
					<>1__state = -1;
					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();
			}

			[DebuggerHidden]
			IEnumerator<BattleAction> IEnumerable<BattleAction>.GetEnumerator()
			{
				<OnPlayerTurnStarted>d__2 <OnPlayerTurnStarted>d__;
				if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId)
				{
					<>1__state = 0;
					<OnPlayerTurnStarted>d__ = this;
				}
				else
				{
					<OnPlayerTurnStarted>d__ = new <OnPlayerTurnStarted>d__2(0)
					{
						<>4__this = <>4__this
					};
				}
				<OnPlayerTurnStarted>d__.args = <>3__args;
				return <OnPlayerTurnStarted>d__;
			}

			[DebuggerHidden]
			IEnumerator IEnumerable.GetEnumerator()
			{
				return ((IEnumerable<BattleAction>)this).GetEnumerator();
			}
		}

		protected override void OnAdded(Unit unit)
		{
			//IL_0040: Unknown result type (might be due to invalid IL or missing references)
			//IL_0045: Unknown result type (might be due to invalid IL or missing references)
			ClownEnemyUnit clownEnemyUnit = (ClownEnemyUnit)(object)unit;
			if (clownEnemyUnit is BlackFairyBossDef.BlackFairyBoss)
			{
				base.Color = (ManaColor)3;
			}
			else if (clownEnemyUnit is WhiteFairyBossDef.WhiteFairyBoss)
			{
				base.Color = (ManaColor)1;
			}
			else
			{
				base.Color = (ManaColor)6;
			}
			base.Mana = ManaGroup.Single(base.Color);
			clownEnemyUnit.IsLunatic = true;
			((StatusEffect)this).ReactOwnerEvent<UnitEventArgs>(((Unit)((StatusEffect)this).Battle.Player).TurnStarted, (EventSequencedReactor<UnitEventArgs>)OnPlayerTurnStarted);
		}

		protected override void OnRemoved(Unit unit)
		{
			ClownEnemyUnit clownEnemyUnit = (ClownEnemyUnit)(object)unit;
			clownEnemyUnit.IsLunatic = false;
		}

		[IteratorStateMachine(typeof(<OnPlayerTurnStarted>d__2))]
		private IEnumerable<BattleAction> OnPlayerTurnStarted(UnitEventArgs args)
		{
			//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
			return new <OnPlayerTurnStarted>d__2(-2)
			{
				<>4__this = this,
				<>3__args = args
			};
		}
	}
	public sealed class LunaticEmbraceSeDef : StatusEffectTemplate
	{
		public override IdContainer GetId()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000b: Unknown result type (might be due to invalid IL or missing references)
			//IL_000e: Unknown result type (might be due to invalid IL or missing references)
			return IdContainer.op_Implicit("LunaticEmbraceSe");
		}

		[DontOverwrite]
		public override LocalizationOption LoadLocalization()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000c: Expected O, but got Unknown
			GlobalLocalization val = new GlobalLocalization(BepinexPlugin.embeddedSource);
			val.LocalizationFiles.AddLocaleFile((Locale)0, "StatusEffectEn.yaml");
			return (LocalizationOption)(object)val;
		}

		[DontOverwrite]
		public override Sprite LoadSprite()
		{
			return ResourceLoader.LoadSprite("LunaticEmbraceSe.png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
		}

		public override StatusEffectConfig MakeConfig()
		{
			//IL_0049: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Expected O, but got Unknown
			return new StatusEffectConfig(0, "", 10, (StatusEffectType)0, false, true, (int?)null, true, (StackType?)(StackType)0, false, (StackType?)(StackType)0, (DurationDecreaseTiming)0, false, (StackType?)(StackType)3, (StackType?)(StackType)3, false, (Keyword)0, (IReadOnlyList<string>)new List<string>(), (string)null, "Default", "Default", "Default");
		}
	}
	[EntityLogic(typeof(LunaticEmbraceSeDef))]
	public sealed class LunaticEmbraceSe : ClownStatus
	{
		[CompilerGenerated]
		private sealed class <OnPlayerTurnStarted>d__2 : IEnumerable<BattleAction>, IEnumerable, IEnumerator<BattleAction>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private BattleAction <>2__current;

			private int <>l__initialThreadId;

			private UnitEventArgs args;

			public UnitEventArgs <>3__args;

			public LunaticEmbraceSe <>4__this;

			private int <i>5__1;

			private List<Card> <list>5__2;

			private Card <card2>5__3;

			BattleAction IEnumerator<BattleAction>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <OnPlayerTurnStarted>d__2(int <>1__state)
			{
				this.<>1__state = <>1__state;
				<>l__initialThreadId = Environment.CurrentManagedThreadId;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<list>5__2 = null;
				<card2>5__3 = null;
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_00d6: Unknown result type (might be due to invalid IL or missing references)
				//IL_00ee: Unknown result type (might be due to invalid IL or missing references)
				//IL_00f8: Expected O, but got Unknown
				int num = <>1__state;
				if (num != 0)
				{
					if (num != 1)
					{
						return false;
					}
					<>1__state = -1;
					<card2>5__3 = null;
					goto IL_0110;
				}
				<>1__state = -1;
				if (((StatusEffect)<>4__this).Battle.BattleShouldEnd)
				{
					return false;
				}
				if (((StatusEffect)<>4__this).Battle.DrawZone.Count > 0)
				{
					<i>5__1 = 1;
					goto IL_012a;
				}
				goto IL_018b;
				IL_012a:
				if (<i>5__1 <= ((StatusEffect)<>4__this).Level && ((StatusEffect)<>4__this).Battle.DrawZone.Count != 0 && ((StatusEffect)<>4__this).Battle.HandZone.Count != ((StatusEffect)<>4__this).Battle.MaxHand)
				{
					<list>5__2 = ((StatusEffect)<>4__this).Battle.DrawZone.Select((Card card) => card).ToList();
					if (<list>5__2.Count > 0)
					{
						<card2>5__3 = <list>5__2[0];
						<card2>5__3.SetTurnCost(<>4__this.Mana);
						((StatusEffect)<>4__this).NotifyActivating();
						<>2__current = (BattleAction)new DrawCardAction();
						<>1__state = 1;
						return true;
					}
					goto IL_0110;
				}
				goto IL_018b;
				IL_018b:
				return false;
				IL_0110:
				<list>5__2 = null;
				<i>5__1++;
				goto IL_012a;
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw new NotSupportedException();
			}

			[DebuggerHidden]
			IEnumerator<BattleAction> IEnumerable<BattleAction>.GetEnumerator()
			{
				<OnPlayerTurnStarted>d__2 <OnPlayerTurnStarted>d__;
				if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId)
				{
					<>1__state = 0;
					<OnPlayerTurnStarted>d__ = this;
				}
				else
				{
					<OnPlayerTurnStarted>d__ = new <OnPlayerTurnStarted>d__2(0)
					{
						<>4__this = <>4__this
					};
				}
				<OnPlayerTurnStarted>d__.args = <>3__args;
				return <OnPlayerTurnStarted>d__;
			}

			[DebuggerHidden]
			IEnumerator IEnumerable.GetEnumerator()
			{
				return ((IEnumerable<BattleAction>)this).GetEnumerator();
			}
		}

		public LunaticEmbraceSe()
		{
			//IL_000b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0011: Unknown result type (might be due to invalid IL or missing references)
			base.Mana = default(ManaGroup);
		}

		protected override void OnAdded(Unit unit)
		{
			((StatusEffect)this).ReactOwnerEvent<UnitEventArgs>(((Unit)((StatusEffect)this).Battle.Player).TurnStarted, (EventSequencedReactor<UnitEventArgs>)OnPlayerTurnStarted);
		}

		[IteratorStateMachine(typeof(<OnPlayerTurnStarted>d__2))]
		private IEnumerable<BattleAction> OnPlayerTurnStarted(UnitEventArgs args)
		{
			//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
			return new <OnPlayerTurnStarted>d__2(-2)
			{
				<>4__this = this,
				<>3__args = args
			};
		}
	}
	public sealed class LunaticLightSeDef : StatusEffectTemplate
	{
		public override IdContainer GetId()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000b: Unknown result type (might be due to invalid IL or missing references)
			//IL_000e: Unknown result type (might be due to invalid IL or missing references)
			return IdContainer.op_Implicit("LunaticLightSe");
		}

		[DontOverwrite]
		public override LocalizationOption LoadLocalization()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000c: Expected O, but got Unknown
			GlobalLocalization val = new GlobalLocalization(BepinexPlugin.embeddedSource);
			val.LocalizationFiles.AddLocaleFile((Locale)0, "StatusEffectEn.yaml");
			return (LocalizationOption)(object)val;
		}

		[DontOverwrite]
		public override Sprite LoadSprite()
		{
			return ResourceLoader.LoadSprite("LunaticLightSe.png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
		}

		public override StatusEffectConfig MakeConfig()
		{
			//IL_005b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			return new StatusEffectConfig(0, "", 10, (StatusEffectType)2, false, false, (int?)null, false, (StackType?)null, false, (StackType?)null, (DurationDecreaseTiming)0, true, (StackType?)(StackType)3, (StackType?)(StackType)3, false, (Keyword)0, (IReadOnlyList<string>)new List<string> { "Firepower" }, (string)null, "Default", "Default", "Lunatic");
		}
	}
	[EntityLogic(typeof(LunaticLightSeDef))]
	public sealed class LunaticLightSe : ClownStatus
	{
		[CompilerGenerated]
		private sealed class <OnOwnerTurnStarted>d__3 : IEnumerable<BattleAction>, IEnumerable, IEnumerator<BattleAction>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private BattleAction <>2__current;

			private int <>l__initialThreadId;

			private UnitEventArgs args;

			public UnitEventArgs <>3__args;

			public LunaticLightSe <>4__this;

			BattleAction IEnumerator<BattleAction>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <OnOwnerTurnStarted>d__3(int <>1__state)
			{
				this.<>1__state = <>1__state;
				<>l__initialThreadId = Environment.CurrentManagedThreadId;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				switch (<>1__state)
				{
				default:
					return false;
				case 0:
				{
					<>1__state = -1;
					if (((StatusEffect)<>4__this).Battle.BattleShouldEnd)
					{
						return false;
					}
					int value;
					if (((StatusEffect)<>4__this).Count == 1)
					{
						((StatusEffect)<>4__this).NotifyActivating();
						value = <>4__this.Value3;
						<>4__this.Value3 = value + 1;
						<>2__current = (BattleAction)(object)new ApplyStatusEffectAction<Firepower>(((StatusEffect)<>4__this).Owner, (int?)<>4__this.Value1, (int?)null, (int?)null, (int?)null, 0.2f, false);
						<>1__state = 1;
						return true;
					}
					value = ((StatusEffect)<>4__this).Count;
					((StatusEffect)<>4__this).Count = value - 1;
					break;
				}
				case 1:
					<>1__state = -1;
					((StatusEffect)<>4__this).Count = 5;
					break;
				}
				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();
			}

			[DebuggerHidden]
			IEnumerator<BattleAction> IEnumerable<BattleAction>.GetEnumerator()
			{
				<OnOwnerTurnStarted>d__3 <OnOwnerTurnStarted>d__;
				if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId)
				{
					<>1__state = 0;
					<OnOwnerTurnStarted>d__ = this;
				}
				else
				{
					<OnOwnerTurnStarted>d__ = new <OnOwnerTurnStarted>d__3(0)
					{
						<>4__this = <>4__this
					};
				}
				<OnOwnerTurnStarted>d__.args = <>3__args;
				return <OnOwnerTurnStarted>d__;
			}

			[DebuggerHidden]
			IEnumerator IEnumerable.GetEnumerator()
			{
				return ((IEnumerable<BattleAction>)this).GetEnumerator();
			}
		}

		public LunaticLightSe()
		{
			base.Value1 = 1;
			base.Value2 = 5;
			base.Counter = 1;
		}

		protected override void OnAdded(Unit unit)
		{
			((StatusEffect)this).Count = 5;
			base.Counter = 1;
			((StatusEffect)this).NotifyActivating();
			((GameEntity)this).React(Reactor.op_Implicit((BattleAction)(object)new ApplyStatusEffectAction<Firepower>(((StatusEffect)this).Owner, (int?)base.Value1, (int?)null, (int?)null, (int?)null, 0.2f, false)));
			((StatusEffect)this).ReactOwnerEvent<UnitEventArgs>(((StatusEffect)this).Owner.TurnStarted, (EventSequencedReactor<UnitEventArgs>)OnOwnerTurnStarted);
		}

		protected override void OnRemoved(Unit unit)
		{
			if (!((StatusEffect)this).Battle.BattleShouldEnd)
			{
				((StatusEffect)this).React(Reactor.op_Implicit((BattleAction)(object)new ApplyStatusEffectAction<FirepowerNegative>(((StatusEffect)this).Owner, (int?)base.Counter, (int?)null, (int?)null, (int?)null, 0.2f, false)));
				((StatusEffect)this).Count = 5;
				base.Counter = 1;
			}
		}

		[IteratorStateMachine(typeof(<OnOwnerTurnStarted>d__3))]
		private IEnumerable<BattleAction> OnOwnerTurnStarted(UnitEventArgs args)
		{
			//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
			return new <OnOwnerTurnStarted>d__3(-2)
			{
				<>4__this = this,
				<>3__args = args
			};
		}
	}
	public sealed class LunaticTorchBossSeDef : StatusEffectTemplate
	{
		public override IdContainer GetId()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000b: Unknown result type (might be due to invalid IL or missing references)
			//IL_000e: Unknown result type (might be due to invalid IL or missing references)
			return IdContainer.op_Implicit("LunaticTorchBossSe");
		}

		[DontOverwrite]
		public override LocalizationOption LoadLocalization()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000c: Expected O, but got Unknown
			GlobalLocalization val = new GlobalLocalization(BepinexPlugin.embeddedSource);
			val.LocalizationFiles.AddLocaleFile((Locale)0, "StatusEffectEn.yaml");
			return (LocalizationOption)(object)val;
		}

		[DontOverwrite]
		public override Sprite LoadSprite()
		{
			return ResourceLoader.LoadSprite("LunaticTorchBossSe.png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
		}

		public override StatusEffectConfig MakeConfig()
		{
			//IL_0050: Unknown result type (might be due to invalid IL or missing references)
			//IL_0056: Expected O, but got Unknown
			return new StatusEffectConfig(0, "", 10, (StatusEffectType)2, false, false, (int?)null, false, (StackType?)null, false, (StackType?)null, (DurationDecreaseTiming)48, false, (StackType?)(StackType)1, (StackType?)(StackType)1, false, (Keyword)0, (IReadOnlyList<string>)new List<string>(), (string)null, "Default", "Default", "LunaticTorch");
		}
	}
	[EntityLogic(typeof(LunaticTorchBossSeDef))]
	public sealed class LunaticTorchBossSe : ClownStatus
	{
		protected override void OnAdded(Unit unit)
		{
			if (!((Unit)((StatusEffect)this).Battle.Player).HasStatusEffect<LunaticLightSe>())
			{
				((GameEntity)this).React(Reactor.op_Implicit((BattleAction)(object)new ApplyStatusEffectAction<LunaticLightSe>((Unit)(object)((StatusEffect)this).Battle.Player, (int?)1, (int?)null, (int?)null, (int?)null, 0.2f, false)));
			}
		}
	}
	public sealed class LunaticTorchSeDef : StatusEffectTemplate
	{
		public override IdContainer GetId()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000b: Unknown result type (might be due to invalid IL or missing references)
			//IL_000e: Unknown result type (might be due to invalid IL or missing references)
			return IdContainer.op_Implicit("LunaticTorchSe");
		}

		[DontOverwrite]
		public override LocalizationOption LoadLocalization()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000c: Expected O, but got Unknown
			GlobalLocalization val = new GlobalLocalization(BepinexPlugin.embeddedSource);
			val.LocalizationFiles.AddLocaleFile((Locale)0, "StatusEffectEn.yaml");
			return (LocalizationOption)(object)val;
		}

		[DontOverwrite]
		public override Sprite LoadSprite()
		{
			return ResourceLoader.LoadSprite("LunaticTorchSe.png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
		}

		public override StatusEffectConfig MakeConfig()
		{
			//IL_0055: Unknown result type (might be due to invalid IL or missing references)
			//IL_005b: Expected O, but got Unknown
			return new StatusEffectConfig(0, "", 10, (StatusEffectType)2, false, true, (int?)null, false, (StackType?)(StackType)0, false, (StackType?)(StackType)0, (DurationDecreaseTiming)0, false, (StackType?)(StackType)3, (StackType?)(StackType)3, false, (Keyword)0, (IReadOnlyList<string>)new List<string> { "LunaticLightSe" }, (string)null, "Default", "Default", "LunaticTorch");
		}
	}
	[EntityLogic(typeof(LunaticTorchSeDef))]
	public sealed class LunaticTorchSe : ClownStatus
	{
		[CompilerGenerated]
		private sealed class <OnAddCard>d__2 : IEnumerable<BattleAction>, IEnumerable, IEnumerator<BattleAction>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private BattleAction <>2__current;

			private int <>l__initialThreadId;

			private CardsEventArgs args;

			public CardsEventArgs <>3__args;

			public LunaticTorchSe <>4__this;

			private List<Card> <cards>5__1;

			private List<Card>.Enumerator <>s__2;

			private ClownCard <sourceCard>5__3;

			private Card <card>5__4;

			BattleAction IEnumerator<BattleAction>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <OnAddCard>d__2(int <>1__state)
			{
				this.<>1__state = <>1__state;
				<>l__initialThreadId = Environment.CurrentManagedThreadId;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				int num = <>1__state;
				if (num == -3 || num == 1)
				{
					try
					{
					}
					finally
					{
						<>m__Finally1();
					}
				}
				<cards>5__1 = null;
				<>s__2 = default(List<Card>.Enumerator);
				<sourceCard>5__3 = null;
				<card>5__4 = null;
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_0126: Unknown result type (might be due to invalid IL or missing references)
				//IL_0130: Expected O, but got Unknown
				try
				{
					int num = <>1__state;
					if (num != 0)
					{
						if (num != 1)
						{
							return false;
						}
						<>1__state = -3;
						<card>5__4 = null;
						<sourceCard>5__3 = null;
					}
					else
					{
						<>1__state = -1;
						if (((StatusEffect)<>4__this).Battle.BattleShouldEnd)
						{
							return false;
						}
						<cards>5__1 = (from card in ((StatusEffect)<>4__this).Battle.EnumerateAllCards()
							where card is ClownCard clownCard && clownCard.CanTransform
							select card).ToList();
						if (<cards>5__1.Count <= 0 || !((StatusEffect)<>4__this).Owner.HasStatusEffect<LunaticTorchSe>())
						{
							goto IL_0176;
						}
						<>s__2 = <cards>5__1.GetEnumerator();
						<>1__state = -3;
					}
					if (<>s__2.MoveNext())
					{
						<sourceCard>5__3 = (ClownCard)(object)<>s__2.Current;
						<card>5__4 = Library.CreateCard(<sourceCard>5__3.TransformTo, ((Card)<sourceCard>5__3).IsUpgraded);
						<card>5__4.Summoned = ((Card)<sourceCard>5__3).Summoned;
						<>2__current = (BattleAction)new TransformCardAction((Card)(object)<sourceCard>5__3, <card>5__4);
						<>1__state = 1;
						return true;
					}
					<>m__Finally1();
					<>s__2 = default(List<Card>.Enumerator);
					goto IL_0176;
					IL_0176:
					return false;
				}
				catch
				{
					//try-fault
					((IDisposable)this).Dispose();
					throw;
				}
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			private void <>m__Finally1()
			{
				<>1__state = -1;
				((IDisposable)<>s__2).Dispose();
			}

			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw new NotSupportedException();
			}

			[DebuggerHidden]
			IEnumerator<BattleAction> IEnumerable<BattleAction>.GetEnumerator()
			{
				<OnAddCard>d__2 <OnAddCard>d__;
				if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId)
				{
					<>1__state = 0;
					<OnAddCard>d__ = this;
				}
				else
				{
					<OnAddCard>d__ = new <OnAddCard>d__2(0)
					{
						<>4__this = <>4__this
					};
				}
				<OnAddCard>d__.args = <>3__args;
				return <OnAddCard>d__;
			}

			[DebuggerHidden]
			IEnumerator IEnumerable.GetEnumerator()
			{
				return ((IEnumerable<BattleAction>)this).GetEnumerator();
			}
		}

		[CompilerGenerated]
		private sealed class <OnAddCardToDraw>d__3 : IEnumerable<BattleAction>, IEnumerable, IEnumerator<BattleAction>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private BattleAction <>2__current;

			private int <>l__initialThreadId;

			private CardsAddingToDrawZoneEventArgs args;

			public CardsAddingToDrawZoneEventArgs <>3__args;

			public LunaticTorchSe <>4__this;

			private List<Card> <cards>5__1;

			private List<Card>.Enumerator <>s__2;

			private ClownCard <sourceCard>5__3;

			private Card <card>5__4;

			BattleAction IEnumerator<BattleAction>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <OnAddCardToDraw>d__3(int <>1__state)
			{
				this.<>1__state = <>1__state;
				<>l__initialThreadId = Environment.CurrentManagedThreadId;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				int num = <>1__state;
				if (num == -3 || num == 1)
				{
					try
					{
					}
					finally
					{
						<>m__Finally1();
					}
				}
				<cards>5__1 = null;
				<>s__2 = default(List<Card>.Enumerator);
				<sourceCard>5__3 = null;
				<card>5__4 = null;
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_0126: Unknown result type (might be due to invalid IL or missing references)
				//IL_0130: Expected O, but got Unknown
				try
				{
					int num = <>1__state;
					if (num != 0)
					{
						if (num != 1)
						{
							return false;
						}
						<>1__state = -3;
						<card>5__4 = null;
						<sourceCard>5__3 = null;
					}
					else
					{
						<>1__state = -1;
						if (((StatusEffect)<>4__this).Battle.BattleShouldEnd)
						{
							return false;
						}
						<cards>5__1 = (from card in ((StatusEffect)<>4__this).Battle.EnumerateAllCards()
							where card is ClownCard clownCard && clownCard.CanTransform
							select card).ToList();
						if (<cards>5__1.Count <= 0 || !((StatusEffect)<>4__this).Owner.HasStatusEffect<LunaticTorchSe>())
						{
							goto IL_0176;
						}
						<>s__2 = <cards>5__1.GetEnumerator();
						<>1__state = -3;
					}
					if (<>s__2.MoveNext())
					{
						<sourceCard>5__3 = (ClownCard)(object)<>s__2.Current;
						<card>5__4 = Library.CreateCard(<sourceCard>5__3.TransformTo, ((Card)<sourceCard>5__3).IsUpgraded);
						<card>5__4.Summoned = ((Card)<sourceCard>5__3).Summoned;
						<>2__current = (BattleAction)new TransformCardAction((Card)(object)<sourceCard>5__3, <card>5__4);
						<>1__state = 1;
						return true;
					}
					<>m__Finally1();
					<>s__2 = default(List<Card>.Enumerator);
					goto IL_0176;
					IL_0176:
					return false;
				}
				catch
				{
					//try-fault
					((IDisposable)this).Dispose();
					throw;
				}
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			private void <>m__Finally1()
			{
				<>1__state = -1;
				((IDisposable)<>s__2).Dispose();
			}

			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw new NotSupportedException();
			}

			[DebuggerHidden]
			IEnumerator<BattleAction> IEnumerable<BattleAction>.GetEnumerator()
			{
				<OnAddCardToDraw>d__3 <OnAddCardToDraw>d__;
				if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId)
				{
					<>1__state = 0;
					<OnAddCardToDraw>d__ = this;
				}
				else
				{
					<OnAddCardToDraw>d__ = new <OnAddCardToDraw>d__3(0)
					{
						<>4__this = <>4__this
					};
				}
				<OnAddCardToDraw>d__.args = <>3__args;
				return <OnAddCardToDraw>d__;
			}

			[DebuggerHidden]
			IEnumerator IEnumerable.GetEnumerator()
			{
				return ((IEnumerable<BattleAction>)this).GetEnumerator();
			}
		}

		[CompilerGenerated]
		private sealed class <OnPlayerTurnEnding>d__4 : IEnumerable<BattleAction>, IEnumerable, IEnumerator<BattleAction>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private BattleAction <>2__current;

			private int <>l__initialThreadId;

			private UnitEventArgs args;

			public UnitEventArgs <>3__args;

			public LunaticTorchSe <>4__this;

			private IEnumerator<EnemyUnit> <>s__1;

			private EnemyUnit <enemyUnit>5__2;

			BattleAction IEnumerator<BattleAction>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <OnPlayerTurnEnding>d__4(int <>1__state)
			{
				this.<>1__state = <>1__state;
				<>l__initialThreadId = Environment.CurrentManagedThreadId;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				int num = <>1__state;
				if (num == -3 || num == 1)
				{
					try
					{
					}
					finally
					{
						<>m__Finally1();
					}
				}
				<>s__1 = null;
				<enemyUnit>5__2 = null;
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				try
				{
					int num = <>1__state;
					if (num != 0)
					{
						if (num != 1)
						{
							return false;
						}
						<>1__state = -3;
						goto IL_00f5;
					}
					<>1__state = -1;
					if (((StatusEffect)<>4__this).Battle.BattleShouldEnd)
					{
						return false;
					}
					<>s__1 = ((StatusEffect)<>4__this).Battle.EnemyGroup.Alives.GetEnumerator();
					<>1__state = -3;
					goto IL_00fd;
					IL_00f5:
					<enemyUnit>5__2 = null;
					goto IL_00fd;
					IL_00fd:
					if (<>s__1.MoveNext())
					{
						<enemyUnit>5__2 = <>s__1.Current;
						if (((Unit)<enemyUnit>5__2).IsAlive && !((Unit)<enemyUnit>5__2).HasStatusEffect<LunaticLightSe>())
						{
							<>2__current = (BattleAction)(object)new ApplyStatusEffectAction<LunaticLightSe>((Unit)(object)<enemyUnit>5__2, (int?)1, (int?)null, (int?)null, (int?)null, 0.2f, false);
							<>1__state = 1;
							return true;
						}
						goto IL_00f5;
					}
					<>m__Finally1();
					<>s__1 = nul