Decompiled source of Yuyuko Saigyouji v0.3.1
YuyukoCharacterMod.dll
Decompiled 3 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.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Logging; 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.Randoms; using LBoL.Core.StatusEffects; using LBoL.Core.Units; using LBoL.EntityLib.Cards; using LBoL.EntityLib.Cards.Neutral.Black; using LBoL.EntityLib.Cards.Neutral.Green; using LBoL.EntityLib.Cards.Neutral.NoColor; using LBoL.EntityLib.Exhibits; using LBoL.EntityLib.StatusEffects.Basic; using LBoL.EntityLib.StatusEffects.Cirno; using LBoL.EntityLib.StatusEffects.Enemy; using LBoL.EntityLib.StatusEffects.ExtraTurn; using LBoL.EntityLib.StatusEffects.Neutral.Black; using LBoL.Presentation; using LBoLEntitySideloader; using LBoLEntitySideloader.Attributes; using LBoLEntitySideloader.Entities; using LBoLEntitySideloader.Resource; using LBoLEntitySideloader.Utils; using UnityEngine; using UnityEngine.Experimental.Rendering; using YuyukoCharacterMod.BattleActions; using YuyukoCharacterMod.Cards; using YuyukoCharacterMod.Cards.Template; using YuyukoCharacterMod.GunName; using YuyukoCharacterMod.ImageLoader; using YuyukoCharacterMod.Localization; using YuyukoCharacterMod.StatusEffects; [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("YuyukoCharacterMod")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+f18ea1f2349d7434a16964271fc2cd82fc7a7ee3")] [assembly: AssemblyProduct("YuyukoCharacterMod")] [assembly: AssemblyTitle("YuyukoCharacterMod")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace YuyukoCharacterMod { [BepInPlugin("rmrfmaxxc.lbol.YuyukoCharacterMod", "YuyukoCharacterMod", "0.3.1")] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInProcess("LBoL.exe")] public class BepinexPlugin : BaseUnityPlugin { public static string modUniqueID = "YuyukoCharacterMod"; public static string playerName = "Yuyuko"; public static bool useInGameModel = true; public static string modelName = "Yuyuko"; public static bool modelIsFlipped = true; public static List<ManaColor> offColors = new List<ManaColor> { (ManaColor)2, (ManaColor)4 }; 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("rmrfmaxxc.lbol.YuyukoCharacterMod", ""); 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(); YuyukoCharacterLocalization.DiscoverAndLoad(); } private void OnDestroy() { if (harmony != null) { harmony.UnpatchSelf(); } } } public static class PInfo { public const string GUID = "rmrfmaxxc.lbol.YuyukoCharacterMod"; public const string Name = "YuyukoCharacterMod"; public const string version = "0.3.1"; public static readonly Harmony harmony = new Harmony("rmrfmaxxc.lbol.YuyukoCharacterMod"); } public class YuyukoCharacterLoadouts { public static string UltimateSkillA = "YuyukoCharacterUltA"; public static string UltimateSkillB = "YuyukoCharacterUltB"; public static string ExhibitA = "YuyukoCharacterExhibitA"; public static string ExhibitB = "YuyukoCharacterExhibitB"; public static List<string> DeckA = new List<string> { "Shoot", "Shoot", "Boundary", "Boundary", "YuyukoCharacterAttackW", "YuyukoCharacterAttackG", "YuyukoCharacterBlockB", "YuyukoCharacterBlockB", "YuyukoCharacterBlockB", "YuyukoCharacterRiseFromYomi", "YuyukoCharacterDeceasedSpirit" }; public static List<string> DeckB = new List<string> { "Shoot", "Shoot", "Boundary", "Boundary", "YuyukoCharacterAttackW", "YuyukoCharacterAttackG", "YuyukoCharacterBlockB", "YuyukoCharacterBlockB", "YuyukoCharacterBlockB", "YuyukoCharacterSwallowtailButterfly" }; public static PlayerUnitConfig playerUnitConfig; static YuyukoCharacterLoadouts() { //IL_0159: Unknown result type (might be due to invalid IL or missing references) //IL_017a: Unknown result type (might be due to invalid IL or missing references) //IL_01a5: Unknown result type (might be due to invalid IL or missing references) //IL_01af: Expected O, but got Unknown string modUniqueID = BepinexPlugin.modUniqueID; int? num = 0; ManaGroup val = default(ManaGroup); ((ManaGroup)(ref val)).White = 1; ((ManaGroup)(ref val)).Black = 2; ((ManaGroup)(ref val)).Green = 1; playerUnitConfig = new PlayerUnitConfig(modUniqueID, true, "", 0, 8, num, true, (int?)null, (ManaColor)1, (ManaColor)5, val, "#aabccd", 78, 40, 0, UltimateSkillA, UltimateSkillB, ExhibitA, ExhibitB, (IReadOnlyList<string>)DeckA, (IReadOnlyList<string>)DeckB, 3, 2); } } public sealed class YuyukoCharacterPlayerDef : PlayerUnitTemplate { [EntityLogic(typeof(YuyukoCharacterPlayerDef))] public sealed class YuyukoCharacterMod : PlayerUnit { } 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)YuyukoCharacterLocalization.PlayerUnitBatchLoc.AddEntity((EntityDefinition)(object)this); } public override PlayerImages LoadPlayerImages() { return YuyukoCharacterImageLoader.LoadPlayerImages(BepinexPlugin.playerName); } public override PlayerUnitConfig MakeConfig() { return YuyukoCharacterLoadouts.playerUnitConfig; } } } namespace YuyukoCharacterMod.YuyukoCharacterUlt { public sealed class YuyukoCharacterUltADef : YuyukoCharacterUltTemplate { public override UltimateSkillConfig MakeConfig() { UltimateSkillConfig val = DefaulUltConfig(); val.Damage = 30; val.Value1 = 1; val.Value2 = 2; val.RelativeEffects = new List<string> { "YuyukoCharacterReanimateKeywordSe" }; val.RelativeCards = new List<string> { "YuyukoCharacterCherryBlossomSeal" }; return val; } } [EntityLogic(typeof(YuyukoCharacterUltADef))] public sealed class YuyukoCharacterUltA : UltimateSkill { [CompilerGenerated] private sealed class <Actions>d__3 : 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 YuyukoCharacterUltA <>4__this; private EnemyUnit <enemy>5__1; BattleAction IEnumerator<BattleAction>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <Actions>d__3(int <>1__state) { this.<>1__state = <>1__state; <>l__initialThreadId = Environment.CurrentManagedThreadId; } [DebuggerHidden] void IDisposable.Dispose() { <enemy>5__1 = null; <>1__state = -2; } private bool MoveNext() { //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Expected O, but got Unknown //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; <enemy>5__1 = selector.GetEnemy(((UltimateSkill)<>4__this).Battle); <>2__current = (BattleAction)new DamageAction((Unit)(object)((UltimateSkill)<>4__this).Owner, (Unit)(object)<enemy>5__1, ((UltimateSkill)<>4__this).Damage, ((UltimateSkill)<>4__this).GunName, (GunType)0); <>1__state = 1; return true; case 1: <>1__state = -1; if (!((UltimateSkill)<>4__this).Battle.BattleShouldEnd) { <>2__current = (BattleAction)new AddCardsToDiscardAction((IEnumerable<Card>)Library.CreateCards<YuyukoCharacterCherryBlossomSeal>(((UltimateSkill)<>4__this).Value1, false), (AddCardsType)0); <>1__state = 2; return true; } break; case 2: <>1__state = -1; <>2__current = (BattleAction)(object)new ReanimateAction(<>4__this.ReanimateValue); <>1__state = 3; return true; case 3: <>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() { <Actions>d__3 <Actions>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <Actions>d__ = this; } else { <Actions>d__ = new <Actions>d__3(0) { <>4__this = <>4__this }; } <Actions>d__.selector = <>3__selector; return <Actions>d__; } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable<BattleAction>)this).GetEnumerator(); } } public int ReanimateValue { get { if (((UltimateSkill)this).Battle == null) { return ((UltimateSkill)this).Value2; } return ((Unit)((UltimateSkill)this).Battle.Player).HasStatusEffect<YuyukoCharacterRefloweringSe>() ? (((UltimateSkill)this).Value2 + ((StatusEffect)((Unit)((UltimateSkill)this).Battle.Player).GetStatusEffect<YuyukoCharacterRefloweringSe>()).Level) : ((UltimateSkill)this).Value2; } } public YuyukoCharacterUltA() { ((UltimateSkill)this).TargetType = (TargetType)1; ((UltimateSkill)this).GunName = GunNameID.GetGunFromId(4001); } [IteratorStateMachine(typeof(<Actions>d__3))] protected override IEnumerable<BattleAction> Actions(UnitSelector selector) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <Actions>d__3(-2) { <>4__this = this, <>3__selector = selector }; } } public sealed class YuyukoCharacterUltBDef : YuyukoCharacterUltTemplate { public override UltimateSkillConfig MakeConfig() { UltimateSkillConfig val = DefaulUltConfig(); val.Damage = 20; val.Value1 = 2; val.Value2 = 5; val.RelativeCards = new List<string> { "YuyukoCharacterCherryBlossomBloom" }; return val; } } [EntityLogic(typeof(YuyukoCharacterUltBDef))] public sealed class YuyukoCharacterUltB : 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 YuyukoCharacterUltB <>4__this; private EnemyUnit <enemy>5__1; 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() { <enemy>5__1 = null; <>1__state = -2; } private bool MoveNext() { //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Expected O, but got Unknown //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Expected O, but got Unknown //IL_0101: Unknown result type (might be due to invalid IL or missing references) //IL_010b: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; <enemy>5__1 = selector.GetEnemy(((UltimateSkill)<>4__this).Battle); <>2__current = (BattleAction)new DamageAction((Unit)(object)((UltimateSkill)<>4__this).Owner, (Unit)(object)<enemy>5__1, ((UltimateSkill)<>4__this).Damage, ((UltimateSkill)<>4__this).GunName, (GunType)0); <>1__state = 1; return true; case 1: <>1__state = -1; if (!((UltimateSkill)<>4__this).Battle.BattleShouldEnd) { <>2__current = (BattleAction)new AddCardsToDrawZoneAction((IEnumerable<Card>)Library.CreateCards<YuyukoCharacterCherryBlossomBloom>(((UltimateSkill)<>4__this).Value1, false), (DrawZoneTarget)0, (AddCardsType)0); <>1__state = 2; return true; } break; case 2: <>1__state = -1; if (!((UltimateSkill)<>4__this).Battle.BattleShouldEnd) { <>2__current = (BattleAction)new DreamCardsAction(((UltimateSkill)<>4__this).Value2, 0); <>1__state = 3; return true; } break; case 3: <>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() { <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 YuyukoCharacterUltB() { ((UltimateSkill)this).TargetType = (TargetType)1; ((UltimateSkill)this).GunName = GunNameID.GetGunFromId(4001); } [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 YuyukoCharacterUltTemplate : 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(YuyukoCharacterDefaultConfig.DefaultID((EntityDefinition)(object)this)); } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)YuyukoCharacterLocalization.UltimateSkillsBatchLoc.AddEntity((EntityDefinition)(object)this); } public override Sprite LoadSprite() { return YuyukoCharacterImageLoader.LoadUltLoader((UltimateSkillTemplate)(object)this); } public override UltimateSkillConfig MakeConfig() { throw new NotImplementedException(); } public UltimateSkillConfig DefaulUltConfig() { return YuyukoCharacterDefaultConfig.DefaultUltConfig(); } } } namespace YuyukoCharacterMod.StatusEffects { public sealed class YuyukoCharacterAncientPlaceOfDeathSeDef : YuyukoCharacterStatusEffectTemplate { public override StatusEffectConfig MakeConfig() { return YuyukoCharacterStatusEffectTemplate.DefaultStatusEffectConfig(); } } [EntityLogic(typeof(YuyukoCharacterAncientPlaceOfDeathSeDef))] public sealed class YuyukoCharacterAncientPlaceOfDeathSe : StatusEffect { [CompilerGenerated] private sealed class <OnEnemyDied>d__3 : IEnumerable<BattleAction>, IEnumerable, IEnumerator<BattleAction>, IEnumerator, IDisposable { private int <>1__state; private BattleAction <>2__current; private int <>l__initialThreadId; private DieEventArgs args; public DieEventArgs <>3__args; public YuyukoCharacterAncientPlaceOfDeathSe <>4__this; private int <damageToDeal>5__1; BattleAction IEnumerator<BattleAction>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <OnEnemyDied>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_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; if (!((StatusEffect)<>4__this).Battle.BattleShouldEnd && ((StatusEffect)<>4__this).Battle.EnemyGroup.Alives != null) { <damageToDeal>5__1 = args.Unit.MaxHp / 2 * ((StatusEffect)<>4__this).Level; <>4__this.<>n__0(); <>2__current = (BattleAction)new DamageAction(((StatusEffect)<>4__this).Owner, (IEnumerable<Unit>)((StatusEffect)<>4__this).Battle.EnemyGroup.Alives, DamageInfo.Reaction((float)<damageToDeal>5__1, false), <>4__this.GunName, (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() { <OnEnemyDied>d__3 <OnEnemyDied>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <OnEnemyDied>d__ = this; } else { <OnEnemyDied>d__ = new <OnEnemyDied>d__3(0) { <>4__this = <>4__this }; } <OnEnemyDied>d__.args = <>3__args; return <OnEnemyDied>d__; } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable<BattleAction>)this).GetEnumerator(); } } private string GunName => GunNameID.GetGunFromId(502); protected override void OnAdded(Unit unit) { ((StatusEffect)this).ReactOwnerEvent<DieEventArgs>(((StatusEffect)this).Battle.EnemyDied, (EventSequencedReactor<DieEventArgs>)OnEnemyDied); } [IteratorStateMachine(typeof(<OnEnemyDied>d__3))] private IEnumerable<BattleAction> OnEnemyDied(DieEventArgs args) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <OnEnemyDied>d__3(-2) { <>4__this = this, <>3__args = args }; } [CompilerGenerated] [DebuggerHidden] private void <>n__0() { ((StatusEffect)this).NotifyActivating(); } } public sealed class YuyukoCharacterCherryBlossomBonusSeDef : YuyukoCharacterStatusEffectTemplate { public override StatusEffectConfig MakeConfig() { return YuyukoCharacterStatusEffectTemplate.DefaultStatusEffectConfig(); } } [EntityLogic(typeof(YuyukoCharacterCherryBlossomBonusSeDef))] public sealed class YuyukoCharacterCherryBlossomBonusSe : StatusEffect { } public sealed class YuyukoCharacterDanceOfTheDeadButterfliesSeDef : YuyukoCharacterStatusEffectTemplate { public override StatusEffectConfig MakeConfig() { return YuyukoCharacterStatusEffectTemplate.DefaultStatusEffectConfig(); } } [EntityLogic(typeof(YuyukoCharacterDanceOfTheDeadButterfliesSeDef))] public sealed class YuyukoCharacterDanceOfTheDeadButterfliesSe : StatusEffect { [CompilerGenerated] private sealed class <OnCardMoved>d__1 : IEnumerable<BattleAction>, IEnumerable, IEnumerator<BattleAction>, IEnumerator, IDisposable { private int <>1__state; private BattleAction <>2__current; private int <>l__initialThreadId; private CardMovingEventArgs args; public CardMovingEventArgs <>3__args; public YuyukoCharacterDanceOfTheDeadButterfliesSe <>4__this; private IEnumerator<BattleAction> <>s__1; private BattleAction <battleAction>5__2; BattleAction IEnumerator<BattleAction>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <OnCardMoved>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; <battleAction>5__2 = null; <>1__state = -2; } private bool MoveNext() { //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Invalid comparison between Unknown and I4 //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Invalid comparison between Unknown and I4 try { int num = <>1__state; if (num != 0) { if (num != 1) { return false; } <>1__state = -3; <battleAction>5__2 = null; } else { <>1__state = -1; if ((int)args.SourceZone != 1 || (int)args.DestinationZone != 3) { goto IL_00f5; } <>4__this.<>n__0(); <>s__1 = ((StatusEffect)<>4__this).DebuffAction<YuyukoDeath>((IEnumerable<Unit>)((StatusEffect)<>4__this).Battle.AllAliveEnemies, ((StatusEffect)<>4__this).Level, 0, 0, 0, true, 0.2f).GetEnumerator(); <>1__state = -3; } if (<>s__1.MoveNext()) { <battleAction>5__2 = <>s__1.Current; <>2__current = <battleAction>5__2; <>1__state = 1; return true; } <>m__Finally1(); <>s__1 = null; goto IL_00f5; IL_00f5: 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() { <OnCardMoved>d__1 <OnCardMoved>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <OnCardMoved>d__ = this; } else { <OnCardMoved>d__ = new <OnCardMoved>d__1(0) { <>4__this = <>4__this }; } <OnCardMoved>d__.args = <>3__args; return <OnCardMoved>d__; } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable<BattleAction>)this).GetEnumerator(); } } protected override void OnAdded(Unit unit) { ((StatusEffect)this).ReactOwnerEvent<CardMovingEventArgs>(((StatusEffect)this).Battle.CardMoved, (EventSequencedReactor<CardMovingEventArgs>)OnCardMoved); } [IteratorStateMachine(typeof(<OnCardMoved>d__1))] private IEnumerable<BattleAction> OnCardMoved(CardMovingEventArgs args) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <OnCardMoved>d__1(-2) { <>4__this = this, <>3__args = args }; } [CompilerGenerated] [DebuggerHidden] private void <>n__0() { ((StatusEffect)this).NotifyActivating(); } } public sealed class YuyukoCharacterDeadButterflySeDef : YuyukoCharacterStatusEffectTemplate { public override StatusEffectConfig MakeConfig() { return YuyukoCharacterStatusEffectTemplate.DefaultStatusEffectConfig(); } } [EntityLogic(typeof(YuyukoCharacterDeadButterflySeDef))] public sealed class YuyukoCharacterDeadButterflySe : StatusEffect { [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 YuyukoCharacterDeadButterflySe <>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_0068: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; if (((StatusEffect)<>4__this).Battle != null && !((StatusEffect)<>4__this).Battle.BattleShouldEnd) { <>4__this.<>n__0(); <>2__current = (BattleAction)new AddCardsToHandAction((IEnumerable<Card>)Library.CreateCards<YuyukoCharacterCherryBlossomSeal>(((StatusEffect)<>4__this).Level, false), (AddCardsType)0, false); <>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() { <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 YuyukoCharacterDeepRootedButterflySeDef : YuyukoCharacterStatusEffectTemplate { public override StatusEffectConfig MakeConfig() { return YuyukoCharacterStatusEffectTemplate.DefaultStatusEffectConfig(); } } [EntityLogic(typeof(YuyukoCharacterDeepRootedButterflySeDef))] public sealed class YuyukoCharacterDeepRootedButterflySe : StatusEffect { [CompilerGenerated] private sealed class <OnDamageReceived>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 YuyukoCharacterDeepRootedButterflySe <>4__this; BattleAction IEnumerator<BattleAction>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <OnDamageReceived>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_0053: 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_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Invalid comparison between Unknown and I4 //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: { <>1__state = -1; if (args.Source == ((StatusEffect)<>4__this).Owner || !args.Source.IsAlive) { break; } DamageInfo damageInfo = args.DamageInfo; if ((int)((DamageInfo)(ref damageInfo)).DamageType == 2) { damageInfo = args.DamageInfo; if (((DamageInfo)(ref damageInfo)).Amount > 0f) { <>4__this.<>n__0(); <>2__current = ((StatusEffect)<>4__this).DebuffAction<YuyukoDeath>(args.Source, ((StatusEffect)<>4__this).Level, 0, 0, 0, true, 0.2f); <>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() { <OnDamageReceived>d__1 <OnDamageReceived>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <OnDamageReceived>d__ = this; } else { <OnDamageReceived>d__ = new <OnDamageReceived>d__1(0) { <>4__this = <>4__this }; } <OnDamageReceived>d__.args = <>3__args; return <OnDamageReceived>d__; } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable<BattleAction>)this).GetEnumerator(); } } [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 YuyukoCharacterDeepRootedButterflySe <>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_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 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(); } } protected override void OnAdded(Unit unit) { ((StatusEffect)this).ReactOwnerEvent<DamageEventArgs>(((StatusEffect)this).Owner.DamageReceived, (EventSequencedReactor<DamageEventArgs>)OnDamageReceived); ((StatusEffect)this).ReactOwnerEvent<UnitEventArgs>(((StatusEffect)this).Owner.TurnStarted, (EventSequencedReactor<UnitEventArgs>)OnOwnerTurnStarted); } [IteratorStateMachine(typeof(<OnDamageReceived>d__1))] private IEnumerable<BattleAction> OnDamageReceived(DamageEventArgs args) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <OnDamageReceived>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 YuyukoCharacterDreamOfDeathSeDef : YuyukoCharacterStatusEffectTemplate { public override StatusEffectConfig MakeConfig() { return YuyukoCharacterStatusEffectTemplate.DefaultStatusEffectConfig(); } } [EntityLogic(typeof(YuyukoCharacterDreamOfDeathSeDef))] public sealed class YuyukoCharacterDreamOfDeathSe : StatusEffect { [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 YuyukoCharacterDreamOfDeathSe <>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_0061: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; if (((StatusEffect)<>4__this).Battle != null && !((StatusEffect)<>4__this).Battle.BattleShouldEnd) { <>4__this.<>n__0(); <>2__current = (BattleAction)new DreamCardsAction(((StatusEffect)<>4__this).Level, 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() { <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 YuyukoCharacterEndlessCherryBlossomsSeDef : YuyukoCharacterStatusEffectTemplate { public override StatusEffectConfig MakeConfig() { return YuyukoCharacterStatusEffectTemplate.DefaultStatusEffectConfig(); } } [EntityLogic(typeof(YuyukoCharacterEndlessCherryBlossomsSeDef))] public sealed class YuyukoCharacterEndlessCherryBlossomsSe : StatusEffect { [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 YuyukoCharacterEndlessCherryBlossomsSe <>4__this; private int <i>5__1; private Card <card>5__2; 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() { <card>5__2 = null; <>1__state = -2; } private bool MoveNext() { //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; <i>5__1 = 0; break; case 1: <>1__state = -1; <card>5__2 = null; <i>5__1++; break; } if (<i>5__1 < ((StatusEffect)<>4__this).Level) { <card>5__2 = (Card)(object)Library.CreateCard<YuyukoCharacterCherryBlossomBloom>(); <card>5__2.IsReplenish = true; <>2__current = (BattleAction)new AddCardsToDrawZoneAction((IEnumerable<Card>)(object)new Card[1] { <card>5__2 }, (DrawZoneTarget)2, (AddCardsType)0); <>1__state = 1; return true; } 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 }; } } public sealed class YuyukoCharacterFeastOfLingeringRegretsSeDef : YuyukoCharacterStatusEffectTemplate { public override StatusEffectConfig MakeConfig() { StatusEffectConfig val = YuyukoCharacterStatusEffectTemplate.DefaultStatusEffectConfig(); val.RelativeEffects = new List<string> { "YuyukoCharacterBorderKeywordSe" }; return val; } } [EntityLogic(typeof(YuyukoCharacterFeastOfLingeringRegretsSeDef))] public sealed class YuyukoCharacterFeastOfLingeringRegretsSe : StatusEffect { } public sealed class YuyukoCharacterDeathSeDef : YuyukoCharacterStatusEffectTemplate { } [EntityLogic(typeof(YuyukoCharacterDeathSeDef))] public sealed class YuyukoCharacterDeathSe : StatusEffect { } public sealed class YuyukoCharacterBorderKeywordSeDef : YuyukoCharacterStatusEffectTemplate { } [EntityLogic(typeof(YuyukoCharacterBorderKeywordSeDef))] public sealed class YuyukoCharacterBorderKeywordSe : StatusEffect { } public sealed class YuyukoCharacterReanimateKeywordSeDef : YuyukoCharacterStatusEffectTemplate { } [EntityLogic(typeof(YuyukoCharacterReanimateKeywordSeDef))] public sealed class YuyukoCharacterReanimateKeywordSe : StatusEffect { public static ManaGroup Mana { get; } static YuyukoCharacterReanimateKeywordSe() { //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) //IL_0012: Unknown result type (might be due to invalid IL or missing references) ManaGroup val = default(ManaGroup); ((ManaGroup)(ref val)).Any = 0; Mana = val; } } public sealed class YuyukoCharacterLandOfDeathSeDef : YuyukoCharacterStatusEffectTemplate { public override StatusEffectConfig MakeConfig() { StatusEffectConfig val = YuyukoCharacterStatusEffectTemplate.DefaultStatusEffectConfig(); val.RelativeEffects = new List<string> { "YuyukoCharacterBorderKeywordSe" }; return val; } } [EntityLogic(typeof(YuyukoCharacterLandOfDeathSeDef))] public sealed class YuyukoCharacterLandOfDeathSe : StatusEffect { [CompilerGenerated] private sealed class <OnCardMoved>d__1 : IEnumerable<BattleAction>, IEnumerable, IEnumerator<BattleAction>, IEnumerator, IDisposable { private int <>1__state; private BattleAction <>2__current; private int <>l__initialThreadId; private CardMovingEventArgs args; public CardMovingEventArgs <>3__args; public YuyukoCharacterLandOfDeathSe <>4__this; BattleAction IEnumerator<BattleAction>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <OnCardMoved>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_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Invalid comparison between Unknown and I4 //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; if ((int)args.DestinationZone == 3) { <>2__current = (BattleAction)new CastBlockShieldAction((Unit)(object)((StatusEffect)<>4__this).Battle.Player, new BlockInfo(((StatusEffect)<>4__this).Level, (BlockShieldType)2), false); <>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() { <OnCardMoved>d__1 <OnCardMoved>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <OnCardMoved>d__ = this; } else { <OnCardMoved>d__ = new <OnCardMoved>d__1(0) { <>4__this = <>4__this }; } <OnCardMoved>d__.args = <>3__args; return <OnCardMoved>d__; } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable<BattleAction>)this).GetEnumerator(); } } protected override void OnAdded(Unit unit) { ((StatusEffect)this).ReactOwnerEvent<CardMovingEventArgs>(((StatusEffect)this).Battle.CardMoved, (EventSequencedReactor<CardMovingEventArgs>)OnCardMoved); } [IteratorStateMachine(typeof(<OnCardMoved>d__1))] private IEnumerable<BattleAction> OnCardMoved(CardMovingEventArgs args) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <OnCardMoved>d__1(-2) { <>4__this = this, <>3__args = args }; } } public sealed class YuyukoCharacterLightTrapOfPassingAwaySeDef : YuyukoCharacterStatusEffectTemplate { public override StatusEffectConfig MakeConfig() { StatusEffectConfig val = YuyukoCharacterStatusEffectTemplate.DefaultStatusEffectConfig(); val.HasCount = true; val.CountStackType = (StackType)0; return val; } } [EntityLogic(typeof(YuyukoCharacterLightTrapOfPassingAwaySeDef))] public sealed class YuyukoCharacterLightTrapOfPassingAwaySe : StatusEffect { [CompilerGenerated] private sealed class <OnCardUsing>d__3 : IEnumerable<BattleAction>, IEnumerable, IEnumerator<BattleAction>, IEnumerator, IDisposable { private int <>1__state; private BattleAction <>2__current; private int <>l__initialThreadId; private CardUsingEventArgs args; public CardUsingEventArgs <>3__args; public YuyukoCharacterLightTrapOfPassingAwaySe <>4__this; BattleAction IEnumerator<BattleAction>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <OnCardUsing>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_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) if (<>1__state != 0) { return false; } <>1__state = -1; if (((StatusEffect)<>4__this).Count > 0) { ManaGroup cost = args.Card.Cost; if (((ManaGroup)(ref cost)).Amount == 0) { <>4__this.<>n__0(); args.PlayTwice = true; ((GameEventArgs)args).AddModifier((GameEntity)(object)<>4__this); ((StatusEffect)<>4__this).Count = Math.Max(0, ((StatusEffect)<>4__this).Count - 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() { <OnCardUsing>d__3 <OnCardUsing>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <OnCardUsing>d__ = this; } else { <OnCardUsing>d__ = new <OnCardUsing>d__3(0) { <>4__this = <>4__this }; } <OnCardUsing>d__.args = <>3__args; return <OnCardUsing>d__; } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable<BattleAction>)this).GetEnumerator(); } } public ManaGroup Mana { get { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0013: 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) ManaGroup result = default(ManaGroup); ((ManaGroup)(ref result)).Any = 0; return result; } } protected override void OnAdded(Unit unit) { ((StatusEffect)this).HandleOwnerEvent<UnitEventArgs>(((Unit)((StatusEffect)this).Battle.Player).TurnStarting, (GameEventHandler<UnitEventArgs>)delegate { ((StatusEffect)this).Count = ((StatusEffect)this).Level; }); ((StatusEffect)this).ReactOwnerEvent<CardUsingEventArgs>(((StatusEffect)this).Battle.CardUsing, (EventSequencedReactor<CardUsingEventArgs>)OnCardUsing); } [IteratorStateMachine(typeof(<OnCardUsing>d__3))] private IEnumerable<BattleAction> OnCardUsing(CardUsingEventArgs args) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <OnCardUsing>d__3(-2) { <>4__this = this, <>3__args = args }; } [CompilerGenerated] [DebuggerHidden] private void <>n__0() { ((StatusEffect)this).NotifyActivating(); } } public sealed class YuyukoCharacterNetherworldMysterySpotSeDef : YuyukoCharacterStatusEffectTemplate { public override StatusEffectConfig MakeConfig() { StatusEffectConfig val = YuyukoCharacterStatusEffectTemplate.DefaultStatusEffectConfig(); val.HasCount = true; val.CountStackType = (StackType)0; return val; } } [EntityLogic(typeof(YuyukoCharacterNetherworldMysterySpotSeDef))] public sealed class YuyukoCharacterNetherworldMysterySpotSe : StatusEffect { [CompilerGenerated] private sealed class <OnCardUsed>d__10 : IEnumerable<BattleAction>, IEnumerable, IEnumerator<BattleAction>, IEnumerator, IDisposable { private int <>1__state; private BattleAction <>2__current; private int <>l__initialThreadId; private CardUsingEventArgs args; public CardUsingEventArgs <>3__args; public YuyukoCharacterNetherworldMysterySpotSe <>4__this; private ManaGroup <color>5__1; BattleAction IEnumerator<BattleAction>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <OnCardUsed>d__10(int <>1__state) { this.<>1__state = <>1__state; <>l__initialThreadId = Environment.CurrentManagedThreadId; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_0132: 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_015d: Unknown result type (might be due to invalid IL or missing references) //IL_0167: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; if (<>4__this.Trigger) { <>4__this.<>n__0(); <>4__this.Trigger = false; ManaGroup val = default(ManaGroup); ((ManaGroup)(ref val)).Colorless = <>4__this.ContainsColor(args.Card, (ManaColor)6); ((ManaGroup)(ref val)).White = <>4__this.ContainsColor(args.Card, (ManaColor)1); ((ManaGroup)(ref val)).Blue = <>4__this.ContainsColor(args.Card, (ManaColor)2); ((ManaGroup)(ref val)).Black = <>4__this.ContainsColor(args.Card, (ManaColor)3); ((ManaGroup)(ref val)).Red = <>4__this.ContainsColor(args.Card, (ManaColor)4); ((ManaGroup)(ref val)).Green = <>4__this.ContainsColor(args.Card, (ManaColor)5); ((ManaGroup)(ref val)).Philosophy = <>4__this.ContainsColor(args.Card, (ManaColor)7); <color>5__1 = val; ((StatusEffect)<>4__this).Count = Math.Max(0, ((StatusEffect)<>4__this).Count - 1); <>2__current = (BattleAction)new GainManaAction(<color>5__1); <>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() { <OnCardUsed>d__10 <OnCardUsed>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <OnCardUsed>d__ = this; } else { <OnCardUsed>d__ = new <OnCardUsed>d__10(0) { <>4__this = <>4__this }; } <OnCardUsed>d__.args = <>3__args; return <OnCardUsed>d__; } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable<BattleAction>)this).GetEnumerator(); } } public ManaGroup ZeroMana; public ManaGroup Mana { get { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0013: 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) ManaGroup result = default(ManaGroup); ((ManaGroup)(ref result)).Philosophy = 1; return result; } } private bool Trigger { get; set; } protected override void OnAdded(Unit unit) { ((StatusEffect)this).HandleOwnerEvent<UnitEventArgs>(((Unit)((StatusEffect)this).Battle.Player).TurnStarting, (GameEventHandler<UnitEventArgs>)delegate { ((StatusEffect)this).Count = ((StatusEffect)this).Level; }); ((StatusEffect)this).HandleOwnerEvent<CardUsingEventArgs>(((StatusEffect)this).Battle.CardUsing, (GameEventHandler<CardUsingEventArgs>)OnCardUsing); ((StatusEffect)this).ReactOwnerEvent<CardUsingEventArgs>(((StatusEffect)this).Battle.CardUsed, (EventSequencedReactor<CardUsingEventArgs>)OnCardUsed); } public int ContainsColor(Card card, ManaColor color) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) return card.Config.Colors.Contains(color) ? 1 : 0; } private void OnCardUsing(CardUsingEventArgs args) { if (((StatusEffect)this).Count > 0 && CollectionsExtensions.NotEmpty<ManaColor>((IReadOnlyCollection<ManaColor>)args.Card.Config.Colors) && (!args.Card.Config.Colors.Contains((ManaColor)6) || args.Card.Config.Colors.Count != 1)) { Trigger = true; } } [IteratorStateMachine(typeof(<OnCardUsed>d__10))] private IEnumerable<BattleAction> OnCardUsed(CardUsingEventArgs args) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <OnCardUsed>d__10(-2) { <>4__this = this, <>3__args = args }; } public YuyukoCharacterNetherworldMysterySpotSe() { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) ManaGroup zeroMana = default(ManaGroup); ((ManaGroup)(ref zeroMana)).Any = 0; ZeroMana = zeroMana; Trigger = false; ((StatusEffect)this)..ctor(); } [CompilerGenerated] [DebuggerHidden] private void <>n__0() { ((StatusEffect)this).NotifyActivating(); } } public sealed class YuyukoCharacterRefloweringSeDef : YuyukoCharacterStatusEffectTemplate { } [EntityLogic(typeof(YuyukoCharacterRefloweringSeDef))] public sealed class YuyukoCharacterRefloweringSe : StatusEffect { } public sealed class YuyukoCharacterRepositoryOfHirokawaSeDef : YuyukoCharacterStatusEffectTemplate { public override StatusEffectConfig MakeConfig() { return YuyukoCharacterStatusEffectTemplate.DefaultStatusEffectConfig(); } } [EntityLogic(typeof(YuyukoCharacterRepositoryOfHirokawaSeDef))] public sealed class YuyukoCharacterRepositoryOfHirokawaSe : StatusEffect { [CompilerGenerated] private sealed class <OnCardUsed>d__7 : IEnumerable<BattleAction>, IEnumerable, IEnumerator<BattleAction>, IEnumerator, IDisposable { private int <>1__state; private BattleAction <>2__current; private int <>l__initialThreadId; private CardUsingEventArgs args; public CardUsingEventArgs <>3__args; public YuyukoCharacterRepositoryOfHirokawaSe <>4__this; BattleAction IEnumerator<BattleAction>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <OnCardUsed>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_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; if (<>4__this.PlayTwice) { <>4__this.<>n__0(); <>2__current = (BattleAction)new CastBlockShieldAction(((StatusEffect)<>4__this).Owner, 0, ((StatusEffect)<>4__this).Level, (BlockShieldType)1, true); <>1__state = 1; return true; } break; case 1: <>1__state = -1; <>4__this.PlayTwice = false; 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() { <OnCardUsed>d__7 <OnCardUsed>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <OnCardUsed>d__ = this; } else { <OnCardUsed>d__ = new <OnCardUsed>d__7(0) { <>4__this = <>4__this }; } <OnCardUsed>d__.args = <>3__args; return <OnCardUsed>d__; } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable<BattleAction>)this).GetEnumerator(); } } public ManaGroup Mana; private bool PlayTwice { get; set; } protected override void OnAdded(Unit unit) { ((StatusEffect)this).HandleOwnerEvent<CardUsingEventArgs>(((StatusEffect)this).Battle.CardUsing, (GameEventHandler<CardUsingEventArgs>)OnCardUsing); ((StatusEffect)this).ReactOwnerEvent<CardUsingEventArgs>(((StatusEffect)this).Battle.CardUsed, (EventSequencedReactor<CardUsingEventArgs>)OnCardUsed); } private void OnCardUsing(CardUsingEventArgs args) { //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) ManaGroup cost = args.Card.Cost; if (((ManaGroup)(ref cost)).Amount == 0) { PlayTwice = true; } } [IteratorStateMachine(typeof(<OnCardUsed>d__7))] private IEnumerable<BattleAction> OnCardUsed(CardUsingEventArgs args) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <OnCardUsed>d__7(-2) { <>4__this = this, <>3__args = args }; } public YuyukoCharacterRepositoryOfHirokawaSe() { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) ManaGroup mana = default(ManaGroup); ((ManaGroup)(ref mana)).Any = 0; Mana = mana; PlayTwice = false; ((StatusEffect)this)..ctor(); } [CompilerGenerated] [DebuggerHidden] private void <>n__0() { ((StatusEffect)this).NotifyActivating(); } } public sealed class YuyukoCharacterSaigyoujiParinirvanaSeDef : YuyukoCharacterStatusEffectTemplate { public override StatusEffectConfig MakeConfig() { return YuyukoCharacterStatusEffectTemplate.DefaultStatusEffectConfig(); } } [EntityLogic(typeof(YuyukoCharacterSaigyoujiParinirvanaSeDef))] public sealed class YuyukoCharacterSaigyoujiParinirvanaSe : StatusEffect { [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 YuyukoCharacterSaigyoujiParinirvanaSe <>4__this; 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() { <>1__state = -2; } private bool MoveNext() { switch (<>1__state) { default: return false; case 0: <>1__state = -1; if (((StatusEffect)<>4__this).Battle != null && !((StatusEffect)<>4__this).Battle.BattleShouldEnd) { <>4__this.<>n__0(); <>2__current = (BattleAction)(object)new TriggerLawOfMortalityAction(((StatusEffect)<>4__this).Level); <>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() { <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 }; } [CompilerGenerated] [DebuggerHidden] private void <>n__0() { ((StatusEffect)this).NotifyActivating(); } } public class YuyukoCharacterStatusEffectTemplate : StatusEffectTemplate { 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(YuyukoCharacterDefaultConfig.DefaultID((EntityDefinition)(object)this)); } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)YuyukoCharacterLocalization.StatusEffectsBatchLoc.AddEntity((EntityDefinition)(object)this); } public override Sprite LoadSprite() { return YuyukoCharacterImageLoader.LoadStatusEffectLoader((StatusEffectTemplate)(object)this); } public override StatusEffectConfig MakeConfig() { return DefaultStatusEffectConfig(); } public static StatusEffectConfig DefaultStatusEffectConfig() { return YuyukoCharacterDefaultConfig.DefaultStatusEffectConfig(); } } public sealed class YuyukoCharacterWeepingHiganSeDef : YuyukoCharacterStatusEffectTemplate { public override StatusEffectConfig MakeConfig() { StatusEffectConfig val = YuyukoCharacterStatusEffectTemplate.DefaultStatusEffectConfig(); val.IsStackable = true; val.HasLevel = false; val.RelativeEffects = new List<string> { "YuyukoCharacterDeathSe" }; val.Order = 5; return val; } } [EntityLogic(typeof(YuyukoCharacterWeepingHiganSeDef))] public sealed class YuyukoCharacterWeepingHiganSe : StatusEffect { [CompilerGenerated] private sealed class <OnPlayerDamageReceived>d__8 : 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 YuyukoCharacterWeepingHiganSe <>4__this; BattleAction IEnumerator<BattleAction>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <OnPlayerDamageReceived>d__8(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_002f: Invalid comparison between Unknown and I4 //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; if ((int)((GameEventArgs)args).Cause == 7 && <>4__this.DamageTaken > 0) { <>4__this.<>n__0(); <>2__current = (BattleAction)new DamageAction(((StatusEffect)<>4__this).Owner, (IEnumerable<Unit>)((StatusEffect)<>4__this).Battle.AllAliveEnemies, DamageInfo.HpLose((float)<>4__this.DamageTaken, false), <>4__this.GunName, (GunType)0); <>1__state = 1; return true; } break; case 1: <>1__state = -1; <>4__this.DamageTaken = 0; 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() { <OnPlayerDamageReceived>d__8 <OnPlayerDamageReceived>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <OnPlayerDamageReceived>d__ = this; } else { <OnPlayerDamageReceived>d__ = new <OnPlayerDamageReceived>d__8(0) { <>4__this = <>4__this }; } <OnPlayerDamageReceived>d__.args = <>3__args; return <OnPlayerDamageReceived>d__; } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable<BattleAction>)this).GetEnumerator(); } } public string GunName => GunNameID.GetGunFromId(862); public int DamageTaken { get; set; } = 0; protected override void OnAdded(Unit unit) { ((StatusEffect)this).HandleOwnerEvent<DamageEventArgs>(((Unit)((StatusEffect)this).Battle.Player).DamageTaking, (GameEventHandler<DamageEventArgs>)OnPlayerDamageTaking); ((StatusEffect)this).ReactOwnerEvent<DamageEventArgs>(((Unit)((StatusEffect)this).Battle.Player).DamageReceived, (EventSequencedReactor<DamageEventArgs>)OnPlayerDamageReceived); } private void OnPlayerDamageTaking(DamageEventArgs args) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Invalid comparison between Unknown and I4 //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) bool flag = ((GameEventArgs)args).ActionSource is NextTurnLoseGame || ((GameEventArgs)args).ActionSource is UseCardToLoseGame; if ((int)((GameEventArgs)args).Cause == 7 && !flag) { DamageInfo damageInfo = args.DamageInfo; DamageTaken = MathExtensions.RoundToInt(((DamageInfo)(ref damageInfo)).Damage); if (DamageTaken > 0) { ((StatusEffect)this).NotifyActivating(); args.DamageInfo = ((DamageInfo)(ref damageInfo)).ReduceActualDamageBy(DamageTaken); ((GameEventArgs)args).AddModifier((GameEntity)(object)this); } } } [IteratorStateMachine(typeof(<OnPlayerDamageReceived>d__8))] private IEnumerable<BattleAction> OnPlayerDamageReceived(DamageEventArgs args) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <OnPlayerDamageReceived>d__8(-2) { <>4__this = this, <>3__args = args }; } [CompilerGenerated] [DebuggerHidden] private void <>n__0() { ((StatusEffect)this).NotifyActivating(); } } public sealed class YuyukoCharacterYoumuFriendSeDef : YuyukoCharacterStatusEffectTemplate { public override StatusEffectConfig MakeConfig() { StatusEffectConfig val = YuyukoCharacterStatusEffectTemplate.DefaultStatusEffectConfig(); val.RelativeEffects = new List<string> { "YuyukoCharacterBorderKeywordSe" }; return val; } } [EntityLogic(typeof(YuyukoCharacterYoumuFriendSeDef))] public sealed class YuyukoCharacterYoumuFriendSe : StatusEffect { [CompilerGenerated] private sealed class <OnPlayerTurnStarted>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 YuyukoCharacterYoumuFriendSe <>4__this; private int <highest_cost>5__1; private Card <card_to_add>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 <OnPlayerTurnStarted>d__4(int <>1__state) { this.<>1__state = <>1__state; <>l__initialThreadId = Environment.CurrentManagedThreadId; } [DebuggerHidden] void IDisposable.Dispose() { <card_to_add>5__2 = null; <>s__3 = null; <card>5__4 = null; <>1__state = -2; } private bool MoveNext() { //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: Unknown result type (might be due to invalid IL or missing references) if (<>1__state != 0) { return false; } <>1__state = -1; <highest_cost>5__1 = 0; <card_to_add>5__2 = null; <>s__3 = ((StatusEffect)<>4__this).Battle.HandZone.GetEnumerator(); try { while (<>s__3.MoveNext()) { <card>5__4 = <>s__3.Current; int num = <highest_cost>5__1; ManaGroup cost = <card>5__4.Cost; if (num < ((ManaGroup)(ref cost)).Amount) { cost = <card>5__4.Cost; <highest_cost>5__1 = ((ManaGroup)(ref cost)).Amount; <card_to_add>5__2 = <card>5__4; } <card>5__4 = null; } } finally { if (<>s__3 != null) { <>s__3.Dispose(); } } <>s__3 = null; Card obj = <card_to_add>5__2; if (obj != null) { obj.SetTurnCost(<>4__this.ZeroMana); } 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__4 <OnPlayerTurnStarted>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <OnPlayerTurnStarted>d__ = this; } else { <OnPlayerTurnStarted>d__ = new <OnPlayerTurnStarted>d__4(0) { <>4__this = <>4__this }; } <OnPlayerTurnStarted>d__.args = <>3__args; return <OnPlayerTurnStarted>d__; } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable<BattleAction>)this).GetEnumerator(); } } public ManaGroup ZeroMana; public string GunName => GunNameID.GetGunFromId(520); protected override void OnAdded(Unit unit) { ((StatusEffect)this).ReactOwnerEvent<UnitEventArgs>(((Unit)((StatusEffect)this).Battle.Player).TurnStarted, (EventSequencedReactor<UnitEventArgs>)OnPlayerTurnStarted); } [IteratorStateMachine(typeof(<OnPlayerTurnStarted>d__4))] private IEnumerable<BattleAction> OnPlayerTurnStarted(UnitEventArgs args) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <OnPlayerTurnStarted>d__4(-2) { <>4__this = this, <>3__args = args }; } public YuyukoCharacterYoumuFriendSe() { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) ManaGroup zeroMana = default(ManaGroup); ((ManaGroup)(ref zeroMana)).Any = 0; ZeroMana = zeroMana; ((StatusEffect)this)..ctor(); } } } namespace YuyukoCharacterMod.model { public sealed class YuyukoCharacterModel : UnitModelTemplate { public static bool useInGameModel = BepinexPlugin.useInGameModel; public static string model_name = (useInGameModel ? BepinexPlugin.modelName : "YuyukoCharacterModel.png"); public static string spellsprite_name = "YuyukoCharacterStand.png"; 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 ((EntityDefinition)new YuyukoCharacterPlayerDef()).UniqueId; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)YuyukoCharacterLocalization.UnitModelBatchLoc.AddEntity((EntityDefinition)(object)this); } public override ModelOption LoadModelOptions() { //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Expected O, but got Unknown //IL_0010: 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_001b: Expected O, but got Unknown if (useInGameModel) { return new ModelOption(ResourcesHelper.LoadSpineUnitAsync(model_name)); } return new ModelOption(ResourceLoader.LoadSpriteAsync(model_name, BepinexPlugin.directorySource, 565, (GraphicsFormat)4, 1, (FilterMode)1, (SpriteMeshType)1, (Rect?)null, (Vector2?)null, "file://")); } public override UniTask<Sprite> LoadSpellSprite() { //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) //IL_0010: 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_0048: Unknown result type (might be due to invalid IL or missing references) if (useInGameModel) { return ResourcesHelper.LoadSpellPortraitAsync(model_name); } return ResourceLoader.LoadSpriteAsync(spellsprite_name, BepinexPlugin.directorySource, 100, (GraphicsFormat)4, 1, (FilterMode)1, (SpriteMeshType)1, (Rect?)null, (Vector2?)null, "file://"); } public override UnitModelConfig MakeConfig() { //IL_0057: Unknown result type (might be due to invalid IL or missing references) if (useInGameModel) { UnitModelConfig val = ObjectExtensions.Copy<UnitModelConfig>(UnitModelConfig.FromName(model_name)); val.Flip = BepinexPlugin.modelIsFlipped; return val; } UnitModelConfig val2 = ObjectExtensions.Copy<UnitModelConfig>(((UnitModelTemplate)this).DefaultConfig()); val2.Flip = BepinexPlugin.modelIsFlipped; val2.Type = 0; val2.Offset = new Vector2(0f, -0.1f); val2.HasSpellPortrait = true; return val2; } } } namespace YuyukoCharacterMod.Localization { public sealed class YuyukoCharacterLocalization { public static string Cards = "Cards"; public static string Exhibits = "Exhibits"; public static string PlayerUnit = "PlayerUnit"; public static string UnitModel = "UnitModel"; public static string UltimateSkills = "UltimateSkills"; public static string StatusEffects = "StatusEffects"; public static BatchLocalization CardsBatchLoc = new BatchLocalization((IResourceSource)(object)BepinexPlugin.directorySource, typeof(CardTemplate), Cards, (Locale)0, false); public static BatchLocalization ExhibitsBatchLoc = new BatchLocalization((IResourceSource)(object)BepinexPlugin.directorySource, typeof(ExhibitTemplate), Exhibits, (Locale)0, false); public static BatchLocalization PlayerUnitBatchLoc = new BatchLocalization((IResourceSource)(object)BepinexPlugin.directorySource, typeof(PlayerUnitTemplate), PlayerUnit, (Locale)0, false); public static BatchLocalization UnitModelBatchLoc = new BatchLocalization((IResourceSource)(object)BepinexPlugin.directorySource, typeof(UnitModelTemplate), UnitModel, (Locale)0, false); public static BatchLocalization UltimateSkillsBatchLoc = new BatchLocalization((IResourceSource)(object)BepinexPlugin.directorySource, typeof(UltimateSkillTemplate), UltimateSkills, (Locale)0, false); public static BatchLocalization StatusEffectsBatchLoc = new BatchLocalization((IResourceSource)(object)BepinexPlugin.directorySource, typeof(StatusEffectTemplate), StatusEffects, (Locale)0, false); public static void DiscoverAndLoad() { CardsBatchLoc.DiscoverAndLoadLocFiles(Cards); ExhibitsBatchLoc.DiscoverAndLoadLocFiles(Exhibits); PlayerUnitBatchLoc.DiscoverAndLoadLocFiles(PlayerUnit); UnitModelBatchLoc.DiscoverAndLoadLocFiles(UnitModel); UltimateSkillsBatchLoc.DiscoverAndLoadLocFiles(UltimateSkills); StatusEffectsBatchLoc.DiscoverAndLoadLocFiles(StatusEffects); } } } namespace YuyukoCharacterMod.GunName { public static class GunNameID { private static IReadOnlyList<GunConfig> gunConfig = GunConfig.AllConfig(); public static string GetGunFromId(int id) { string text = ""; try { return (from config in gunConfig where config.Id == id select config.Name).ToList()[0]; } catch { Debug.Log((object)("id: " + id + " doesn't exist. Check whether the ID is correct.")); return "Instant"; } } } } namespace YuyukoCharacterMod.Exhibits { public sealed class YuyukoCharacterExhibitADef : YuyukoCharacterExhibitTemplate { public override ExhibitConfig MakeConfig() { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) ExhibitConfig val = DefaultExhibitConfig(); val.Value1 = 1; ManaGroup value = default(ManaGroup); ((ManaGroup)(ref value)).White = 1; val.Mana = value; val.BaseManaColor = (ManaColor)1; val.RelativeCards = new List<string> { "YuyukoCharacterCherryBlossomSeal" }; return val; } } [EntityLogic(typeof(YuyukoCharacterExhibitADef))] public sealed class YuyukoCharacterExhibitA : ShiningExhibit { [CompilerGenerated] private sealed class <OnPlayerTurnEnded>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 YuyukoCharacterExhibitA <>4__this; BattleAction IEnumerator<BattleAction>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <OnPlayerTurnEnded>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; <>4__this.opt_triggered = 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(); } [DebuggerHidden] IEnumerator<BattleAction> IEnumerable<BattleAction>.GetEnumerator() { <OnPlayerTurnEnded>d__1 <OnPlayerTurnEnded>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <OnPlayerTurnEnded>d__ = this; } else { <OnPlayerTurnEnded>d__ = new <OnPlayerTurnEnded>d__1(0) { <>4__this = <>4__this }; } <OnPlayerTurnEnded>d__.args = <>3__args; return <OnPlayerTurnEnded>d__; } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable<BattleAction>)this).GetEnumerator(); } } [CompilerGenerated] private sealed class <OnPlayerTurnStarted>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 YuyukoCharacterExhibitA <>4__this; BattleAction IEnumerator<BattleAction>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <OnPlayerTurnStarted>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_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; if (((Unit)((Exhibit)<>4__this).Battle.Player).TurnCounter == 1) { <>4__this.<>n__0(); <>2__current = (BattleAction)new AddCardsToHandAction((IEnumerable<Card>)Library.CreateCards<YuyukoCharacterCherryBlossomSeal>(((Exhibit)<>4__this).Value1, false), (AddCardsType)0, false); <>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() { <OnPlayerTurnStarted>d__3 <OnPlayerTurnStarted>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <OnPlayerTurnStarted>d__ = this; } else { <OnPlayerTurnStarted>d__ = new <OnPlayerTurnStarted>d__3(0) { <>4__this = <>4__this }; } <OnPlayerTurnStarted>d__.args = <>3__args; return <OnPlayerTurnStarted>d__; } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable<BattleAction>)this).GetEnumerator(); } } [CompilerGenerated] private sealed class <OnReshuffled>d__4 : 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 YuyukoCharacterExhibitA <>4__this; BattleAction IEnumerator<BattleAction>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <OnReshuffled>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_0052: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; if (!<>4__this.opt_triggered) { <>4__this.<>n__0(); <>2__current = (BattleAction)new AddCardsToDiscardAction((IEnumerable<Card>)Library.CreateCards<YuyukoCharacterCherryBlossomSeal>(((Exhibit)<>4__this).Value1, false), (AddCardsType)0); <>1__state = 1; return true; } break; case 1: <>1__state = -1; <>4__this.opt_triggered = true; 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() { <OnReshuffled>d__4 <OnReshuffled>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <OnReshuffled>d__ = this; } else { <OnReshuffled>d__ = new <OnReshuffled>d__4(0) { <>4__this = <>4__this }; } <OnReshuffled>d__.args = <>3__args; return <OnReshuffled>d__; } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable<BattleAction>)this).GetEnumerator(); } } private bool opt_triggered = false; [IteratorStateMachine(typeof(<OnPlayerTurnEnded>d__1))] private IEnumerable<BattleAction> OnPlayerTurnEnded(UnitEventArgs args) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <OnPlayerTurnEnded>d__1(-2) { <>4__this = this, <>3__args = args }; } protected override void OnEnterBattle() { ((Exhibit)this).Counter = 0; ((Exhibit)this).ReactBattleEvent<UnitEventArgs>(((Unit)((Exhibit)this).Battle.Player).TurnStarted, (EventSequencedReactor<UnitEventArgs>)OnPlayerTurnStarted); ((Exhibit)this).ReactBattleEvent<UnitEventArgs>(((Unit)((Exhibit)this).Battle.Player).TurnEnded, (EventSequencedReactor<UnitEventArgs>)OnPlayerTurnEnded); ((Exhibit)this).ReactBattleEvent<GameEventArgs>(((Exhibit)this).Battle.Reshuffled, (EventSequencedReactor<GameEventArgs>)OnReshuffled); } [IteratorStateMachine(typeof(<OnPlayerTurnStarted>d__3))] private IEnumerable<BattleAction> OnPlayerTurnStarted(UnitEventArgs args) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <OnPlayerTurnStarted>d__3(-2) { <>4__this = this, <>3__args = args }; } [IteratorStateMachine(typeof(<OnReshuffled>d__4))] private IEnumerable<BattleAction> OnReshuffled(GameEventArgs args) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <OnReshuffled>d__4(-2) { <>4__this = this, <>3__args = args }; } [CompilerGenerated] [DebuggerHidden] private void <>n__0() { ((Exhibit)this).NotifyActivating(); } } public sealed class YuyukoCharacterExhibitBDef : YuyukoCharacterExhibitTemplate { public override ExhibitConfig MakeConfig() { //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) ExhibitConfig val = DefaultExhibitConfig(); val.Value1 = 2; val.Value2 = 3; ManaGroup value = default(ManaGroup); ((ManaGroup)(ref value)).Green = 1; val.Mana = value; val.BaseManaColor = (ManaColor)5; val.RelativeEffects = new List<string>(); return val; } } [EntityLogic(typeof(YuyukoCharacterExhibitBDef))] public sealed class YuyukoCharacterExhibitB : ShiningExhibit { [CompilerGenerated] private sealed class <OnPlayerTurnStarted>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 YuyukoCharacterExhibitB <>4__this; BattleAction IEnumerator<BattleAction>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <OnPlayerTurnStarted>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_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 switch (<>1__state) { default: return false; case 0: <>1__state = -1; if (((Unit)((Exhibit)<>4__this).Battle.Player).TurnCounter == 1) { <>4__this.<>n__0(); <>2__current = (BattleAction)new GainManaAction(((Exhibit)<>4__this).Mana); <>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() { <OnPlayerTurnStarted>d__1 <OnPlayerTurnStarted>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <OnPlayerTurnStarted>d__ = this; } else { <OnPlayerTurnStarted>d__ = new <OnPlayerTurnStarted>d__1(0) { <>4__this = <>4__this }; } <OnPlayerTurnStarted>d__.args = <>3__args; return <OnPlayerTurnStarted>d__; } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable<BattleAction>)this).GetEnumerator(); } } [CompilerGenerated] private sealed class <OnReshuffled>d__2 : 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 YuyukoCharacterExhibitB <>4__this; BattleAction IEnumerator<BattleAction>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <OnReshuffled>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_0051: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; <>4__this.<>n__0(); <>2__current = (BattleAction)new CastBlockShieldAction((Unit)(object)((Exhibit)<>4__this).Owner, (Unit)(object)((Exhibit)<>4__this).Owner, ((Exhibit)<>4__this).Value2, 0, (BlockShieldType)1, true); <>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() { <OnReshuffled>d__2 <OnReshuffled>d__; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; <OnReshuffled>d__ = this; } else { <OnReshuffled>d__ = new <OnReshuffled>d__2(0) { <>4__this = <>4__this }; } <OnReshuffled>d__.args = <>3__args; return <OnReshuffled>d__; } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable<BattleAction>)this).GetEnumerator(); } } protected override void OnEnterBattle() { ((Exhibit)this).ReactBattleEvent<UnitEventArgs>(((Unit)((Exhibit)this).Battle.Player).TurnStarted, (EventSequencedReactor<UnitEventArgs>)OnPlayerTurnStarted); ((Exhibit)this).ReactBattleEvent<GameEventArgs>(((Exhibit)this).Battle.Reshuffled, (EventSequencedReactor<GameEventArgs>)OnReshuffled); } [IteratorStateMachine(typeof(<OnPlayerTurnStarted>d__1))] private IEnumerable<BattleAction> OnPlayerTurnStarted(UnitEventArgs args) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <OnPlayerTurnStarted>d__1(-2) { <>4__this = this, <>3__args = args }; } [IteratorStateMachine(typeof(<OnReshuffled>d__2))] private IEnumerable<BattleAction> OnReshuffled(GameEventArgs args) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <OnReshuffled>d__2(-2) { <>4__this = this, <>3__args = args }; } [CompilerGenerated] [DebuggerHidden] private void <>n__0() { ((Exhibit)this).NotifyActivating(); } } public class YuyukoCharacterExhibitTemplate : ExhibitTemplate { 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(YuyukoCharacterDefaultConfig.DefaultID((EntityDefinition)(object)this)); } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)YuyukoCharacterLocalization.ExhibitsBatchLoc.AddEntity((EntityDefinition)(object)this); } public override ExhibitSprites LoadSprite() { return YuyukoCharacterImageLoader.LoadExhibitSprite((ExhibitTemplate)(object)this); } public override ExhibitConfig MakeConfig() { return DefaultExhibitConfig(); } public ExhibitConfig DefaultExhibitConfig() { return YuyukoCharacterDefaultConfig.DefaultExhibitConfig(); } } } namespace YuyukoCharacterMod.ImageLoader { public sealed class YuyukoCharacterDefaultConfig { private static readonly string OwnerName = BepinexPlugin.modUniqueID; public static string DefaultID(EntityDefinition entity) { if (entity == null) { return "Default"; } string name = ((object)entity).GetType().Name; return name.Remove(name.Length - 3); } public static CardConfig CardDefaultConfig() { //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_0173: Unknown result type (might be due to invalid IL or missing references) //IL_017a: Expected O, but got Unknown return new CardConfig(0, "", 10,