Decompiled source of Mima v0.1.5
lvalonmima.dll
Decompiled 2 weeks ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using System.Text; using BepInEx; using BepInEx.Logging; using Cysharp.Threading.Tasks; using DG.Tweening; using DG.Tweening.Core; using DG.Tweening.Plugins.Options; using HarmonyLib; using LBoL.Base; using LBoL.Base.Extensions; using LBoL.ConfigData; using LBoL.Core; using LBoL.Core.Battle; using LBoL.Core.Battle.BattleActionRecord; using LBoL.Core.Battle.BattleActions; using LBoL.Core.Battle.Interactions; using LBoL.Core.Cards; using LBoL.Core.Randoms; using LBoL.Core.StatusEffects; using LBoL.Core.Units; using LBoL.EntityLib.Exhibits; using LBoL.EntityLib.StatusEffects.Cirno; using LBoL.EntityLib.StatusEffects.ExtraTurn; using LBoL.EntityLib.StatusEffects.Koishi; using LBoL.EntityLib.StatusEffects.Others; using LBoL.EntityLib.StatusEffects.Sakuya; using LBoL.Presentation; using LBoL.Presentation.Bullet; using LBoL.Presentation.UI.ExtraWidgets; using LBoL.Presentation.UI.Panels; using LBoL.Presentation.UI.Widgets; using LBoL.Presentation.Units; using LBoLEntitySideloader; using LBoLEntitySideloader.Attributes; using LBoLEntitySideloader.CustomKeywords; using LBoLEntitySideloader.Entities; using LBoLEntitySideloader.Resource; using LBoLEntitySideloader.Utils; using TMPro; using UnityEngine; using UnityEngine.Experimental.Rendering; using UnityEngine.UI; using lvalonmima.Cards; using lvalonmima.Cards.Template; using lvalonmima.Config; using lvalonmima.Exhibits; using lvalonmima.GunName; using lvalonmima.ImageLoader; using lvalonmima.Localization; using lvalonmima.Packs; using lvalonmima.Patches; using lvalonmima.SFX; using lvalonmima.SFX.Template; using lvalonmima.StatusEffects; using lvalonmima.lvalonmimaUlt; [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("lvalonmima")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+83e2406d220c61f76d22ef5151e5edc0e15a21f7")] [assembly: AssemblyProduct("lvalonmima")] [assembly: AssemblyTitle("lvalonmima")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace lvalonmima { [BepInPlugin("llbol.char.mima", "Mima", "0.1.5")] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInProcess("LBoL.exe")] public class BepinexPlugin : BaseUnityPlugin { [CompilerGenerated] private sealed class <FollowupPopups>d__23 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public UnitView target; public Color color; public Vector3 basePosition; public Vector2 initialOffset; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <FollowupPopups>d__23(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Expected O, but got Unknown //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Expected O, but got Unknown //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: <>1__state = -1; <>2__current = (object)new WaitForSeconds(-0.6f); <>1__state = 1; return true; case 1: <>1__state = -1; SpawnFollowup(target, color, basePosition, initialOffset * 0.6f, 2f); <>2__current = (object)new WaitForSeconds(0.6f); <>1__state = 2; return true; case 2: <>1__state = -1; SpawnFollowup(target, color, basePosition, initialOffset * 0.25f, 2f); 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 static string modUniqueID = "lvalonmima"; public static string playerName = "Mima"; public static bool useInGameModel = false; public static string modelName = "Youmu"; public static bool modelIsFlipped = true; public static List<ManaColor> offColors = new List<ManaColor> { (ManaColor)1, (ManaColor)2, (ManaColor)4 }; public static ManaGroup offColorsMana; private static readonly Harmony harmony; internal static ManualLogSource log; internal static TemplateSequenceTable sequenceTable; internal static IResourceSource embeddedSource; internal static DirectorySource directorySource; public static bool u50; public static bool u25; public static bool u10; private void Awake() { log = ((BaseUnityPlugin)this).Logger; Object.DontDestroyOnLoad((Object)(object)((Component)this).gameObject); ((Object)((Component)this).gameObject).hideFlags = (HideFlags)61; CardIndexGenerator.PromiseClearIndexSet(); EntityManager.RegisterSelf(); harmony.PatchAll(); } private void OnDestroy() { if (harmony != null) { harmony.UnpatchSelf(); } } private void Update() { //IL_00d8: 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_0111: Unknown result type (might be due to invalid IL or missing references) //IL_0116: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_0121: Unknown result type (might be due to invalid IL or missing references) //IL_0125: Unknown result type (might be due to invalid IL or missing references) //IL_012c: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) //IL_0149: Unknown result type (might be due to invalid IL or missing references) //IL_014e: Unknown result type (might be due to invalid IL or missing references) //IL_015a: Unknown result type (might be due to invalid IL or missing references) //IL_0163: Unknown result type (might be due to invalid IL or missing references) //IL_0168: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_016f: Unknown result type (might be due to invalid IL or missing references) //IL_0181: Unknown result type (might be due to invalid IL or missing references) //IL_018a: Unknown result type (might be due to invalid IL or missing references) //IL_018f: Unknown result type (might be due to invalid IL or missing references) //IL_0191: Unknown result type (might be due to invalid IL or missing references) //IL_0196: Unknown result type (might be due to invalid IL or missing references) GameMaster instance = Singleton<GameMaster>.Instance; GameRunController val = ((instance != null) ? instance.CurrentGameRun : null); if (val == null) { ResetFlags(); return; } HandleDeckCleanup(Singleton<GameMaster>.Instance); BattleController battle = val.Battle; if (battle == null) { ResetFlags(); return; } PlayerUnit player = battle.Player; int hp = ((Unit)player).Hp; if (player.GetExhibit<exmimab>() != null && hp == 0) { Random random = new Random(); if (random.Next(1, ((Unit)player).MaxHp * 100) <= ((Exhibit)player.GetExhibit<exmimab>()).Counter) { UnitView unit = GameDirector.GetUnit((Unit)(object)player); Color val2 = Color.HSVToRGB(Random.value, Random.Range(0.8f, 1f), Random.Range(0.85f, 1f)); Camera main = Camera.main; float num = (((Object)(object)main != (Object)null) ? main.orthographicSize : 5f); float num2 = Mathf.Pow(Random.value, 0.25f); Vector2 insideUnitCircle = Random.insideUnitCircle; Vector2 normalized = ((Vector2)(ref insideUnitCircle)).normalized; Vector2 val3 = normalized * num2 * num * (float)((Exhibit)player.GetExhibit<exmimab>()).Counter / (float)((Unit)player).MaxHp; PopupHud.Instance.PopupFromScene(int.MinValue, val2, ((Component)unit).transform.position + Vector2.op_Implicit(val3)); ((MonoBehaviour)PopupHud.Instance).StartCoroutine(FollowupPopups(unit, val2, ((Component)unit).transform.position, Vector2.op_Implicit(Vector2.op_Implicit(val3)))); } } int num3 = toolbox.hpfrompercent((Unit)(object)player, 50); int num4 = toolbox.hpfrompercent((Unit)(object)player, 25); int num5 = toolbox.hpfrompercent((Unit)(object)player, 10); UpdateHighlight(battle, hp < num3, ref u50, typeof(sehl50), typeof(exhl50)); UpdateHighlight(battle, hp < num4, ref u25, typeof(sehl25), typeof(exhl25)); UpdateHighlight(battle, hp < num5, ref u10, typeof(sehl10), typeof(exhl10)); } private void ResetFlags() { u50 = false; u25 = false; u10 = false; } private void HandleDeckCleanup(GameMaster gamerun2) { GameMaster instance = Singleton<GameMaster>.Instance; GameRunController val = ((instance != null) ? instance.CurrentGameRun : null); if (val == null) { return; } List<string> packs = val.Packs; string text = "packtrumpDef"; if (!packs.Contains(text.Substring(0, text.Length - 3))) { return; } RemoveDuplicates(gamerun2, "cardmimaexa"); RemoveDuplicates(gamerun2, "cardmimaexb"); if (((Unit)val.Player).MaxHp < 12 && !(((GameEntity)val.Player).Id != modUniqueID)) { if (val.Player.HasExhibit<exmimaa>() && !HasCard(gamerun2, "cardmimaexa")) { val.AddDeckCard((Card)(object)Library.CreateCard<cardmimaexa>(), false, (VisualSourceData)null); } if (val.Player.HasExhibit<exmimab>() && !HasCard(gamerun2, "cardmimaexb")) { val.AddDeckCard((Card)(object)Library.CreateCard<cardmimaexb>(), false, (VisualSourceData)null); } } } private void RemoveDuplicates(GameMaster gamerun2, string cardId) { GameMaster instance = Singleton<GameMaster>.Instance; GameRunController val = ((instance != null) ? instance.CurrentGameRun : null); if (val == null) { return; } bool flag = false; for (int num = val.BaseDeck.Count - 1; num >= 0; num--) { if (!(((GameEntity)val.BaseDeck[num]).Id != cardId)) { if (!flag) { flag = true; } else { val.RemoveDeckCard(val.BaseDeck[num], true); } } } } private bool HasCard(GameMaster gamerun2, string cardId) { GameMaster instance = Singleton<GameMaster>.Instance; GameRunController val = ((instance != null) ? instance.CurrentGameRun : null); if (val == null) { return false; } for (int i = 0; i < val.BaseDeck.Count; i++) { if (((GameEntity)val.BaseDeck[i]).Id == cardId) { return true; } } return false; } private void UpdateHighlight(BattleController battle, bool shouldBeActive, ref bool flag, Type t1, Type t2) { if (flag == shouldBeActive) { return; } flag = shouldBeActive; foreach (Unit allAliveUnit in battle.AllAliveUnits) { foreach (StatusEffect statusEffect in allAliveUnit.StatusEffects) { if ((((object)statusEffect).GetType() == t1 || ((object)statusEffect).GetType() == t2) && statusEffect.Highlight != shouldBeActive) { statusEffect.Highlight = shouldBeActive; } } } } [IteratorStateMachine(typeof(<FollowupPopups>d__23))] private static IEnumerator FollowupPopups(UnitView target, Color color, Vector3 basePosition, Vector2 initialOffset) { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <FollowupPopups>d__23(0) { target = target, color = color, basePosition = basePosition, initialOffset = initialOffset }; } private static void SpawnFollowup(UnitView target, Color color, Vector3 basePosition, Vector2 offset, float scale) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Expected O, but got Unknown //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Unknown result type (might be due to invalid IL or missing references) DamagePopup val = Object.Instantiate<DamagePopup>(PopupHud.Instance.damagePopup, ((Component)PopupHud.Instance).transform); ((Component)val).transform.localPosition = CameraController.ScenePositionToLocalPositionInRectTransform(basePosition + Vector2.op_Implicit(offset), (RectTransform)((Component)PopupHud.Instance).transform); ((TMP_Text)val.tmp).text = toolbox.gibberish(); ((Graphic)val.tmp).color = color; ((Component)val).transform.localScale = Vector3.one * scale; val.rb.linearVelocity = new Vector2(0f, 0f); val.rb.gravityScale = 0f; ((Component)val).gameObject.SetActive(true); Object.Destroy((Object)(object)((Component)val).gameObject, 0.1f); } static BepinexPlugin() { //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Expected O, but got Unknown //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Expected O, but got Unknown //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Expected O, but got Unknown ManaGroup val = default(ManaGroup); ((ManaGroup)(ref val)).White = 1; ((ManaGroup)(ref val)).Blue = 1; ((ManaGroup)(ref val)).Red = 1; offColorsMana = val; harmony = PInfo.harmony; sequenceTable = new TemplateSequenceTable(0); embeddedSource = (IResourceSource)new EmbeddedSource(Assembly.GetExecutingAssembly()); directorySource = new DirectorySource("llbol.char.mima", ""); u50 = false; u25 = false; u10 = false; } } public static class PInfo { public const string GUID = "llbol.char.mima"; public const string Name = "Mima"; public const string version = "0.1.5"; public static readonly Harmony harmony = new Harmony("llbol.char.mima"); } public class lvalonmimaLoadouts { public static string UltimateSkillA = "ultmimaa"; public static string UltimateSkillB = "ultmimab"; public static string ExhibitA = "exmimaa"; public static string ExhibitB = "exmimab"; public static int maxhp = 33; public static List<string> DeckA = new List<string> { "Shoot", "Shoot", "Shoot", "Boundary", "Boundary", "cardmimaa", "cardmimaa", "cardmimaa", "carderosion", "cardchannelling" }; public static List<string> DeckB = new List<string> { "Shoot", "Shoot", "Shoot", "Boundary", "Boundary", "cardmimab", "cardmimab", "cardmimab", "cardwheresleep", "cardoncetime" }; public static PlayerUnitConfig playerUnitConfig; static lvalonmimaLoadouts() { //IL_0154: 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_016d: Unknown result type (might be due to invalid IL or missing references) //IL_0179: Unknown result type (might be due to invalid IL or missing references) //IL_01a3: Unknown result type (might be due to invalid IL or missing references) //IL_01ad: Expected O, but got Unknown string modUniqueID = BepinexPlugin.modUniqueID; int? num = 10; int num2 = maxhp; ManaGroup val = default(ManaGroup); ((ManaGroup)(ref val)).Black = 2; ((ManaGroup)(ref val)).Green = 2; ManaGroup val2 = val; playerUnitConfig = new PlayerUnitConfig(modUniqueID, false, "", 0, int.MaxValue, num, true, (int?)null, (ManaColor)7, (ManaColor)6, val2, "#ffffff", num2, 66, 0, UltimateSkillA, UltimateSkillB, ExhibitA, ExhibitB, (IReadOnlyList<string>)DeckA, (IReadOnlyList<string>)DeckB, 6, 6); } } public sealed class lvalonmimaDef : PlayerUnitTemplate { [EntityLogic(typeof(lvalonmimaDef))] public sealed class lvalonmima : PlayerUnit { protected override void OnEnterBattle(BattleController battle) { ((Unit)this).HandleBattleEvent<StatusEffectApplyEventArgs>(((Unit)((Unit)this).Battle.Player).StatusEffectAdding, (GameEventHandler<StatusEffectApplyEventArgs>)OnSEAdding, (GameEventPriority)int.MinValue); ((Unit)this).HandleBattleEvent<StatusEffectEventArgs>(((Unit)((Unit)this).Battle.Player).StatusEffectRemoving, (GameEventHandler<StatusEffectEventArgs>)OnSERemoving, (GameEventPriority)int.MinValue); ((Unit)this).HandleBattleEvent<GameEventArgs>(((Unit)this).Battle.BattleStarting, (GameEventHandler<GameEventArgs>)OnBattleStarting, (GameEventPriority)int.MinValue); } private void OnBattleStarting(GameEventArgs args) { ((GameEntity)this).React(Reactor.op_Implicit((BattleAction)(object)new ApplyStatusEffectAction<seevilspirit>((Unit)(object)((Unit)this).Battle.Player, (int?)1, (int?)0, (int?)0, (int?)0, 0f, true))); ((GameEntity)this).React(Reactor.op_Implicit((BattleAction)(object)new ApplyStatusEffectAction<secreative>((Unit)(object)((Unit)this).Battle.Player, (int?)1, (int?)0, (int?)0, (int?)0, 0f, true))); } private void OnSEAdding(StatusEffectApplyEventArgs args) { if (args.Effect is seevilspirit || args.Effect is secreative) { ((GameEventArgs)args).CanCancel = false; } } private void OnSERemoving(StatusEffectEventArgs args) { if (args.Effect is seevilspirit || args.Effect is secreative) { ((GameEventArgs)args).CancelBy((GameEntity)(object)this); } } } public UniTask<Sprite>? LoadSpellPortraitAsync { get; private set; } 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(BepinexPlugin.modUniqueID); } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)lvalonmimaLocalization.PlayerUnitBatchLoc.AddEntity((EntityDefinition)(object)this); } public override PlayerImages LoadPlayerImages() { return lvalonmimaImageLoader.LoadPlayerImages(BepinexPlugin.playerName); } public override PlayerUnitConfig MakeConfig() { return lvalonmimaLoadouts.playerUnitConfig; } } public abstract class toolbox { [CompilerGenerated] private sealed class <EnumerateALLCardTypes>d__9 : IEnumerable<(Type, CardConfig)>, IEnumerable, IEnumerator<(Type, CardConfig)>, IEnumerator, IDisposable { private int <>1__state; private (Type, CardConfig) <>2__current; private int <>l__initialThreadId; private IEnumerator<CardConfig> <>s__1; private CardConfig <item>5__2; private Type <type2>5__3; (Type, CardConfig) IEnumerator<(Type, CardConfig)>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <EnumerateALLCardTypes>d__9(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; <item>5__2 = null; <type2>5__3 = 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_00a4; } <>1__state = -1; <>s__1 = CardConfig.AllConfig().GetEnumerator(); <>1__state = -3; goto IL_00b3; IL_00a4: <type2>5__3 = null; <item>5__2 = null; goto IL_00b3; IL_00b3: if (<>s__1.MoveNext()) { <item>5__2 = <>s__1.Current; <type2>5__3 = TypeFactory<Card>.TryGetType(<item>5__2.Id); if ((object)<type2>5__3 != null) { <>2__current = (<type2>5__3, <item>5__2); <>1__state = 1; return true; } goto IL_00a4; } <>m__Finally1(); <>s__1 = null; 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__1 != null) { <>s__1.Dispose(); } } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } [DebuggerHidden] IEnumerator<(Type, CardConfig)> IEnumerable<(Type, CardConfig)>.GetEnumerator() { if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; return this; } return new <EnumerateALLCardTypes>d__9(0); } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable<(Type, CardConfig)>)this).GetEnumerator(); } } [CompilerGenerated] private sealed class <EnumerateALLExhibitTypes>d__10 : IEnumerable<(Type, ExhibitConfig)>, IEnumerable, IEnumerator<(Type, ExhibitConfig)>, IEnumerator, IDisposable { private int <>1__state; private (Type, ExhibitConfig) <>2__current; private int <>l__initialThreadId; private IEnumerator<ExhibitConfig> <>s__1; private ExhibitConfig <item>5__2; private Type <type>5__3; (Type, ExhibitConfig) IEnumerator<(Type, ExhibitConfig)>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <EnumerateALLExhibitTypes>d__10(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; <item>5__2 = null; <type>5__3 = 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_00a4; } <>1__state = -1; <>s__1 = ExhibitConfig.AllConfig().GetEnumerator(); <>1__state = -3; goto IL_00b3; IL_00a4: <type>5__3 = null; <item>5__2 = null; goto IL_00b3; IL_00b3: if (<>s__1.MoveNext()) { <item>5__2 = <>s__1.Current; <type>5__3 = TypeFactory<Exhibit>.TryGetType(<item>5__2.Id); if ((object)<type>5__3 != null) { <>2__current = (<type>5__3, <item>5__2); <>1__state = 1; return true; } goto IL_00a4; } <>m__Finally1(); <>s__1 = null; 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__1 != null) { <>s__1.Dispose(); } } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } [DebuggerHidden] IEnumerator<(Type, ExhibitConfig)> IEnumerable<(Type, ExhibitConfig)>.GetEnumerator() { if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; return this; } return new <EnumerateALLExhibitTypes>d__10(0); } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable<(Type, ExhibitConfig)>)this).GetEnumerator(); } } public static string gibberish() { Random random = new Random(); float num = Mathf.Pow((float)random.NextDouble(), 2.5f); int num2 = Mathf.RoundToInt(Mathf.Lerp(3f, 24f, num)); StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < num2; i++) { switch (random.Next(3)) { case 0: stringBuilder.Append((char)random.Next(33, 127)); break; case 1: stringBuilder.Append((char)random.Next(8704, 8959)); break; default: stringBuilder.Append((char)random.Next(9632, 9727)); break; } } return stringBuilder.ToString(); } public static int Round(double i) { return Convert.ToInt32(Math.Round(i, MidpointRounding.AwayFromZero)); } public static int Round(float i) { return Convert.ToInt32(Math.Round(i, MidpointRounding.AwayFromZero)); } public static int hpfrompercent(Unit unit, int percent, bool maxhp = true) { if (unit == null) { return 0; } if (maxhp) { return Convert.ToInt32(Math.Round((double)unit.MaxHp * (double)percent / 100.0, MidpointRounding.AwayFromZero)); } return Convert.ToInt32(Math.Round((double)unit.Hp * (double)percent / 100.0, MidpointRounding.AwayFromZero)); } public static Card[] RollCardsCustomIgnore(RandomGen rng, CardWeightTable weightTable, int count, ManaGroup? manaLimit = null, bool colorLimit = false, bool applyFactors = false, bool battleRolling = false, bool ensureCount = false, Predicate<Card> filter = null) { GameMaster instance = Singleton<GameMaster>.Instance; GameRunController val = ((instance != null) ? instance.CurrentGameRun : null); if (val == null) { throw new InvalidOperationException("Rolling cards when run is not started."); } UniqueRandomPool<Type> val2 = val.CreateValidCardsPool(weightTable, manaLimit, colorLimit, applyFactors, battleRolling, (Predicate<CardConfig>)null); UniqueRandomPool<Card> val3 = new UniqueRandomPool<Card>(false); foreach (RandomPoolEntry<Type> item in val2) { Card val4 = Library.CreateCard(item.Elem); if (filter(val4)) { ((GameEntity)val4).GameRun = val; val3.Add(val4, item.Weight); } } return val3.SampleMany(rng, count, ensureCount); } public static Card[] RollCardsCustom(RandomGen rng, CardWeightTable weightTable, int count, ManaGroup? manaLimit = null, bool colorLimit = false, bool applyFactors = false, bool battleRolling = false, bool ensureCount = false, Predicate<Card> filter = null) { //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) GameMaster instance = Singleton<GameMaster>.Instance; GameRunController val = ((instance != null) ? instance.CurrentGameRun : null); if (val == null) { throw new InvalidOperationException("Rolling cards when run is not started."); } UniqueRandomPool<Type> val2 = val.CreateValidCardsPool(weightTable, manaLimit, colorLimit, applyFactors, battleRolling, (Predicate<CardConfig>)null); UniqueRandomPool<Card> val3 = new UniqueRandomPool<Card>(false); foreach (RandomPoolEntry<Type> item in val2) { Card val4 = Library.CreateCard(item.Elem); if (filter(val4)) { ManaGroup baseMana = val.BaseMana; if (((ManaGroup)(ref baseMana)).CanAfford(val4.Cost)) { ((GameEntity)val4).GameRun = val; val3.Add(val4, item.Weight); } } } return val3.SampleMany(rng, count, ensureCount); } public static Card[] RepeatableAllCards(RandomGen rng, CardWeightTable weightTable, int count, bool ensureCount = false, Predicate<Card> filter = null) { GameMaster instance = Singleton<GameMaster>.Instance; GameRunController val = ((instance != null) ? instance.CurrentGameRun : null); if (val == null) { throw new InvalidOperationException("Rolling cards when run is not started."); } UniqueRandomPool<Type> val2 = CreateAllCardsPool(weightTable); RepeatableRandomPool<Card> val3 = new RepeatableRandomPool<Card>(); foreach (RandomPoolEntry<Type> item in val2) { Card val4 = Library.CreateCard(item.Elem); if (filter(val4)) { ((GameEntity)val4).GameRun = val; val3.Add(val4, item.Weight); } } return val3.SampleMany(rng, count, ensureCount); } public static Card[] UniqueAllCards(RandomGen rng, CardWeightTable weightTable, int count, bool ensureCount = false, Predicate<Card> filter = null) { GameMaster instance = Singleton<GameMaster>.Instance; GameRunController val = ((instance != null) ? instance.CurrentGameRun : null); if (val == null) { throw new InvalidOperationException("Rolling cards when run is not started."); } UniqueRandomPool<Type> val2 = CreateAllCardsPool(weightTable); UniqueRandomPool<Card> val3 = new UniqueRandomPool<Card>(false); foreach (RandomPoolEntry<Type> item in val2) { Card val4 = Library.CreateCard(item.Elem); if (filter(val4)) { ((GameEntity)val4).GameRun = val; val3.Add(val4, item.Weight); } } return val3.SampleMany(rng, count, ensureCount); } public static UniqueRandomPool<Type> CreateAllCardsPool(CardWeightTable weightTable, [MaybeNull] Predicate<CardConfig> filter = null) { GameRunController currentGameRun = Singleton<GameMaster>.Instance.CurrentGameRun; HashSet<string> hashSet = new HashSet<string>(from e in currentGameRun.Player.Exhibits where e.OwnerId != null select e.OwnerId); UniqueRandomPool<Type> val = new UniqueRandomPool<Type>(false); foreach (var (type, obj) in EnumerateALLCardTypes()) { if (filter == null || filter(obj)) { val.Add(type, 1f); } } return val; } [IteratorStateMachine(typeof(<EnumerateALLCardTypes>d__9))] public static IEnumerable<(Type, CardConfig)> EnumerateALLCardTypes() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <EnumerateALLCardTypes>d__9(-2); } [IteratorStateMachine(typeof(<EnumerateALLExhibitTypes>d__10))] public static IEnumerable<(Type, ExhibitConfig)> EnumerateALLExhibitTypes() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <EnumerateALLExhibitTypes>d__10(-2); } public static UniqueRandomPool<Type> CreateAllExhibitsPool(ExhibitWeightTable weightTable, [MaybeNull] Predicate<ExhibitConfig> filter = null) { UniqueRandomPool<Type> result = new UniqueRandomPool<Type>(false); foreach (var item2 in EnumerateALLExhibitTypes()) { ExhibitConfig item = item2.Item2; if (filter != null && filter(item)) { } } return result; } public static Card createcardwithidBACKUP(string id) { UniqueRandomPool<Type> val = new UniqueRandomPool<Type>(false); foreach (var (type, val2) in EnumerateALLCardTypes()) { if (val2.Id == id) { val.Add(type, 1f); } } UniqueRandomPool<Card> val3 = new UniqueRandomPool<Card>(false); foreach (RandomPoolEntry<Type> item in val) { Card val4 = Library.CreateCard(item.Elem); val3.Add(val4, item.Weight); } return val3.Sample(RandomGen.InitGen); } public static Card createcardwithid(string id) { return TypeFactory<Card>.CreateInstance(TypeFactory<Card>.TryGetType(id)); } } } namespace lvalonmima.lvalonmimaUlt { public sealed class ultmimaaDef : lvalonmimaUltTemplate { public override UltimateSkillConfig MakeConfig() { UltimateSkillConfig defaulUltConfig = GetDefaulUltConfig(); defaulUltConfig.Value1 = 2; defaulUltConfig.Value2 = 9; defaulUltConfig.PowerCost = 120; defaulUltConfig.PowerPerLevel = 120; defaulUltConfig.Keywords = (Keyword)0; defaulUltConfig.RelativeEffects = new List<string> { "Cold", "Poison", "TimeAuraSe" }; return defaulUltConfig; } } [EntityLogic(typeof(ultmimaaDef))] public sealed class ultmimaa : 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 ultmimaa <>4__this; private int <i>5__1; private IEnumerator<Unit> <>s__2; private Unit <unit>5__3; private IEnumerator<EnemyUnit> <>s__4; private Unit <unit>5__5; 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() { switch (<>1__state) { case -3: case 2: try { } finally { <>m__Finally1(); } break; case -4: case 3: try { } finally { <>m__Finally2(); } break; } <>s__2 = null; <unit>5__3 = null; <>s__4 = null; <unit>5__5 = null; <>1__state = -2; } private bool MoveNext() { 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, "ultmimaa"); <>1__state = 1; return true; case 1: <>1__state = -1; <i>5__1 = 0; goto IL_0165; case 2: <>1__state = -3; <unit>5__3 = null; goto IL_0136; case 3: <>1__state = -4; <unit>5__5 = null; goto IL_023c; case 4: { <>1__state = -1; return false; } IL_0165: if (<i>5__1 < ((UltimateSkill)<>4__this).Value1) { <>s__2 = ((UltimateSkill)<>4__this).Battle.AllAliveUnits.GetEnumerator(); <>1__state = -3; goto IL_0136; } <>s__4 = ((UltimateSkill)<>4__this).Battle.AllAliveEnemies.GetEnumerator(); <>1__state = -4; goto IL_023c; IL_023c: while (<>s__4.MoveNext()) { <unit>5__5 = (Unit)(object)<>s__4.Current; if (!<unit>5__5.IsAlive || ((UltimateSkill)<>4__this).Battle.BattleShouldEnd) { continue; } <>2__current = (BattleAction)(object)new ApplyStatusEffectAction<Poison>(<unit>5__5, (int?)((UltimateSkill)<>4__this).Value2, (int?)0, (int?)0, (int?)0, 0f, true); <>1__state = 3; return true; } <>m__Finally2(); <>s__4 = null; if (((UltimateSkill)<>4__this).Battle.BattleShouldEnd) { return false; } <>2__current = (BattleAction)(object)new ApplyStatusEffectAction<TimeAuraSe>((Unit)(object)((UltimateSkill)<>4__this).Battle.Player, (int?)((UltimateSkill)<>4__this).Value2, (int?)0, (int?)0, (int?)0, 0f, true); <>1__state = 4; return true; IL_0136: while (<>s__2.MoveNext()) { <unit>5__3 = <>s__2.Current; if (!<unit>5__3.IsAlive || ((UltimateSkill)<>4__this).Battle.BattleShouldEnd) { continue; } <>2__current = (BattleAction)(object)new ApplyStatusEffectAction<Cold>(<unit>5__3, (int?)0, (int?)0, (int?)0, (int?)0, 0f, true); <>1__state = 2; return true; } <>m__Finally1(); <>s__2 = null; <i>5__1++; goto IL_0165; } } 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(); } } private void <>m__Finally2() { <>1__state = -1; if (<>s__4 != null) { <>s__4.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(); } } public ultmimaa() { ((UltimateSkill)this).TargetType = (TargetType)2; } [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 sealed class ultmimabDef : lvalonmimaUltTemplate { public override UltimateSkillConfig MakeConfig() { UltimateSkillConfig defaulUltConfig = GetDefaulUltConfig(); defaulUltConfig.Keywords = (Keyword)0; defaulUltConfig.PowerCost = 150; defaulUltConfig.PowerPerLevel = 150; defaulUltConfig.Value1 = 0; return defaulUltConfig; } } [EntityLogic(typeof(ultmimabDef))] public sealed class ultmimab : 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 ultmimab <>4__this; private bool <gohard>5__1; private int <diff>5__2; 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_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Expected O, but got Unknown //IL_014d: Unknown result type (might be due to invalid IL or missing references) //IL_0158: Unknown result type (might be due to invalid IL or missing references) //IL_0162: 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, "ultmimab"); <>1__state = 1; return true; case 1: <>1__state = -1; <gohard>5__1 = ((Unit)((UltimateSkill)<>4__this).Battle.Player).Hp == 0; <diff>5__2 = ((Unit)((UltimateSkill)<>4__this).Battle.Player).Hp; <>2__current = (BattleAction)new DamageAction((Unit)(object)((UltimateSkill)<>4__this).Battle.Player, (Unit)(object)((UltimateSkill)<>4__this).Battle.Player, DamageInfo.HpLose((float)<diff>5__2, false), "Sacrifice", (GunType)0); <>1__state = 2; return true; case 2: <>1__state = -1; if (((UltimateSkill)<>4__this).Battle.BattleShouldEnd) { return false; } <>2__current = (BattleAction)new DamageAction((Unit)(object)((UltimateSkill)<>4__this).Battle.Player, (IEnumerable<Unit>)((UltimateSkill)<>4__this).Battle.AllAliveEnemies, DamageInfo.HpLose((float)(<gohard>5__1 ? ((Unit)((UltimateSkill)<>4__this).Battle.Player).MaxHp : <diff>5__2), false), "Instant", (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 ultmimab() { ((UltimateSkill)this).TargetType = (TargetType)2; } [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 class lvalonmimaUltTemplate : UltimateSkillTemplate { public override IdContainer GetId() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) return IdContainer.op_Implicit(lvalonmimaDefaultConfig.DefaultID((EntityDefinition)(object)this)); } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)lvalonmimaLocalization.UltimateSkillsBatchLoc.AddEntity((EntityDefinition)(object)this); } public override Sprite LoadSprite() { return lvalonmimaImageLoader.LoadUltLoader((UltimateSkillTemplate)(object)this); } public override UltimateSkillConfig MakeConfig() { throw new NotImplementedException(); } public UltimateSkillConfig GetDefaulUltConfig() { return lvalonmimaDefaultConfig.DefaultUltConfig(); } } } namespace lvalonmima.StatusEffects { public sealed class seabyssDef : lvalonmimaStatusEffectTemplate { public override StatusEffectConfig MakeConfig() { StatusEffectConfig defaultStatusEffectConfig = lvalonmimaStatusEffectTemplate.GetDefaultStatusEffectConfig(); defaultStatusEffectConfig.Keywords = (Keyword)549772591104L; defaultStatusEffectConfig.Type = (StatusEffectType)0; return defaultStatusEffectConfig; } } [EntityLogic(typeof(seabyssDef))] public sealed class seabyss : StatusEffect { [CompilerGenerated] private sealed class <>c__DisplayClass5_0 { public int level; public Func<Card, bool> <>9__0; internal bool <FirstGain>b__0(Card card) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Invalid comparison between Unknown and I4 return (int)card.Zone == 2 && (card.IsPurified || level > 1) && !card.IsXCost; } } [CompilerGenerated] private sealed class <>c__DisplayClass6_0 { public int level; public Func<Card, bool> <>9__0; internal bool <StackGain>b__0(Card card) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Invalid comparison between Unknown and I4 return (int)card.Zone == 2 && (card.IsPurified || level > 1) && !card.IsXCost; } } [CompilerGenerated] private sealed class <FirstGain>d__5 : IEnumerable<BattleAction>, IEnumerable, IEnumerator<BattleAction>, IEnumerator, IDisposable { private int <>1__state; private BattleAction <>2__current; private int <>l__initialThreadId; private int level; public int <>3__level; public seabyss <>4__this; private <>c__DisplayClass5_0 <>8__1; private IEnumerator<Card> <>s__2; private Card <card>5__3; private IEnumerator<Card> <>s__4; private Card <card>5__5; BattleAction IEnumerator<BattleAction>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <FirstGain>d__5(int <>1__state) { this.<>1__state = <>1__state; <>l__initialThreadId = Environment.CurrentManagedThreadId; } [DebuggerHidden] void IDisposable.Dispose() { <>8__1 = null; <>s__2 = null; <card>5__3 = null; <>s__4 = null; <card>5__5 = null; <>1__state = -2; } private bool MoveNext() { //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Expected O, but got Unknown //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: <>1__state = -1; <>8__1 = new <>c__DisplayClass5_0(); <>8__1.level = level; ((StatusEffect)<>4__this).NotifyActivating(); <>2__current = (BattleAction)new GainManaAction(<>4__this.Mana * <>8__1.level); <>1__state = 1; return true; case 1: <>1__state = -1; <>s__2 = (from card in ((StatusEffect)<>4__this).Battle.EnumerateAllCards() where (int)card.Zone == 2 && (card.IsPurified || <>8__1.level > 1) && !card.IsXCost select card).GetEnumerator(); try { while (<>s__2.MoveNext()) { <card>5__3 = <>s__2.Current; <card>5__3.BaseCost = default(ManaGroup); <card>5__3 = null; } } finally { if (<>s__2 != null) { <>s__2.Dispose(); } } <>s__2 = null; <>s__4 = (from card in ((StatusEffect)<>4__this).Battle.EnumerateAllCards() where (int)card.Zone == 2 && !card.IsPurified && !card.IsXCost select card).GetEnumerator(); try { while (<>s__4.MoveNext()) { <card>5__5 = <>s__4.Current; ((GameEntity)<card>5__5).NotifyChanged(); <card>5__5.IsPurified = true; <card>5__5 = null; } } finally { if (<>s__4 != null) { <>s__4.Dispose(); } } <>s__4 = null; 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() { <FirstGain>d__5 <FirstGain>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <FirstGain>d__ = this; } else { <FirstGain>d__ = new <FirstGain>d__5(0) { <>4__this = <>4__this }; } <FirstGain>d__.level = <>3__level; return <FirstGain>d__; } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable<BattleAction>)this).GetEnumerator(); } } [CompilerGenerated] private sealed class <OnTurnEnded>d__7 : 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 seabyss <>4__this; BattleAction IEnumerator<BattleAction>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <OnTurnEnded>d__7(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).Level <= 1) { <>2__current = (BattleAction)new RemoveStatusEffectAction((StatusEffect)(object)<>4__this, true, 0.1f); <>1__state = 1; return true; } int level = ((StatusEffect)<>4__this).Level; ((StatusEffect)<>4__this).Level = level - 1; break; } case 1: <>1__state = -1; 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() { <OnTurnEnded>d__7 <OnTurnEnded>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <OnTurnEnded>d__ = this; } else { <OnTurnEnded>d__ = new <OnTurnEnded>d__7(0) { <>4__this = <>4__this }; } <OnTurnEnded>d__.args = <>3__args; return <OnTurnEnded>d__; } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable<BattleAction>)this).GetEnumerator(); } } [CompilerGenerated] private sealed class <OnTurnStarted>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 seabyss <>4__this; private IEnumerator<Card> <>s__1; private Card <card>5__2; private IEnumerator<Card> <>s__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 <OnTurnStarted>d__3(int <>1__state) { this.<>1__state = <>1__state; <>l__initialThreadId = Environment.CurrentManagedThreadId; } [DebuggerHidden] void IDisposable.Dispose() { <>s__1 = null; <card>5__2 = null; <>s__3 = null; <card>5__4 = null; <>1__state = -2; } private bool MoveNext() { //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Expected O, but got Unknown //IL_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: <>1__state = -1; ((StatusEffect)<>4__this).NotifyActivating(); <>2__current = (BattleAction)new GainManaAction(<>4__this.Mana); <>1__state = 1; return true; case 1: <>1__state = -1; <>s__1 = (from card in ((StatusEffect)<>4__this).Battle.EnumerateAllCards() where (int)card.Zone == 2 && card.IsPurified && !card.IsXCost select card).GetEnumerator(); try { while (<>s__1.MoveNext()) { <card>5__2 = <>s__1.Current; <card>5__2.BaseCost = default(ManaGroup); <card>5__2 = null; } } finally { if (<>s__1 != null) { <>s__1.Dispose(); } } <>s__1 = null; <>s__3 = (from card in ((StatusEffect)<>4__this).Battle.EnumerateAllCards() where (int)card.Zone == 2 && !card.IsPurified && !card.IsXCost select card).GetEnumerator(); try { while (<>s__3.MoveNext()) { <card>5__4 = <>s__3.Current; ((GameEntity)<card>5__4).NotifyChanged(); <card>5__4.IsPurified = true; <card>5__4 = null; } } finally { if (<>s__3 != null) { <>s__3.Dispose(); } } <>s__3 = null; 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() { <OnTurnStarted>d__3 <OnTurnStarted>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <OnTurnStarted>d__ = this; } else { <OnTurnStarted>d__ = new <OnTurnStarted>d__3(0) { <>4__this = <>4__this }; } <OnTurnStarted>d__.args = <>3__args; return <OnTurnStarted>d__; } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable<BattleAction>)this).GetEnumerator(); } } [CompilerGenerated] private sealed class <StackGain>d__6 : IEnumerable<BattleAction>, IEnumerable, IEnumerator<BattleAction>, IEnumerator, IDisposable { private int <>1__state; private BattleAction <>2__current; private int <>l__initialThreadId; private int level; public int <>3__level; public seabyss <>4__this; private <>c__DisplayClass6_0 <>8__1; private IEnumerator<Card> <>s__2; private Card <card>5__3; private IEnumerator<Card> <>s__4; private Card <card>5__5; BattleAction IEnumerator<BattleAction>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <StackGain>d__6(int <>1__state) { this.<>1__state = <>1__state; <>l__initialThreadId = Environment.CurrentManagedThreadId; } [DebuggerHidden] void IDisposable.Dispose() { <>8__1 = null; <>s__2 = null; <card>5__3 = null; <>s__4 = null; <card>5__5 = null; <>1__state = -2; } private bool MoveNext() { //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Expected O, but got Unknown //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: <>1__state = -1; <>8__1 = new <>c__DisplayClass6_0(); <>8__1.level = level; ((StatusEffect)<>4__this).NotifyActivating(); <>2__current = (BattleAction)new GainManaAction(<>4__this.Mana * <>8__1.level); <>1__state = 1; return true; case 1: <>1__state = -1; <>s__2 = (from card in ((StatusEffect)<>4__this).Battle.EnumerateAllCards() where (int)card.Zone == 2 && (card.IsPurified || <>8__1.level > 1) && !card.IsXCost select card).GetEnumerator(); try { while (<>s__2.MoveNext()) { <card>5__3 = <>s__2.Current; <card>5__3.BaseCost = default(ManaGroup); <card>5__3 = null; } } finally { if (<>s__2 != null) { <>s__2.Dispose(); } } <>s__2 = null; <>s__4 = (from card in ((StatusEffect)<>4__this).Battle.EnumerateAllCards() where (int)card.Zone == 2 && !card.IsPurified && !card.IsXCost select card).GetEnumerator(); try { while (<>s__4.MoveNext()) { <card>5__5 = <>s__4.Current; ((GameEntity)<card>5__5).NotifyChanged(); <card>5__5.IsPurified = true; <card>5__5 = null; } } finally { if (<>s__4 != null) { <>s__4.Dispose(); } } <>s__4 = null; 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() { <StackGain>d__6 <StackGain>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <StackGain>d__ = this; } else { <StackGain>d__ = new <StackGain>d__6(0) { <>4__this = <>4__this }; } <StackGain>d__.level = <>3__level; return <StackGain>d__; } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable<BattleAction>)this).GetEnumerator(); } } public ManaGroup Mana { get { //IL_0002: 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) ManaGroup result = default(ManaGroup); ((ManaGroup)(ref result)).Colorless = 2; return result; } } protected override void OnAdded(Unit unit) { ((StatusEffect)this).Highlight = true; ((StatusEffect)this).ReactOwnerEvent<UnitEventArgs>(((Unit)((StatusEffect)this).Battle.Player).TurnEnded, (EventSequencedReactor<UnitEventArgs>)OnTurnEnded); ((StatusEffect)this).ReactOwnerEvent<UnitEventArgs>(((Unit)((StatusEffect)this).Battle.Player).TurnStarted, (EventSequencedReactor<UnitEventArgs>)OnTurnStarted); ((GameEntity)this).React(FirstGain(((StatusEffect)this).Level)); } [IteratorStateMachine(typeof(<OnTurnStarted>d__3))] private IEnumerable<BattleAction> OnTurnStarted(UnitEventArgs args) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <OnTurnStarted>d__3(-2) { <>4__this = this, <>3__args = args }; } public override bool Stack(StatusEffect other) { bool flag = ((StatusEffect)this).Stack(other); if (flag) { ((GameEntity)this).React(StackGain(other.Level)); } return flag; } [IteratorStateMachine(typeof(<FirstGain>d__5))] public IEnumerable<BattleAction> FirstGain(int level = 1) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <FirstGain>d__5(-2) { <>4__this = this, <>3__level = level }; } [IteratorStateMachine(typeof(<StackGain>d__6))] public IEnumerable<BattleAction> StackGain(int level = 1) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <StackGain>d__6(-2) { <>4__this = this, <>3__level = level }; } [IteratorStateMachine(typeof(<OnTurnEnded>d__7))] private IEnumerable<BattleAction> OnTurnEnded(UnitEventArgs args) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <OnTurnEnded>d__7(-2) { <>4__this = this, <>3__args = args }; } } public sealed class seabyssdwellerDef : lvalonmimaStatusEffectTemplate { public override StatusEffectConfig MakeConfig() { StatusEffectConfig defaultStatusEffectConfig = lvalonmimaStatusEffectTemplate.GetDefaultStatusEffectConfig(); defaultStatusEffectConfig.Type = (StatusEffectType)2; return defaultStatusEffectConfig; } } [EntityLogic(typeof(seabyssdwellerDef))] public sealed class seabyssdweller : StatusEffect { [CompilerGenerated] private sealed class <OnCardExiled>d__1 : IEnumerable<BattleAction>, IEnumerable, IEnumerator<BattleAction>, IEnumerator, IDisposable { private int <>1__state; private BattleAction <>2__current; private int <>l__initialThreadId; private CardEventArgs args; public CardEventArgs <>3__args; public seabyssdweller <>4__this; BattleAction IEnumerator<BattleAction>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <OnCardExiled>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_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; <>2__current = (BattleAction)new MoveCardAction(args.Card, (CardZone)3); <>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() { <OnCardExiled>d__1 <OnCardExiled>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <OnCardExiled>d__ = this; } else { <OnCardExiled>d__ = new <OnCardExiled>d__1(0) { <>4__this = <>4__this }; } <OnCardExiled>d__.args = <>3__args; return <OnCardExiled>d__; } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable<BattleAction>)this).GetEnumerator(); } } [CompilerGenerated] private sealed class <OnTurnEnded>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 seabyssdweller <>4__this; BattleAction IEnumerator<BattleAction>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <OnTurnEnded>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).Level <= 1) { <>2__current = (BattleAction)new RemoveStatusEffectAction((StatusEffect)(object)<>4__this, true, 0.1f); <>1__state = 1; return true; } int level = ((StatusEffect)<>4__this).Level; ((StatusEffect)<>4__this).Level = level - 1; break; } case 1: <>1__state = -1; 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() { <OnTurnEnded>d__2 <OnTurnEnded>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <OnTurnEnded>d__ = this; } else { <OnTurnEnded>d__ = new <OnTurnEnded>d__2(0) { <>4__this = <>4__this }; } <OnTurnEnded>d__.args = <>3__args; return <OnTurnEnded>d__; } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable<BattleAction>)this).GetEnumerator(); } } protected override void OnAdded(Unit unit) { ((StatusEffect)this).ReactOwnerEvent<UnitEventArgs>(((Unit)((StatusEffect)this).Battle.Player).TurnEnded, (EventSequencedReactor<UnitEventArgs>)OnTurnEnded); ((StatusEffect)this).ReactOwnerEvent<CardEventArgs>(((StatusEffect)this).Battle.CardExiled, (EventSequencedReactor<CardEventArgs>)OnCardExiled); } [IteratorStateMachine(typeof(<OnCardExiled>d__1))] private IEnumerable<BattleAction> OnCardExiled(CardEventArgs args) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <OnCardExiled>d__1(-2) { <>4__this = this, <>3__args = args }; } [IteratorStateMachine(typeof(<OnTurnEnded>d__2))] private IEnumerable<BattleAction> OnTurnEnded(UnitEventArgs args) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <OnTurnEnded>d__2(-2) { <>4__this = this, <>3__args = args }; } } public sealed class seaccumulateDef : lvalonmimaStatusEffectTemplate { public override StatusEffectConfig MakeConfig() { StatusEffectConfig defaultStatusEffectConfig = lvalonmimaStatusEffectTemplate.GetDefaultStatusEffectConfig(); defaultStatusEffectConfig.Type = (StatusEffectType)2; defaultStatusEffectConfig.Keywords = (Keyword)17729624997888L; defaultStatusEffectConfig.HasCount = true; defaultStatusEffectConfig.CountStackType = (StackType)0; defaultStatusEffectConfig.RelativeEffects = new List<string> { "seunder" }; return defaultStatusEffectConfig; } } [EntityLogic(typeof(seaccumulateDef))] public sealed class seaccumulate : sehl25 { [CompilerGenerated] private sealed class <OnBattleEnding>d__3 : IEnumerable<BattleAction>, IEnumerable, IEnumerator<BattleAction>, IEnumerator, IDisposable { private int <>1__state; private BattleAction <>2__current; private int <>l__initialThreadId; private GameEventArgs args; public GameEventArgs <>3__args; public seaccumulate <>4__this; BattleAction IEnumerator<BattleAction>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <OnBattleEnding>d__3(int <>1__state) { this.<>1__state = <>1__state; <>l__initialThreadId = Environment.CurrentManagedThreadId; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; ((StatusEffect)<>4__this).NotifyActivating(); <>2__current = (BattleAction)new GainMoneyAction(((StatusEffect)<>4__this).Count, (SpecialSourceType)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() { <OnBattleEnding>d__3 <OnBattleEnding>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <OnBattleEnding>d__ = this; } else { <OnBattleEnding>d__ = new <OnBattleEnding>d__3(0) { <>4__this = <>4__this }; } <OnBattleEnding>d__.args = <>3__args; return <OnBattleEnding>d__; } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable<BattleAction>)this).GetEnumerator(); } } [CompilerGenerated] private sealed class <OnTurnStarted>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 seaccumulate <>4__this; BattleAction IEnumerator<BattleAction>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <OnTurnStarted>d__4(int <>1__state) { this.<>1__state = <>1__state; <>l__initialThreadId = Environment.CurrentManagedThreadId; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Expected O, but got Unknown //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_010b: Unknown result type (might be due to invalid IL or missing references) //IL_0115: Expected O, but got Unknown //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Expected O, but got Unknown //IL_00cb: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: <>1__state = -1; ((StatusEffect)<>4__this).NotifyActivating(); <>2__current = (BattleAction)new GainManaAction(<>4__this.Mana); <>1__state = 1; return true; case 1: <>1__state = -1; if (!BepinexPlugin.u25) { <>2__current = (BattleAction)new LockRandomTurnManaAction(((StatusEffect)<>4__this).Level); <>1__state = 2; return true; } goto IL_00f7; case 2: { <>1__state = -1; ManaGroup battleMana = ((StatusEffect)<>4__this).Battle.BattleMana; if (((ManaGroup)(ref battleMana)).HasTrivial) { <>2__current = (BattleAction)(object)ConvertManaAction.Purify(((StatusEffect)<>4__this).Battle.BattleMana, ((StatusEffect)<>4__this).Level); <>1__state = 3; return true; } goto IL_00f7; } case 3: <>1__state = -1; goto IL_00f7; case 4: { <>1__state = -1; return false; } IL_00f7: <>2__current = (BattleAction)new AddCardsToDrawZoneAction((IEnumerable<Card>)Library.CreateCards<cardpurediamond>(((StatusEffect)<>4__this).Level, false), (DrawZoneTarget)2, (AddCardsType)0); <>1__state = 4; return true; } } 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() { <OnTurnStarted>d__4 <OnTurnStarted>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <OnTurnStarted>d__ = this; } else { <OnTurnStarted>d__ = new <OnTurnStarted>d__4(0) { <>4__this = <>4__this }; } <OnTurnStarted>d__.args = <>3__args; return <OnTurnStarted>d__; } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable<BattleAction>)this).GetEnumerator(); } } public ManaGroup Mana { get { //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) if (((StatusEffect)this).Owner == null) { return ManaGroup.Whites(1) + ManaGroup.Greens(1); } return ManaGroup.Whites(((StatusEffect)this).Level) + ManaGroup.Greens(((StatusEffect)this).Level); } } protected override void OnAdded(Unit unit) { ((StatusEffect)this).ReactOwnerEvent<UnitEventArgs>(((Unit)((StatusEffect)this).Battle.Player).TurnStarted, (EventSequencedReactor<UnitEventArgs>)OnTurnStarted); ((StatusEffect)this).ReactOwnerEvent<GameEventArgs>(((StatusEffect)this).Battle.BattleEnding, (EventSequencedReactor<GameEventArgs>)OnBattleEnding); } [IteratorStateMachine(typeof(<OnBattleEnding>d__3))] private IEnumerable<BattleAction> OnBattleEnding(GameEventArgs args) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <OnBattleEnding>d__3(-2) { <>4__this = this, <>3__args = args }; } [IteratorStateMachine(typeof(<OnTurnStarted>d__4))] private IEnumerable<BattleAction> OnTurnStarted(UnitEventArgs args) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <OnTurnStarted>d__4(-2) { <>4__this = this, <>3__args = args }; } } public sealed class sealgophobiaDef : lvalonmimaStatusEffectTemplate { public override StatusEffectConfig MakeConfig() { StatusEffectConfig defaultStatusEffectConfig = lvalonmimaStatusEffectTemplate.GetDefaultStatusEffectConfig(); defaultStatusEffectConfig.Type = (StatusEffectType)2; return defaultStatusEffectConfig; } } [EntityLogic(typeof(sealgophobiaDef))] public sealed class sealgophobia : StatusEffect { [CompilerGenerated] private sealed class <OnDmgReceived>d__1 : IEnumerable<BattleAction>, IEnumerable, IEnumerator<BattleAction>, IEnumerator, IDisposable { private int <>1__state; private BattleAction <>2__current; private int <>l__initialThreadId; private DamageEventArgs args; public DamageEventArgs <>3__args; public sealgophobia <>4__this; BattleAction IEnumerator<BattleAction>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <OnDmgReceived>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_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: { <>1__state = -1; DamageInfo damageInfo = args.DamageInfo; if (((DamageInfo)(ref damageInfo)).Amount > 0f && ((GameEventArgs)args).ActionSource != <>4__this) { ((StatusEffect)<>4__this).NotifyActivating(); <>2__current = (BattleAction)new DamageAction((Unit)(object)((StatusEffect)<>4__this).Battle.Player, (IEnumerable<Unit>)new List<Unit> { (Unit)(object)((StatusEffect)<>4__this).Battle.Player }, DamageInfo.HpLose((float)((StatusEffect)<>4__this).Level, false), "Instant", (GunType)0); <>1__state = 1; return true; } break; } case 1: <>1__state = -1; 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() { <OnDmgReceived>d__1 <OnDmgReceived>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <OnDmgReceived>d__ = this; } else { <OnDmgReceived>d__ = new <OnDmgReceived>d__1(0) { <>4__this = <>4__this }; } <OnDmgReceived>d__.args = <>3__args; return <OnDmgReceived>d__; } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable<BattleAction>)this).GetEnumerator(); } } protected override void OnAdded(Unit unit) { ((StatusEffect)this).ReactOwnerEvent<DamageEventArgs>(((Unit)((StatusEffect)this).Battle.Player).DamageReceived, (EventSequencedReactor<DamageEventArgs>)OnDmgReceived); } [IteratorStateMachine(typeof(<OnDmgReceived>d__1))] private IEnumerable<BattleAction> OnDmgReceived(DamageEventArgs args) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <OnDmgReceived>d__1(-2) { <>4__this = this, <>3__args = args }; } } public sealed class sealgophobia2Def : lvalonmimaStatusEffectTemplate { public override StatusEffectConfig MakeConfig() { StatusEffectConfig defaultStatusEffectConfig = lvalonmimaStatusEffectTemplate.GetDefaultStatusEffectConfig(); defaultStatusEffectConfig.Type = (StatusEffectType)2; defaultStatusEffectConfig.RelativeEffects = new List<string> { "Poison" }; return defaultStatusEffectConfig; } } [EntityLogic(typeof(sealgophobia2Def))] public sealed class sealgophobia2 : StatusEffect { [CompilerGenerated] private sealed class <OnDmgReceived>d__1 : IEnumerable<BattleAction>, IEnumerable, IEnumerator<BattleAction>, IEnumerator, IDisposable { private int <>1__state; private BattleAction <>2__current; private int <>l__initialThreadId; private DamageEventArgs args; public DamageEventArgs <>3__args; public sealgophobia2 <>4__this; private IEnumerator<EnemyUnit> <>s__1; private Unit <unit>5__2; BattleAction IEnumerator<BattleAction>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <OnDmgReceived>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 || num == 1) { try { } finally { <>m__Finally1(); } } <>s__1 = null; <unit>5__2 = null; <>1__state = -2; } private bool MoveNext() { //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) try { int num = <>1__state; if (num != 0) { if (num != 1) { return false; } <>1__state = -3; <unit>5__2 = null; } else { <>1__state = -1; DamageInfo damageInfo = args.DamageInfo; if (!(((DamageInfo)(ref damageInfo)).Amount > 0f)) { goto IL_012d; } ((StatusEffect)<>4__this).NotifyActivating(); <>s__1 = ((StatusEffect)<>4__this).Battle.AllAliveEnemies.GetEnumerator(); <>1__state = -3; } while (<>s__1.MoveNext()) { <unit>5__2 = (Unit)(object)<>s__1.Current; if (!<unit>5__2.IsAlive || ((StatusEffect)<>4__this).Battle.BattleShouldEnd) { continue; } <>2__current = (BattleAction)(object)new ApplyStatusEffectAction<Poison>(<unit>5__2, (int?)((StatusEffect)<>4__this).Level, (int?)0, (int?)0, (int?)0, 0f, true); <>1__state = 1; return true; } <>m__Finally1(); <>s__1 = null; goto IL_012d; IL_012d: 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__1 != null) { <>s__1.Dispose(); } } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } [DebuggerHidden] IEnumerator<BattleAction> IEnumerable<BattleAction>.GetEnumerator() { <OnDmgReceived>d__1 <OnDmgReceived>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <OnDmgReceived>d__ = this; } else { <OnDmgReceived>d__ = new <OnDmgReceived>d__1(0) { <>4__this = <>4__this }; } <OnDmgReceived>d__.args = <>3__args; return <OnDmgReceived>d__; } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable<BattleAction>)this).GetEnumerator(); } } protected override void OnAdded(Unit unit) { ((StatusEffect)this).ReactOwnerEvent<DamageEventArgs>(((Unit)((StatusEffect)this).Battle.Player).DamageReceived, (EventSequencedReactor<DamageEventArgs>)OnDmgReceived); } [IteratorStateMachine(typeof(<OnDmgReceived>d__1))] private IEnumerable<BattleAction> OnDmgReceived(DamageEventArgs args) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <OnDmgReceived>d__1(-2) { <>4__this = this, <>3__args = args }; } } public sealed class sebackgroundDef : lvalonmimaStatusEffectTemplate { public override StatusEffectConfig MakeConfig() { StatusEffectConfig defaultStatusEffectConfig = lvalonmimaStatusEffectTemplate.GetDefaultStatusEffectConfig(); defaultStatusEffectConfig.Type = (StatusEffectType)2; defaultStatusEffectConfig.RelativeEffects = new List<string> { "Poison" }; return defaultStatusEffectConfig; } } [EntityLogic(typeof(sebackgroundDef))] public sealed class sebackground : StatusEffect { [CompilerGenerated] private sealed class <OnDamageDealt>d__1 : IEnumerable<BattleAction>, IEnumerable, IEnumerator<BattleAction>, IEnumerator, IDisposable { private int <>1__state; private BattleAction <>2__current; private int <>l__initialThreadId; private DamageEventArgs args; public DamageEventArgs <>3__args; public sebackground <>4__this; private DamageInfo <damageInfo>5__1; BattleAction IEnumerator<BattleAction>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <OnDamageDealt>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_0120: Unknown result type (might be due to invalid IL or missing references) //IL_012b: Unknown result type (might be due to invalid IL or missing references) //IL_0135: Expected O, but got Unknown //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Invalid comparison between Unknown and I4 switch (<>1__state) { default: return false; case 0: <>1__state = -1; if (((StatusEffect)<>4__this).Battle.AllAliveEnemies.Count() > 0 && args.Target.IsAlive && ((GameEventArgs)args).ActionSource != <>4__this && args.Target.HasStatusEffect<Poison>()) { <damageInfo>5__1 = args.DamageInfo; if ((int)((DamageInfo)(ref <damageInfo>5__1)).DamageType == 2) { ((StatusEffect)<>4__this).NotifyActivating(); <>2__current = (BattleAction)(object)DamageAction.LoseLife((Unit)(object)((StatusEffect)<>4__this).Battle.Player, ((StatusEffect)<>4__this).Level, "Instant"); <>1__state = 1; return true; } } break; case 1: <>1__state = -1; <>2__current = (BattleAction)new DamageAction((Unit)(object)((StatusEffect)<>4__this).Battle.Player, args.Target, DamageInfo.Reaction((float)((StatusEffect)<>4__this).Level, false), "Poison", (GunType)0); <>1__state = 2; return true; case 2: <>1__state = -1; 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() { <OnDamageDealt>d__1 <OnDamageDealt>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <OnDamageDealt>d__ = this; } else { <OnDamageDealt>d__ = new <OnDamageDealt>d__1(0) { <>4__this = <>4__this }; } <OnDamageDealt>d__.args = <>3__args; return <OnDamageDealt>d__; } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable<BattleAction>)this).GetEnumerator(); } } protected override void OnAdded(Unit unit) { ((StatusEffect)this).ReactOwnerEvent<DamageEventArgs>(((StatusEffect)this).Owner.DamageDealt, (EventSequencedReactor<DamageEventArgs>)OnDamageDealt); } [IteratorStateMachine(typeof(<OnDamageDealt>d__1))] private IEnumerable<BattleAction> OnDamageDealt(DamageEventArgs args) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <OnDamageDealt>d__1(-2) { <>4__this = this, <>3__args = args }; } } public sealed class seburstwaveDef : lvalonmimaStatusEffectTemplate { public override StatusEffectConfig MakeConfig() { StatusEffectConfig defaultStatusEffectConfig = lvalonmimaStatusEffectTemplate.GetDefaultStatusEffectConfig(); defaultStatusEffectConfig.Type = (StatusEffectType)0; defaultStatusEffectConfig.RelativeEffects = new List<string> { "Charging" }; return defaultStatusEffectConfig; } } [EntityLogic(typeof(seburstwaveDef))] public sealed class seburstwave : StatusEffect { [CompilerGenerated] private sealed class <OnTurnStarted>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 seburstwave <>4__this; private SelectCardInteraction <interaction>5__1; private IReadOnlyList<Card> <cards>5__2; BattleAction IEnumerator<BattleAction>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <OnTurnStarted>d__1(int <>1__state) { this.<>1__state = <>1__state; <>l__initialThreadId = Environment.CurrentManagedThreadId; } [DebuggerHidden] void IDisposable.Dispose() { <interaction>5__1 = null; <cards>5__2 = 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 //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Expected O, but got Unknown //IL_00c7: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; if (((StatusEffect)<>4__this).Battle.HandZone.Count() > 0 && ((StatusEffect)<>4__this).Battle.AllAliveEnemies.Count() > 0) { ((StatusEffect)<>4__this).NotifyActivating(); <interaction>5__1 = new SelectCardInteraction(0, ((StatusEffect)<>4__this).Level, (IEnumerable<Card>)((StatusEffect)<>4__this).Battle.HandZone, (SelectedCardHandling)0) { Source = (GameEntity)(object)<>4__this }; <>2__current = (BattleAction)new InteractionAction((Interaction)(object)<interaction>5__1, false); <>1__state = 1; return true; } break; case 1: <>1__state = -1; <cards>5__2 = <interaction>5__1.SelectedCards; if (<cards>5__2.Count > 0) { if (((StatusEffect)<>4__this).Battle.BattleShouldEnd) { return false; } <>2__current = (BattleAction)new ExileManyCardAction((IEnumerable<Card>)<cards>5__2); <>1__state = 2; return true; } goto IL_0219; case 2: <>1__state = -1; if (((StatusEffect)<>4__this).Battle.BattleShouldEnd) { return false; } <>2__current = (BattleAction)(object)new ApplyStatusEffectAction<semburst>((Unit)(object)((StatusEffect)<>4__this).Battle.Player, (int?)<cards>5__2.Count, (int?)0, (int?)0, (int?)0, 0f, true); <>1__state = 3; return true; case 3: <>1__state = -1; if (((StatusEffect)<>4__this).Battle.BattleShouldEnd) { return false; } <>2__current = (BattleAction)(object)new ApplyStatusEffectAction<Charging>((Unit)(object)((StatusEffect)<>4__this).Battle.Player, (int?)<cards>5__2.Count, (int?)0, (int?)0, (int?)0, 0f, true); <>1__state = 4; return true; case 4: { <>1__state = -1; goto IL_0219; } IL_0219: <interaction>5__1 = null; <cards>5__2 = null; 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() { <OnTurnStarted>d__1 <OnTurnStarted>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <OnTurnStarted>d__ = this; } else { <OnTurnStarted>d__ = new <OnTurnStarted>d__1(0) { <>4__this = <>4__this }; } <OnTurnStarted>d__.args = <>3__args; return <OnTurnStarted>d__; } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable<BattleAction>)this).GetEnumerator(); } } protected override void OnAdded(Unit unit) { ((StatusEffect)this).ReactOwnerEvent<UnitEventArgs>(((Unit)((StatusEffect)this).Battle.Player).TurnStarted, (EventSequencedReactor<UnitEventArgs>)OnTurnStarted); } [IteratorStateMachine(typeof(<OnTurnStarted>d__1))] private IEnumerable<BattleAction> OnTurnStarted(UnitEventArgs args) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <OnTurnStarted>d__1(-2) { <>4__this = this, <>3__args = args }; } } public sealed class secardsideloadDef : lvalonmimaStatusEffectTemplate { public override StatusEffectConfig MakeConfig() { StatusEffectConfig defaultStatusEffectConfig = lvalonmimaStatusEffectTemplate.GetDefaultStatusEffectConfig(); defaultStatusEffectConfig.Type = (StatusEffectType)0; defaultStatusEffectConfig.HasCount = true; return defaultStatusEffectConfig; } } [EntityLogic(typeof(secardsideloadDef))] public sealed class secardsideload : StatusEffect { [CompilerGenerated] private sealed class <OnManaConsumed>d__7 : 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 secardsideload <>4__this; private (int result, int remainder) <tuple>5__1; private int <item>5__2; private int <item2>5__3; BattleAction IEnumerator<BattleAction>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <OnManaConsumed>d__7(int <>1__state) { this.<>1__state = <>1__state; <>l__initialThreadId = Environment.CurrentManagedThreadId; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_011b: Unknown result type (might be due to invalid IL or missing references) //IL_0125: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; if (((StatusEffect)<>4__this).Battle.AllAliveEnemies.Count() > 0) { secardsideload obj = <>4__this; int count = ((StatusEffect)<>4__this).Count; ManaGroup value = args.Value; ((StatusEffect)obj).Count = count + ((ManaGroup)(ref value)).Blue; secardsideload obj2 = <>4__this; int count2 = ((StatusEffect)<>4__this).Count; value = args.Value; ((StatusEffect)obj2).Count = count2 + ((ManaGroup)(ref value)).Philosophy; <tuple>5__1 = MathExtensions.DivRem(((StatusEffect)<>4__this).Count, <>4__this.Value1); <item>5__2 = <tuple>5__1.result; <item2>5__3 = <tuple>5__1.remainder; ((StatusEffect)<>4__this).Count = <item2>5__3; if (<item>5__2 != 0) { ((StatusEffect)<>4__this).NotifyActivating(); <>2__current = (BattleAction)new DrawManyCardAction(<item>5__2 * <>4__this.Value2); <>1__state = 1; return true; } } break; case 1: <>1__state = -1; 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__7 <OnManaConsumed>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <OnManaConsumed>d__ = this; } else { <OnManaConsumed>d__ = new <OnManaConsumed>d__7(0) { <>4__this = <>4__this }; } <OnManaConsumed>d__.args = <>3__args; return <OnManaConsumed>d__; } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable<BattleAction>)this).GetEnumerator(); } } public int Value1 => 6; public int Value2 => (((StatusEffect)this).Owner == null) ? 1 : ((StatusEffect)this).Level; public ManaGroup Mana { get { //IL_0002: 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) ManaGroup result = default(ManaGroup); ((ManaGroup)(ref result)).Blue = 1; return result; } } protected override void OnAdded(Unit unit) { ((StatusEffect)this).ReactOwnerEvent<ManaEventArgs>(((StatusEffect)this).Battle.ManaConsumed, (EventSequencedReactor<ManaEventArgs>)OnManaConsumed); } [IteratorStateMachine(typeof(<OnManaConsumed>d__7))] private IEnumerable<BattleAction> OnManaConsumed(ManaEventArgs args) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <OnManaConsumed>d__7(-2) { <>4__this = this, <>3__args = args }; } } public sealed class secardsideload2Def : lvalonmimaStatusEffectTemplate { public override StatusEffectConfig MakeConfig() { StatusEffectConfig defaultStatusEffectConfig = lvalonmimaStatusEffectTemplate.GetDefaultStatusEffectConfig(); defaultStatusEffectConfig.Type = (StatusEffectType)0; defaultStatusEffectConfig.HasCount = true; return defaultStatusEffectConfig; } } [EntityLogic(typeof(secardsideload2Def))] public sealed class secardsideload2 : StatusEffect { [CompilerGenerated] private sealed class <OnManaConsumed>d__7 : IEnumerable<BattleAction>, IEnumerable, IEnumerator<BattleAction>, IEnumerator, IDisposable { private int <>1__state; private BattleAction <>2__current; private int <>l