Decompiled source of Booster Packet v1.0.1
BoosterPacket.dll
Decompiled a month ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using AddWatermark; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Logging; using BoosterPacket.Cards.Curses; using BoosterPacket.GunName; using HarmonyLib; using JetBrains.Annotations; 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.Character.Cirno; using LBoL.EntityLib.Cards.Character.Cirno.Friend; using LBoL.EntityLib.Cards.Character.Sakuya; using LBoL.EntityLib.Cards.Enemy; using LBoL.EntityLib.Cards.Misfortune; using LBoL.EntityLib.Cards.Neutral.Black; using LBoL.EntityLib.StatusEffects.Basic; using LBoL.EntityLib.StatusEffects.Cirno; using LBoL.EntityLib.StatusEffects.Enemy; using LBoL.EntityLib.StatusEffects.Others; using LBoL.EntityLib.StatusEffects.Sakuya; using LBoLEntitySideloader; using LBoLEntitySideloader.Attributes; using LBoLEntitySideloader.Entities; using LBoLEntitySideloader.Resource; using LBoLEntitySideloader.Utils; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".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("BoosterPacket")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("BoosterPacket")] [assembly: AssemblyTitle("BoosterPacket")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace BoosterPacket { [BepInPlugin("xeno.lbol.boosterpack", "Booster Packet", "1.0.1")] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInProcess("LBoL.exe")] public class BepinexPlugin : BaseUnityPlugin { private static readonly Harmony harmony = PInfo.harmony; internal static ManualLogSource log; internal static TemplateSequenceTable sequenceTable = new TemplateSequenceTable(0); internal static IResourceSource embeddedSource = (IResourceSource)new EmbeddedSource(Assembly.GetExecutingAssembly()); internal static DirectorySource directorySource = new DirectorySource("xeno.lbol.boosterpack", ""); internal static BatchLocalization CardBatchLoc = new BatchLocalization((IResourceSource)(object)directorySource, typeof(CardTemplate), "Cards", (Locale)0, false); internal static BatchLocalization StatusEffectBatchLoc = new BatchLocalization((IResourceSource)(object)directorySource, typeof(StatusEffectTemplate), "StatusEffects", (Locale)0, false); private void Awake() { log = ((BaseUnityPlugin)this).Logger; Object.DontDestroyOnLoad((Object)(object)((Component)this).gameObject); ((Object)((Component)this).gameObject).hideFlags = (HideFlags)61; EntityManager.RegisterSelf(); harmony.PatchAll(); if (Chainloader.PluginInfos.ContainsKey("neo.lbol.tools.watermark")) { WatermarkWrapper.ActivateWatermark(); } } private void OnDestroy() { if (harmony != null) { harmony.UnpatchSelf(); } } } public static class PInfo { public const string GUID = "xeno.lbol.boosterpack"; public const string Name = "Booster Packet"; public const string version = "1.0.1"; public static readonly Harmony harmony = new Harmony("xeno.lbol.boosterpack"); } internal class WatermarkWrapper { [MethodImpl(MethodImplOptions.NoInlining)] internal static void ActivateWatermark() { API.ActivateWatermark(); } } } namespace BoosterPacket.GunName { public static class GunNameID { private static readonly 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 BoosterPacket.Cards { public sealed class AunnFluffDef : CardTemplate { [EntityLogic(typeof(AunnFluffDef))] public sealed class AunnFluff : Card { protected override IEnumerable<BattleAction> Actions(UnitSelector selector, ManaGroup consumingMana, Interaction precondition) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) yield return ((Card)this).DefenseAction(true); yield return ((Card)this).BuffAction<MaoyuBlock>(((Card)this).Value1, 0, 0, 0, 0.2f); } } 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("AunnFluff"); } public override CardImages LoadCardImages() { return null; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)BepinexPlugin.CardBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_016b: Unknown result type (might be due to invalid IL or missing references) //IL_0171: Expected O, but got Unknown string[][] array = new string[0][]; TargetType? val = (TargetType)4; List<ManaColor> obj = new List<ManaColor> { (ManaColor)4, (ManaColor)5 }; ManaGroup val2 = default(ManaGroup); ((ManaGroup)(ref val2)).Red = 1; ((ManaGroup)(ref val2)).Green = 1; return new CardConfig(6016, "", 10, true, array, "", "", 0, false, true, true, false, true, (Rarity)0, (CardType)2, val, (IReadOnlyList<ManaColor>)obj, false, val2, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)1, (int?)3, (int?)null, (int?)null, (int?)25, (int?)32, (int?)null, (int?)null, (ManaGroup?)null, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (Keyword)0, (Keyword)0, false, (Keyword)512, (Keyword)512, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (string)null, "", "", false, (string)null, (IReadOnlyList<string>)new List<string>()); } } public sealed class ChenRedBlueDef : CardTemplate { [EntityLogic(typeof(ChenRedBlueDef))] public sealed class ChenRedBlue : Card { protected override IEnumerable<BattleAction> Actions(UnitSelector selector, ManaGroup consumingMana, Interaction precondition) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) List<ChenRedBlue> list = Library.CreateCards<ChenRedBlue>(2, ((Card)this).IsUpgraded).ToList(); ChenRedBlue first = list[0]; ChenRedBlue chenRedBlue = list[1]; ((Card)first).ShowWhichDescription = 1; ((Card)chenRedBlue).ShowWhichDescription = 2; ((Card)first).SetBattle(((Card)this).Battle); ((Card)chenRedBlue).SetBattle(((Card)this).Battle); MiniSelectCardInteraction interaction = new MiniSelectCardInteraction((IEnumerable<Card>)list, false, false, false) { Source = (GameEntity)(object)this }; yield return (BattleAction)new InteractionAction((Interaction)(object)interaction, false); if (interaction.SelectedCard == first) { yield return ((Card)this).BuffAction<TempFirepower>(((Card)this).Value1, 0, 0, 0, 0.2f); } else { yield return ((Card)this).BuffAction<TempSpirit>(((Card)this).Value2, 0, 0, 0, 0.2f); } } } 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("ChenRedBlue"); } public override CardImages LoadCardImages() { return null; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)BepinexPlugin.CardBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0195: Unknown result type (might be due to invalid IL or missing references) //IL_019b: Expected O, but got Unknown string[][] array = new string[0][]; TargetType? val = (TargetType)4; List<ManaColor> obj = new List<ManaColor> { (ManaColor)2, (ManaColor)4 }; ManaGroup val2 = default(ManaGroup); ((ManaGroup)(ref val2)).Hybrid = 1; ((ManaGroup)(ref val2)).HybridColor = 5; return new CardConfig(6013, "", 10, true, array, "", "", 0, false, true, true, false, true, (Rarity)0, (CardType)3, val, (IReadOnlyList<ManaColor>)obj, false, val2, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)2, (int?)3, (int?)3, (int?)4, (ManaGroup?)null, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (Keyword)0, (Keyword)8388608, false, (Keyword)0, (Keyword)0, (IReadOnlyList<string>)new List<string> { "TempFirepower", "TempSpirit" }, (IReadOnlyList<string>)new List<string> { "TempFirepower", "TempSpirit" }, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (string)null, "", "", false, (string)null, (IReadOnlyList<string>)new List<string>()); } } public sealed class CirnoIceBreakDef : CardTemplate { [EntityLogic(typeof(CirnoIceBreakDef))] public sealed class CirnoIceBreak : Card { public override Interaction Precondition() { //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Expected O, but got Unknown List<Card> list = ((Card)this).Battle.DrawZone.ToList(); list.Reverse(); List<Card> list2 = new List<Card>(); for (int i = 1; i <= ((Card)this).Value1; i++) { if (list.FirstOrDefault() == null) { break; } list2.Add(list.FirstOrDefault()); list.RemoveAt(0); } if (list2.Count > 0) { return (Interaction)new SelectCardInteraction(0, ((Card)this).Value1, (IEnumerable<Card>)list2, (SelectedCardHandling)0); } return null; } protected override IEnumerable<BattleAction> Actions(UnitSelector selector, ManaGroup consumingMana, Interaction precondition) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) if (precondition != null) { IReadOnlyList<Card> cards = ((SelectCardInteraction)precondition).SelectedCards; if (cards.Count > 0) { yield return (BattleAction)new ExileManyCardAction((IEnumerable<Card>)cards); yield return (BattleAction)new DrawManyCardAction(cards.Count); } } } } 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("CirnoIceBreak"); } public override CardImages LoadCardImages() { return null; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)BepinexPlugin.CardBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0065: 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_0077: 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_0190: Expected O, but got Unknown string[][] array = new string[0][]; TargetType? val = (TargetType)4; List<ManaColor> obj = new List<ManaColor> { (ManaColor)2, (ManaColor)3 }; ManaGroup val2 = default(ManaGroup); ((ManaGroup)(ref val2)).Any = 1; ((ManaGroup)(ref val2)).Hybrid = 1; ((ManaGroup)(ref val2)).HybridColor = 4; ManaGroup val3 = val2; val2 = default(ManaGroup); ((ManaGroup)(ref val2)).Any = 2; return new CardConfig(6008, "", 10, true, array, "", "", 0, false, true, true, false, true, (Rarity)1, (CardType)3, val, (IReadOnlyList<ManaColor>)obj, false, val3, (ManaGroup?)val2, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)2, (int?)3, (int?)null, (int?)null, (ManaGroup?)null, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (Keyword)0, (Keyword)0, false, (Keyword)131072, (Keyword)131072, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), "Cirno", "", "", false, (string)null, (IReadOnlyList<string>)new List<string>()); } } public sealed class CirnoRecruitmentDef : CardTemplate { [EntityLogic(typeof(CirnoRecruitmentDef))] public sealed class CirnoRecruitment : Card { protected override IEnumerable<BattleAction> Actions(UnitSelector selector, ManaGroup consumingMana, Interaction precondition) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) List<CirnoRecruitment> list = Library.CreateCards<CirnoRecruitment>(2, ((Card)this).IsUpgraded).ToList(); CirnoRecruitment first = list[0]; CirnoRecruitment cirnoRecruitment = list[1]; ((Card)first).ShowWhichDescription = 1; ((Card)cirnoRecruitment).ShowWhichDescription = 2; ((Card)first).SetBattle(((Card)this).Battle); ((Card)cirnoRecruitment).SetBattle(((Card)this).Battle); MiniSelectCardInteraction interaction = new MiniSelectCardInteraction((IEnumerable<Card>)list, false, false, false) { Source = (GameEntity)(object)this }; yield return (BattleAction)new InteractionAction((Interaction)(object)interaction, false); if (interaction.SelectedCard == first) { List<Card> listU = ((Card)this).Battle.RollCardsWithoutManaLimit(new CardWeightTable(RarityWeightTable.NoneRare, OwnerWeightTable.AllOnes, CardTypeWeightTable.OnlyFriend, false), 1, (Predicate<CardConfig>)((CardConfig config) => config.Colors.Contains((ManaColor)2))).ToList(); listU.AddRange(((Card)this).Battle.RollCardsWithoutManaLimit(new CardWeightTable(RarityWeightTable.NoneRare, OwnerWeightTable.AllOnes, CardTypeWeightTable.OnlyFriend, false), 1, (Predicate<CardConfig>)((CardConfig config) => config.Colors.Contains((ManaColor)2))).ToList()); foreach (Card card2 in listU) { card2.Summon(); } yield return (BattleAction)new AddCardsToHandAction((IEnumerable<Card>)listU, (AddCardsType)0); } else { List<Card> listU2 = ((Card)this).Battle.RollCardsWithoutManaLimit(new CardWeightTable(RarityWeightTable.NoneRare, OwnerWeightTable.AllOnes, CardTypeWeightTable.OnlyFriend, false), 1, (Predicate<CardConfig>)((CardConfig config) => config.Colors.Contains((ManaColor)5))).ToList(); listU2.AddRange(((Card)this).Battle.RollCardsWithoutManaLimit(new CardWeightTable(RarityWeightTable.NoneRare, OwnerWeightTable.AllOnes, CardTypeWeightTable.OnlyFriend, false), 1, (Predicate<CardConfig>)((CardConfig config) => config.Colors.Contains((ManaColor)5))).ToList()); foreach (Card card in listU2) { card.Summon(); } yield return (BattleAction)new AddCardsToHandAction((IEnumerable<Card>)listU2, (AddCardsType)0); } yield return (BattleAction)new LockRandomTurnManaAction(((Card)this).Value2); } } 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("CirnoRecruitment"); } public override CardImages LoadCardImages() { return null; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)BepinexPlugin.CardBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0065: 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_0089: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Unknown result type (might be due to invalid IL or missing references) //IL_01a5: Expected O, but got Unknown string[][] array = new string[0][]; TargetType? val = (TargetType)4; List<ManaColor> obj = new List<ManaColor> { (ManaColor)2, (ManaColor)5 }; ManaGroup val2 = default(ManaGroup); ((ManaGroup)(ref val2)).Any = 3; ((ManaGroup)(ref val2)).Blue = 1; ((ManaGroup)(ref val2)).Green = 1; ManaGroup val3 = val2; val2 = default(ManaGroup); ((ManaGroup)(ref val2)).Any = 2; ((ManaGroup)(ref val2)).Blue = 1; ((ManaGroup)(ref val2)).Green = 1; return new CardConfig(6007, "", 10, true, array, "", "", 0, false, true, true, false, true, (Rarity)1, (CardType)3, val, (IReadOnlyList<ManaColor>)obj, false, val3, (ManaGroup?)val2, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)2, (int?)null, (int?)2, (int?)1, (ManaGroup?)null, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (Keyword)0, (Keyword)0, false, (Keyword)299067162755072L, (Keyword)299067162755072L, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), "Cirno", "", "", false, (string)null, (IReadOnlyList<string>)new List<string>()); } } public sealed class CirnoShadowFlowerDef : CardTemplate { [EntityLogic(typeof(CirnoShadowFlowerDef))] public sealed class CirnoShadowFlower : Card { protected override IEnumerable<BattleAction> Actions(UnitSelector selector, ManaGroup consumingMana, Interaction precondition) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) int total2 = ((Card)this).GrowCount + 2; while (total2 > 0) { int num = Math.Min(5, total2); total2 -= num; List<Card> list = new List<Card>(); for (int i = 0; i < num; i++) { list.Add(Library.CreateCard(typeof(SummerFlower))); } if (((Card)this).IsUpgraded) { foreach (Card card in list) { card.IsReplenish = true; } } yield return (BattleAction)new AddCardsToDrawZoneAction((IEnumerable<Card>)list, (DrawZoneTarget)2, (AddCardsType)1); } total2 = ((Card)this).GrowCount + 1; while (total2 > 0) { int num2 = Math.Min(5, total2); total2 -= num2; List<Card> list2 = new List<Card>(); for (int j = 0; j < num2; j++) { list2.Add(Library.CreateCard(typeof(Shadow))); } if (((Card)this).IsUpgraded) { foreach (Card card2 in list2) { card2.IsReplenish = true; } } yield return (BattleAction)new AddCardsToDiscardAction((IEnumerable<Card>)list2, (AddCardsType)1); } } } 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("CirnoShadowFlower"); } public override CardImages LoadCardImages() { return null; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)BepinexPlugin.CardBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_01b2: Unknown result type (might be due to invalid IL or missing references) //IL_01b8: Expected O, but got Unknown string[][] array = new string[0][]; TargetType? val = (TargetType)4; List<ManaColor> obj = new List<ManaColor> { (ManaColor)3, (ManaColor)5 }; ManaGroup val2 = default(ManaGroup); ((ManaGroup)(ref val2)).Any = 1; ((ManaGroup)(ref val2)).Black = 1; ((ManaGroup)(ref val2)).Green = 1; return new CardConfig(6009, "", 10, true, array, "", "", 0, false, true, true, false, true, (Rarity)1, (CardType)3, val, (IReadOnlyList<ManaColor>)obj, false, val2, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)2, (int?)null, (int?)1, (int?)null, (ManaGroup?)null, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (Keyword)0, (Keyword)0, false, (Keyword)4398046511104L, (Keyword)4398054899712L, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string> { "SummerFlower", "Shadow" }, (IReadOnlyList<string>)new List<string> { "SummerFlower", "Shadow" }, "Cirno", "", "", false, (string)null, (IReadOnlyList<string>)new List<string>()); } } public sealed class HinaFriendDef : CardTemplate { [EntityLogic(typeof(HinaFriendDef))] public sealed class HinaFriend : Card { public string Indent { get; } = "<indent=80>"; public string PassiveCostIcon => $"<indent=0><sprite=\"Passive\" name=\"{((Card)this).PassiveCost}\">{Indent}"; public string ActiveCostIcon => $"<indent=0><sprite=\"Active\" name=\"{((Card)this).ActiveCost}\">{Indent}"; public string UltimateCostIcon => $"<indent=0><sprite=\"Ultimate\" name=\"{((Card)this).UltimateCost}\">{Indent}"; public override IEnumerable<BattleAction> OnTurnStartedInHand() { return ((Card)this).GetPassiveActions(); } public override IEnumerable<BattleAction> GetPassiveActions() { if (!((Card)this).Summoned || ((Card)this).Battle.BattleShouldEnd) { yield break; } <>n__0(); ((Card)this).Loyalty = ((Card)this).Loyalty + ((Card)this).PassiveCost; for (int i = 0; i < ((Card)this).Battle.FriendPassiveTimes; i++) { if (((Card)this).Battle.BattleShouldEnd) { break; } List<Card> Exile = (from card in ((Card)this).Battle.HandZone.Concat(((Card)this).Battle.DrawZoneToShow).Concat(((Card)this).Battle.DiscardZone) where (int)card.CardType == 8 || (int)card.CardType == 7 select card).ToList(); if (Exile.Count > 0) { List<Card> ExileCard = CollectionsExtensions.SampleManyOrAll<Card>((IEnumerable<Card>)Exile, 1, ((GameEntity)this).GameRun.BattleRng).ToList(); yield return (BattleAction)new ExileManyCardAction((IEnumerable<Card>)ExileCard); } } } protected override IEnumerable<BattleAction> Actions(UnitSelector selector, ManaGroup consumingMana, Interaction precondition) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) ((Card)this).Loyalty = ((Card)this).Loyalty + ((Card)this).ActiveCost; ((Card)this).CardGuns = new Guns(((Card)this).GunName, ((Card)this).Value1, true); foreach (GunPair gunPair in ((Card)this).CardGuns.GunPairs) { _ = gunPair; yield return ((Card)this).AttackAction((Unit)(object)((Card)this).Battle.RandomAliveEnemy); } List<Card> Curse = new List<Card> { ((GameEntity)this).GameRun.GetRandomCurseCard(((GameEntity)this).GameRun.BattleCardRng, true), ((GameEntity)this).GameRun.GetRandomCurseCard(((GameEntity)this).GameRun.BattleCardRng, true) }; yield return (BattleAction)new AddCardsToDiscardAction((IEnumerable<Card>)Curse, (AddCardsType)0); yield return (BattleAction)(object)((Card)this).SkillAnime; } [CompilerGenerated] [DebuggerHidden] private void <>n__0() { ((Card)this).NotifyActivating(); } } 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("HinaFriend"); } public override CardImages LoadCardImages() { return null; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)BepinexPlugin.CardBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //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_016e: Unknown result type (might be due to invalid IL or missing references) //IL_0174: Expected O, but got Unknown string[][] array = new string[0][]; string gunFromId = GunNameID.GetGunFromId(7030); string gunFromId2 = GunNameID.GetGunFromId(7031); TargetType? val = (TargetType)0; List<ManaColor> obj = new List<ManaColor> { (ManaColor)2, (ManaColor)3 }; ManaGroup val2 = default(ManaGroup); ((ManaGroup)(ref val2)).Any = 1; ((ManaGroup)(ref val2)).Blue = 1; ((ManaGroup)(ref val2)).Black = 1; return new CardConfig(6015, "", 10, true, array, gunFromId, gunFromId2, 0, false, true, true, false, true, (Rarity)1, (CardType)5, val, (IReadOnlyList<ManaColor>)obj, false, val2, (ManaGroup?)null, (int?)null, (int?)15, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)2, (int?)3, (int?)2, (int?)null, (ManaGroup?)null, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)3, (int?)5, (int?)(-1), (int?)null, (int?)2, (int?)3, (int?)null, (int?)null, (Keyword)0, (Keyword)0, false, (Keyword)131080, (Keyword)131080, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (string)null, "", "", false, (string)null, (IReadOnlyList<string>)new List<string>()); } } public sealed class KeineHistoryEaterDef : CardTemplate { [EntityLogic(typeof(KeineHistoryEaterDef))] public sealed class KeineHistoryEater : Card { public override Interaction Precondition() { //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Expected O, but got Unknown List<Card> list = (from card in ((Card)this).Battle.DrawZoneToShow.Concat(((Card)this).Battle.DiscardZone) where card != this select card).ToList(); if (!CollectionsExtensions.Empty<Card>((IReadOnlyCollection<Card>)list)) { return (Interaction)new SelectCardInteraction(1, ((Card)this).Value1, (IEnumerable<Card>)list, (SelectedCardHandling)0); } return null; } protected override IEnumerable<BattleAction> Actions(UnitSelector selector, ManaGroup consumingMana, Interaction precondition) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) if (precondition != null) { IReadOnlyList<Card> readOnlyList = ((SelectCardInteraction)precondition).SelectedCards; if (readOnlyList.Count > 0) { yield return (BattleAction)new ExileManyCardAction((IEnumerable<Card>)readOnlyList); } } yield return (BattleAction)new AddCardsToDiscardAction((Card[])(object)new Card[1] { Library.CreateCard<KeineHistoryMakerDef.KeineHistoryMaker>(((Card)this).IsUpgraded) }); } public override IEnumerable<BattleAction> AfterUseAction() { yield return ((Card)this).EchoCloneAction(); yield return (BattleAction)new RemoveCardAction((Card)(object)this); } } 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("KeineHistoryEater"); } public override CardImages LoadCardImages() { return null; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)BepinexPlugin.CardBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_018b: Unknown result type (might be due to invalid IL or missing references) //IL_0191: Expected O, but got Unknown string[][] array = new string[0][]; TargetType? val = (TargetType)4; List<ManaColor> obj = new List<ManaColor> { (ManaColor)2, (ManaColor)3 }; ManaGroup val2 = default(ManaGroup); ((ManaGroup)(ref val2)).Blue = 1; ((ManaGroup)(ref val2)).Black = 1; return new CardConfig(6019, "", 10, true, array, "", "", 0, false, true, true, false, true, (Rarity)1, (CardType)3, val, (IReadOnlyList<ManaColor>)obj, false, val2, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)5, (int?)7, (int?)null, (int?)null, (ManaGroup?)null, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (Keyword)0, (Keyword)8388608, false, (Keyword)131072, (Keyword)131072, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string> { "KeineHistoryMaker" }, (IReadOnlyList<string>)new List<string> { "KeineHistoryMaker" }, (string)null, "", "", false, (string)null, (IReadOnlyList<string>)new List<string>()); } } public sealed class KeineHistoryMakerDef : CardTemplate { [EntityLogic(typeof(KeineHistoryMakerDef))] public sealed class KeineHistoryMaker : Card { public override ManaGroup? PlentifulMana => ((Card)this).Mana; protected override IEnumerable<BattleAction> Actions(UnitSelector selector, ManaGroup consumingMana, Interaction precondition) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) Card[] array = CollectionsExtensions.SampleManyOrAll<Card>((IEnumerable<Card>)((Card)this).Battle.ExileZone, ((Card)this).Value1, ((GameEntity)this).GameRun.BattleRng); if (array.Length != 0) { MiniSelectCardInteraction interaction = new MiniSelectCardInteraction((IEnumerable<Card>)array, false, false, false) { Source = (GameEntity)(object)this }; yield return (BattleAction)new InteractionAction((Interaction)(object)interaction, false); Card card = interaction.SelectedCard; yield return (BattleAction)new MoveCardAction(card, (CardZone)2); } yield return (BattleAction)new AddCardsToDiscardAction((Card[])(object)new Card[1] { Library.CreateCard<KeineHistoryEaterDef.KeineHistoryEater>(((Card)this).IsUpgraded) }); } public override IEnumerable<BattleAction> AfterUseAction() { yield return ((Card)this).EchoCloneAction(); yield return (BattleAction)new RemoveCardAction((Card)(object)this); } } 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("KeineHistoryMaker"); } public override CardImages LoadCardImages() { return null; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)BepinexPlugin.CardBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_00e5: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_01ac: Unknown result type (might be due to invalid IL or missing references) //IL_01b2: Expected O, but got Unknown string[][] array = new string[0][]; TargetType? val = (TargetType)4; List<ManaColor> obj = new List<ManaColor> { (ManaColor)1, (ManaColor)5 }; ManaGroup val2 = default(ManaGroup); ((ManaGroup)(ref val2)).Any = 1; ((ManaGroup)(ref val2)).White = 1; ((ManaGroup)(ref val2)).Green = 1; ManaGroup val3 = val2; int? num = 3; int? num2 = 5; val2 = default(ManaGroup); ((ManaGroup)(ref val2)).Colorless = 1; ManaGroup? val4 = val2; val2 = default(ManaGroup); ((ManaGroup)(ref val2)).Philosophy = 1; return new CardConfig(6020, "", 10, true, array, "", "", 0, false, false, true, true, true, (Rarity)1, (CardType)3, val, (IReadOnlyList<ManaColor>)obj, false, val3, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, num, num2, (int?)null, (int?)null, val4, (ManaGroup?)val2, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (Keyword)0, (Keyword)0, false, (Keyword)131072, (Keyword)131072, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string> { "KeineHistoryEater" }, (IReadOnlyList<string>)new List<string> { "KeineHistoryEater" }, (string)null, "", "", false, (string)null, (IReadOnlyList<string>)new List<string>()); } } public sealed class MizuchiRetainOverdraftDef : CardTemplate { [EntityLogic(typeof(MizuchiRetainOverdraftDef))] public sealed class MizuchiRetainOverdraft : Card { public override IEnumerable<BattleAction> OnRetain() { if ((int)((Card)this).Zone == 2) { yield return (BattleAction)new LockRandomTurnManaAction(((Card)this).Value2); } } protected override IEnumerable<BattleAction> Actions(UnitSelector selector, ManaGroup consumingMana, Interaction precondition) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) yield return ((Card)this).DefenseAction(true); yield return ((Card)this).AttackAction(selector, ((Card)this).GunName); yield return ((Card)this).DebuffAction<Weak>((Unit)(object)selector.GetEnemy(((Card)this).Battle), 0, ((Card)this).Value1, 0, 0, true, 0.2f); } } 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("MizuchiRetainOverdraft"); } public override CardImages LoadCardImages() { return null; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)BepinexPlugin.CardBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //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_019d: Unknown result type (might be due to invalid IL or missing references) //IL_01a3: Expected O, but got Unknown string[][] array = new string[0][]; string gunFromId = GunNameID.GetGunFromId(7080); string gunFromId2 = GunNameID.GetGunFromId(7081); TargetType? val = (TargetType)1; List<ManaColor> obj = new List<ManaColor> { (ManaColor)1, (ManaColor)3 }; ManaGroup val2 = default(ManaGroup); ((ManaGroup)(ref val2)).Any = 4; ((ManaGroup)(ref val2)).White = 1; ((ManaGroup)(ref val2)).Black = 1; return new CardConfig(6012, "", 10, true, array, gunFromId, gunFromId2, 0, false, true, true, false, true, (Rarity)2, (CardType)1, val, (IReadOnlyList<ManaColor>)obj, false, val2, (ManaGroup?)null, (int?)null, (int?)38, (int?)52, (int?)38, (int?)52, (int?)null, (int?)null, (int?)2, (int?)3, (int?)2, (int?)null, (ManaGroup?)null, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (Keyword)2097408, (Keyword)2097408, false, (Keyword)17592186044928L, (Keyword)17592186044928L, (IReadOnlyList<string>)new List<string> { "Weak" }, (IReadOnlyList<string>)new List<string> { "Weak" }, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (string)null, "", "", false, (string)null, (IReadOnlyList<string>)new List<string>()); } } public sealed class ParseeJealousDef : CardTemplate { [EntityLogic(typeof(ParseeJealousDef))] public sealed class ParseeJealous : Card { private static readonly List<Type> CurseCommon = new List<Type> { typeof(Regret), typeof(Jealousy), typeof(BefuddledLife), typeof(XiaosanJingxia), typeof(MarisaForget), typeof(Yuebiao), typeof(BuyPeace), typeof(SweetPoison), typeof(Misfortune), typeof(CurseDiscardDef.CurseDiscard), typeof(CurseNecromancyDef.CurseNecromancy) }; private static readonly List<Type> CurseUncommon = new List<Type> { typeof(Pressure), typeof(YuyukoMisfortune), typeof(Drunk), typeof(Zhukeling), typeof(Psychedelic), typeof(CurseFirelightDef.CurseFirelight), typeof(CurseMoonlightDef.CurseMoonlight), typeof(CurseStarlightDef.CurseStarlight), typeof(CurseVulnerableDef.CurseVulnerable) }; private static readonly List<Type> CurseRare = new List<Type> { typeof(FanzhuanChongdong), typeof(CurseCopyDef.CurseCopy), typeof(CurseFullDef.CurseFull) }; protected override IEnumerable<BattleAction> Actions(UnitSelector selector, ManaGroup consumingMana, Interaction precondition) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) if (((Card)this).IsUpgraded) { yield return (BattleAction)new GainManaAction(((Card)this).Mana); } List<Card> choice = ((Card)this).Battle.RollCards(new CardWeightTable(RarityWeightTable.OnlyCommon, OwnerWeightTable.Valid, CardTypeWeightTable.CanBeLoot, false), 1, (Predicate<CardConfig>)null).ToList(); choice.AddRange(((Card)this).Battle.RollCards(new CardWeightTable(RarityWeightTable.OnlyUncommon, OwnerWeightTable.Valid, CardTypeWeightTable.CanBeLoot, false), 1, (Predicate<CardConfig>)null)); choice.AddRange(((Card)this).Battle.RollCards(new CardWeightTable(RarityWeightTable.OnlyRare, OwnerWeightTable.Valid, CardTypeWeightTable.CanBeLoot, false), 1, (Predicate<CardConfig>)null)); if (choice.Count > 0) { MiniSelectCardInteraction interaction = new MiniSelectCardInteraction((IEnumerable<Card>)choice, false, false, false) { Source = (GameEntity)(object)this }; yield return (BattleAction)new InteractionAction((Interaction)(object)interaction, false); Card selectedCard = interaction.SelectedCard; selectedCard.IsRetain = true; selectedCard.IsExile = true; yield return (BattleAction)new AddCardsToHandAction((Card[])(object)new Card[1] { selectedCard }); Card Curse; if (selectedCard == choice[0]) { List<Type> list3 = ObjectExtensions.Copy<List<Type>>(CurseCommon); CollectionsExtensions.Shuffle<Type>((IList<Type>)list3, ((GameEntity)this).GameRun.BattleRng); Curse = Library.CreateCard(list3.First()); } else if (selectedCard == choice[1]) { List<Type> list2 = ObjectExtensions.Copy<List<Type>>(CurseUncommon); CollectionsExtensions.Shuffle<Type>((IList<Type>)list2, ((GameEntity)this).GameRun.BattleRng); Curse = Library.CreateCard(list2.First()); } else { List<Type> list = ObjectExtensions.Copy<List<Type>>(CurseRare); CollectionsExtensions.Shuffle<Type>((IList<Type>)list, ((GameEntity)this).GameRun.BattleRng); Curse = Library.CreateCard(list.First()); } yield return (BattleAction)new AddCardsToDiscardAction((Card[])(object)new Card[1] { Curse }); } } } 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("ParseeJealous"); } public override CardImages LoadCardImages() { return null; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)BepinexPlugin.CardBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: 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_0197: Expected O, but got Unknown string[][] array = new string[0][]; TargetType? val = (TargetType)4; List<ManaColor> obj = new List<ManaColor> { (ManaColor)3, (ManaColor)5 }; ManaGroup val2 = default(ManaGroup); ((ManaGroup)(ref val2)).Hybrid = 1; ((ManaGroup)(ref val2)).HybridColor = 8; ManaGroup val3 = val2; int? num = 3; val2 = default(ManaGroup); ((ManaGroup)(ref val2)).Black = 1; ((ManaGroup)(ref val2)).Green = 1; return new CardConfig(6010, "", 10, true, array, "", "", 0, false, true, true, false, true, (Rarity)0, (CardType)3, val, (IReadOnlyList<ManaColor>)obj, false, val3, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, num, (int?)null, (int?)null, (int?)null, (ManaGroup?)val2, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (Keyword)131072, (Keyword)131072, false, (Keyword)2097160, (Keyword)2097160, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (string)null, "", "", false, (string)null, (IReadOnlyList<string>)new List<string>()); } } public sealed class SakuyaBlockDiscardDef : CardTemplate { [EntityLogic(typeof(SakuyaBlockDiscardDef))] public sealed class SakuyaBlockDiscard : Card { public override IEnumerable<BattleAction> OnDiscard(CardZone srcZone) { //IL_000f: 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) yield return (BattleAction)new MoveCardAction((Card)(object)this, (CardZone)2); ((Card)this).SetTurnCost(((Card)this).Mana); } } 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("SakuyaBlockDiscard"); } public override CardImages LoadCardImages() { return null; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)BepinexPlugin.CardBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_0180: Unknown result type (might be due to invalid IL or missing references) //IL_0186: Expected O, but got Unknown string[][] array = new string[0][]; TargetType? val = (TargetType)4; List<ManaColor> obj = new List<ManaColor> { (ManaColor)2 }; ManaGroup val2 = default(ManaGroup); ((ManaGroup)(ref val2)).Any = 2; ((ManaGroup)(ref val2)).Blue = 1; ManaGroup val3 = val2; int? num = 20; int? num2 = 24; val2 = default(ManaGroup); ((ManaGroup)(ref val2)).Blue = 1; ManaGroup? val4 = val2; val2 = default(ManaGroup); return new CardConfig(6003, "", 10, true, array, "", "", 0, false, true, true, false, true, (Rarity)1, (CardType)2, val, (IReadOnlyList<ManaColor>)obj, false, val3, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, num, num2, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, val4, (ManaGroup?)val2, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (Keyword)0, (Keyword)0, false, (Keyword)512, (Keyword)512, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), "Sakuya", "", "", false, (string)null, (IReadOnlyList<string>)new List<string>()); } } public sealed class SakuyaButterDef : CardTemplate { [EntityLogic(typeof(SakuyaButterDef))] public sealed class SakuyaButter : Card { protected override void OnEnterBattle(BattleController battle) { ((Card)this).ReactBattleEvent<CardEventArgs>(((Card)this).Battle.CardDrawn, (EventSequencedReactor<CardEventArgs>)OnCardDrawn); } private IEnumerable<BattleAction> OnCardDrawn(CardEventArgs args) { if (!((Card)this).Battle.BattleShouldEnd && (int)((Card)this).Zone == 2 && args.Card is Knife) { <>n__0(); List<Card> card = ((Card)this).Battle.HandZone.Where((Card hand) => hand == args.Card).ToList(); if (((Card)this).IsUpgraded) { card[0].IsUpgraded = true; } yield return (BattleAction)new DiscardManyAction((IEnumerable<Card>)card); } } [CompilerGenerated] [DebuggerHidden] private void <>n__0() { ((Card)this).NotifyActivating(); } } 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("SakuyaButter"); } public override CardImages LoadCardImages() { return null; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)BepinexPlugin.CardBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_017f: Unknown result type (might be due to invalid IL or missing references) //IL_0185: Expected O, but got Unknown return new CardConfig(6005, "", 10, true, new string[0][], "", "", 0, false, true, true, false, true, (Rarity)1, (CardType)3, (TargetType?)(TargetType)4, (IReadOnlyList<ManaColor>)new List<ManaColor> { (ManaColor)1, (ManaColor)3 }, false, default(ManaGroup), (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (ManaGroup?)null, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (Keyword)2228224, (Keyword)2228224, false, (Keyword)0, (Keyword)0, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string> { "Knife" }, (IReadOnlyList<string>)new List<string> { "Knife" }, "Sakuya", "", "", false, (string)null, (IReadOnlyList<string>)new List<string>()); } } public sealed class SakuyaKasumiDef : CardTemplate { [EntityLogic(typeof(SakuyaKasumiDef))] public sealed class SakuyaKasumi : Card { protected override IEnumerable<BattleAction> Actions(UnitSelector selector, ManaGroup consumingMana, Interaction precondition) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) List<Card> card = new List<Card> { Library.CreateCard(typeof(MaidFriend)) }; card[0].Summon(); card[0].IsUpgraded = true; yield return (BattleAction)new AddCardsToHandAction((IEnumerable<Card>)card, (AddCardsType)0); if (((Card)this).IsUpgraded) { yield return ((Card)this).BuffAction<MaidFriendSe>(((Card)this).Value1, 0, 0, 0, 0.2f); } } } 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("SakuyaKasumi"); } public override CardImages LoadCardImages() { return null; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)BepinexPlugin.CardBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_019d: Unknown result type (might be due to invalid IL or missing references) //IL_01a3: Expected O, but got Unknown string[][] array = new string[0][]; TargetType? val = (TargetType)4; List<ManaColor> obj = new List<ManaColor> { (ManaColor)2, (ManaColor)5 }; ManaGroup val2 = default(ManaGroup); ((ManaGroup)(ref val2)).Any = 1; ((ManaGroup)(ref val2)).Blue = 1; ((ManaGroup)(ref val2)).Green = 1; return new CardConfig(6006, "", 10, true, array, "", "", 0, false, true, true, false, true, (Rarity)1, (CardType)3, val, (IReadOnlyList<ManaColor>)obj, false, val2, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)6, (int?)null, (int?)null, (int?)null, (ManaGroup?)null, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (Keyword)0, (Keyword)0, false, (Keyword)281474976710656L, (Keyword)281474976710656L, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string> { "MaidFriend" }, (IReadOnlyList<string>)new List<string> { "MaidFriend" }, "Sakuya", "", "", false, (string)null, (IReadOnlyList<string>)new List<string>()); } } public sealed class SakuyaPulseDiscardDef : CardTemplate { [EntityLogic(typeof(SakuyaPulseDiscardDef))] public sealed class SakuyaPulseDiscard : Card { public override bool DiscardCard => true; public override Interaction Precondition() { //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Expected O, but got Unknown List<Card> list = (from hand in ((Card)this).Battle.HandZone where hand != this select hand into c where (int)c.Config.Type == 1 select c).ToList(); if (!CollectionsExtensions.Empty<Card>((IReadOnlyCollection<Card>)list)) { return (Interaction)new SelectHandInteraction(0, list.Count, (IEnumerable<Card>)list); } return null; } protected override IEnumerable<BattleAction> Actions(UnitSelector selector, ManaGroup consumingMana, Interaction precondition) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) SelectHandInteraction selectHandInteraction = (SelectHandInteraction)precondition; int Count = 0; if (selectHandInteraction != null) { Count = selectHandInteraction.SelectedCards.Count; yield return (BattleAction)new DiscardManyAction((IEnumerable<Card>)selectHandInteraction.SelectedCards); } yield return ((Card)this).AttackAction(selector, ((Card)this).GunName); if (!((Card)this).Battle.BattleShouldEnd) { yield return ((Card)this).BuffAction<TimeAuraSe>(((Card)this).Value1, 0, 0, 0, 0.2f); for (int i = 0; i < Count; i++) { yield return ((Card)this).BuffAction<TimeAuraSe>(((Card)this).Value2, 0, 0, 0, 0.2f); } } } } 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("SakuyaPulseDiscard"); } public override CardImages LoadCardImages() { return null; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)BepinexPlugin.CardBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //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_0193: Unknown result type (might be due to invalid IL or missing references) //IL_0199: Expected O, but got Unknown string[][] array = new string[0][]; string gunFromId = GunNameID.GetGunFromId(4032); string gunFromId2 = GunNameID.GetGunFromId(4032); TargetType? val = (TargetType)2; List<ManaColor> obj = new List<ManaColor> { (ManaColor)1, (ManaColor)2 }; ManaGroup val2 = default(ManaGroup); ((ManaGroup)(ref val2)).Any = 1; ((ManaGroup)(ref val2)).White = 1; ((ManaGroup)(ref val2)).Blue = 1; return new CardConfig(6004, "", 10, true, array, gunFromId, gunFromId2, 0, false, true, true, false, true, (Rarity)2, (CardType)1, val, (IReadOnlyList<ManaColor>)obj, false, val2, (ManaGroup?)null, (int?)null, (int?)12, (int?)15, (int?)null, (int?)null, (int?)null, (int?)null, (int?)6, (int?)null, (int?)3, (int?)4, (ManaGroup?)null, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (Keyword)0, (Keyword)256, false, (Keyword)0, (Keyword)0, (IReadOnlyList<string>)new List<string> { "TimeAuraSe" }, (IReadOnlyList<string>)new List<string> { "TimeAuraSe" }, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), "Sakuya", "", "", false, (string)null, (IReadOnlyList<string>)new List<string>()); } } public sealed class SakuyaSharpenUpDef : CardTemplate { [EntityLogic(typeof(SakuyaSharpenUpDef))] public sealed class SakuyaSharpenUp : Card { public override ManaGroup AdditionalCost { get { //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0021: 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) if (((Card)this).Battle != null) { return ((Card)this).Mana * -KnifeHandCount; } return ((Card)this).Mana * 0; } } private int KnifeHandCount { get { if (((Card)this).Battle != null) { return ((Card)this).Battle.HandZone.Count((Card card) => card is Knife); } return 0; } } protected override IEnumerable<BattleAction> Actions(UnitSelector selector, ManaGroup consumingMana, Interaction precondition) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) yield return ((Card)this).BuffAction<Firepower>(((Card)this).Value1, 0, 0, 0, 0.2f); } } 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("SakuyaSharpenUp"); } public override CardImages LoadCardImages() { return null; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)BepinexPlugin.CardBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_01a1: Unknown result type (might be due to invalid IL or missing references) //IL_01a7: Expected O, but got Unknown string[][] array = new string[0][]; TargetType? val = (TargetType)4; List<ManaColor> obj = new List<ManaColor> { (ManaColor)1 }; ManaGroup val2 = default(ManaGroup); ((ManaGroup)(ref val2)).Any = 5; ((ManaGroup)(ref val2)).White = 2; ManaGroup val3 = val2; int? num = 5; int? num2 = 8; val2 = default(ManaGroup); ((ManaGroup)(ref val2)).Any = 1; return new CardConfig(6002, "", 10, true, array, "", "", 0, false, true, true, false, true, (Rarity)1, (CardType)4, val, (IReadOnlyList<ManaColor>)obj, false, val3, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, num, num2, (int?)null, (int?)null, (ManaGroup?)val2, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (Keyword)0, (Keyword)0, false, (Keyword)0, (Keyword)0, (IReadOnlyList<string>)new List<string> { "Firepower" }, (IReadOnlyList<string>)new List<string> { "Firepower" }, (IReadOnlyList<string>)new List<string> { "Knife" }, (IReadOnlyList<string>)new List<string> { "Knife" }, "Sakuya", "", "", false, (string)null, (IReadOnlyList<string>)new List<string>()); } } public sealed class SukunaExileDef : CardTemplate { [EntityLogic(typeof(SukunaExileDef))] public sealed class SukunaExile : Card { protected override IEnumerable<BattleAction> Actions(UnitSelector selector, ManaGroup consumingMana, Interaction precondition) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) List<Card> list = (from card in ((Card)this).Battle.HandZone.Concat(((Card)this).Battle.DrawZoneToShow).Concat(((Card)this).Battle.DiscardZone) where card != this && ((Enum)card.Keywords).HasFlag((Enum)(object)(Keyword)2) select card).ToList(); if (CollectionsExtensions.Empty<Card>((IReadOnlyCollection<Card>)list)) { yield break; } int count = list.Count; int total = list.Count; while (total > 0) { int num = Math.Min(5, total); total -= num; List<Card> exile = new List<Card>(); for (int i = 0; i < num; i++) { exile.Add(list[0]); list.RemoveAt(0); } yield return (BattleAction)new ExileManyCardAction((IEnumerable<Card>)exile); } for (int j = 0; j < count; j++) { yield return ((Card)this).DefenseAction(true); yield return ((Card)this).AttackAction(selector, ((Card)this).GunName); } } } 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("SukunaExile"); } public override CardImages LoadCardImages() { return null; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)BepinexPlugin.CardBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0161: Unknown result type (might be due to invalid IL or missing references) //IL_0167: Expected O, but got Unknown string[][] array = new string[0][]; TargetType? val = (TargetType)2; List<ManaColor> obj = new List<ManaColor> { (ManaColor)6 }; ManaGroup val2 = default(ManaGroup); ((ManaGroup)(ref val2)).Any = 3; ((ManaGroup)(ref val2)).Colorless = 1; return new CardConfig(6018, "", 10, true, array, "", "", 0, false, true, true, false, true, (Rarity)2, (CardType)1, val, (IReadOnlyList<ManaColor>)obj, false, val2, (ManaGroup?)null, (int?)null, (int?)5, (int?)8, (int?)5, (int?)7, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (ManaGroup?)null, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (Keyword)131072, (Keyword)1179648, false, (Keyword)2, (Keyword)2, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (string)null, "", "", false, (string)null, (IReadOnlyList<string>)new List<string>()); } } public sealed class SukunaMalletDef : CardTemplate { [EntityLogic(typeof(SukunaMalletDef))] public sealed class SukunaMallet : Card { public override DamageInfo Damage => CalculateDamage(((Card)this).PendingManaUsage); private DamageInfo CalculateDamage(ManaGroup? manaGroup) { //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_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0014: 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_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_0050: Unknown result type (might be due to invalid IL or missing references) if (manaGroup.HasValue) { ManaGroup valueOrDefault = manaGroup.GetValueOrDefault(); return DamageInfo.Attack((float)(((Card)this).RawDamage + ((Card)this).SynergyAmount(valueOrDefault, (ManaColor)0, 1) * ((Card)this).Value1), ((Card)this).IsAccuracy); } return DamageInfo.Attack((float)((Card)this).RawDamage, ((Card)this).IsAccuracy); } protected override IEnumerable<BattleAction> Actions(UnitSelector selector, ManaGroup consumingMana, Interaction precondition) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) DamageInfo val = CalculateDamage(consumingMana); if (((DamageInfo)(ref val)).Amount >= 30f) { yield return ((Card)this).AttackAction((Unit)(object)selector.SelectedEnemy, CalculateDamage(consumingMana), GunNameID.GetGunFromId(903)); } else { yield return ((Card)this).AttackAction((Unit)(object)selector.SelectedEnemy, CalculateDamage(consumingMana), GunNameID.GetGunFromId(902)); } if (!((Card)this).Battle.BattleShouldEnd) { yield return (BattleAction)new GainManaAction(((Card)this).Mana); } } } 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("SukunaMallet"); } public override CardImages LoadCardImages() { return null; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)BepinexPlugin.CardBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0046: 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_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: 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) //IL_0181: Unknown result type (might be due to invalid IL or missing references) //IL_0187: Expected O, but got Unknown string[][] array = new string[0][]; string gunFromId = GunNameID.GetGunFromId(902); string gunFromId2 = GunNameID.GetGunFromId(903); TargetType? val = (TargetType)1; List<ManaColor> obj = new List<ManaColor> { (ManaColor)6 }; ManaGroup val2 = default(ManaGroup); ((ManaGroup)(ref val2)).Colorless = 2; ManaGroup val3 = val2; int? num = 1; int? num2 = 3; int? num3 = 1; val2 = default(ManaGroup); ((ManaGroup)(ref val2)).Colorless = 2; ManaGroup? val4 = val2; val2 = default(ManaGroup); ((ManaGroup)(ref val2)).Colorless = 3; return new CardConfig(6017, "", 10, true, array, gunFromId, gunFromId2, 0, false, true, true, false, true, (Rarity)1, (CardType)1, val, (IReadOnlyList<ManaColor>)obj, true, val3, (ManaGroup?)null, (int?)null, num, num2, (int?)null, (int?)null, (int?)null, (int?)null, num3, (int?)null, (int?)null, (int?)null, val4, (ManaGroup?)val2, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (Keyword)258, (Keyword)258, false, (Keyword)0, (Keyword)0, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (string)null, "", "", false, (string)null, (IReadOnlyList<string>)new List<string>()); } } public sealed class TojikoStaticDef : CardTemplate { [EntityLogic(typeof(TojikoStaticDef))] public sealed class TojikoStatic : Card { protected override IEnumerable<BattleAction> Actions(UnitSelector selector, ManaGroup consumingMana, Interaction precondition) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) yield return ((Card)this).BuffAction<LifeElectricDef.LifeElectric>(((Card)this).Value1, 0, 0, 0, 0.2f); } } 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("TojikoStatic"); } public override CardImages LoadCardImages() { return null; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)BepinexPlugin.CardBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0065: 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_0080: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Unknown result type (might be due to invalid IL or missing references) //IL_01a5: Expected O, but got Unknown string[][] array = new string[0][]; TargetType? val = (TargetType)4; List<ManaColor> obj = new List<ManaColor> { (ManaColor)1, (ManaColor)5 }; ManaGroup val2 = default(ManaGroup); ((ManaGroup)(ref val2)).Any = 1; ((ManaGroup)(ref val2)).White = 1; ((ManaGroup)(ref val2)).Green = 1; ManaGroup val3 = val2; val2 = default(ManaGroup); ((ManaGroup)(ref val2)).White = 1; ((ManaGroup)(ref val2)).Green = 1; return new CardConfig(6014, "", 10, true, array, "", "", 0, false, true, true, false, true, (Rarity)1, (CardType)3, val, (IReadOnlyList<ManaColor>)obj, false, val3, (ManaGroup?)val2, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)3, (int?)4, (int?)null, (int?)null, (ManaGroup?)null, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (Keyword)0, (Keyword)0, false, (Keyword)0, (Keyword)0, (IReadOnlyList<string>)new List<string> { "LifeElectric" }, (IReadOnlyList<string>)new List<string> { "LifeElectric" }, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (string)null, "", "", false, (string)null, (IReadOnlyList<string>)new List<string>()); } } public sealed class LifeElectricDef : StatusEffectTemplate { [EntityLogic(typeof(LifeElectricDef))] public sealed class LifeElectric : StatusEffect { public override string UnitEffectName => "ElectricLoop"; protected override void OnAdded(Unit unit) { ((StatusEffect)this).ReactOwnerEvent<DamageEventArgs>(((StatusEffect)this).Owner.DamageReceived, (EventSequencedReactor<DamageEventArgs>)OnDamageReceived); ((StatusEffect)this).ReactOwnerEvent<DamageEventArgs>(((Unit)((StatusEffect)this).Battle.Player).DamageReceived, (EventSequencedReactor<DamageEventArgs>)OnPlayerDamageReceived); } private IEnumerable<BattleAction> OnDamageReceived(DamageEventArgs args) { if (args.Source != ((StatusEffect)this).Owner && args.Source.IsAlive) { DamageInfo damageInfo = args.DamageInfo; if ((int)((DamageInfo)(ref damageInfo)).DamageType == 2 && ((DamageInfo)(ref damageInfo)).Amount > 0f) { <>n__0(); yield return (BattleAction)new DamageAction(((StatusEffect)this).Owner, args.Source, DamageInfo.Reaction((float)((StatusEffect)this).Level, false), "电击", (GunType)0); } damageInfo = default(DamageInfo); } } private IEnumerable<BattleAction> OnPlayerDamageReceived(DamageEventArgs args) { DamageInfo damageInfo = args.DamageInfo; if (((DamageInfo)(ref damageInfo)).Damage > 0f) { yield return (BattleAction)new RemoveStatusEffectAction((StatusEffect)(object)this, true, 0.1f); } } [CompilerGenerated] [DebuggerHidden] private void <>n__0() { ((StatusEffect)this).NotifyActivating(); } } 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("LifeElectric"); } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)BepinexPlugin.CardBatchLoc.AddEntity((EntityDefinition)(object)this); } public override Sprite LoadSprite() { return ResourceLoader.LoadSprite("LifeElectric.png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null); } public override StatusEffectConfig MakeConfig() { //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Expected O, but got Unknown return new StatusEffectConfig(BepinexPlugin.sequenceTable.Next(typeof(StatusEffectConfig)), "", 10, (StatusEffectType)0, false, true, (int?)null, true, (StackType?)(StackType)0, false, (StackType?)(StackType)0, (DurationDecreaseTiming)0, false, (StackType?)(StackType)3, (StackType?)(StackType)3, false, (Keyword)0, (IReadOnlyList<string>)new List<string>(), "Default", "Default", "Default"); } } public sealed class YamamePlagueDef : CardTemplate { [EntityLogic(typeof(YamamePlagueDef))] public sealed class YamamePlague : Card { [UsedImplicitly] public int Special { get { if (((Card)this).Battle != null) { int num = 0; foreach (EnemyUnit allAliveEnemy in ((Card)this).Battle.AllAliveEnemies) { if (((Unit)allAliveEnemy).HasStatusEffect<Poison>()) { num += ((StatusEffect)((Unit)allAliveEnemy).GetStatusEffect<Poison>()).Level; } } return num; } return 0; } } protected override IEnumerable<BattleAction> Actions(UnitSelector selector, ManaGroup consumingMana, Interaction precondition) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) if (Special != 0) { List<EnemyUnit> units = ((Card)this).Battle.AllAliveEnemies.ToList(); if (((Card)this).IsUpgraded && units.Count == 1) { yield return ((Card)this).BuffAction<NextTurnAreaPoisonDef.NextTurnAreaPoison>(Special * 2, 0, 0, 0, 0.2f); } else { yield return ((Card)this).BuffAction<NextTurnAreaPoisonDef.NextTurnAreaPoison>(Special, 0, 0, 0, 0.2f); } } foreach (EnemyUnit enemy in ((Card)this).Battle.AllAliveEnemies) { if (((Unit)enemy).HasStatusEffect<Poison>()) { Poison removal = ((Unit)enemy).GetStatusEffect<Poison>(); yield return (BattleAction)new RemoveStatusEffectAction((StatusEffect)(object)removal, true, 0.1f); } } } } 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("YamamePlague"); } public override CardImages LoadCardImages() { return null; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)BepinexPlugin.CardBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0065: 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_0089: Unknown result type (might be due to invalid IL or missing references) //IL_01ae: Unknown result type (might be due to invalid IL or missing references) //IL_01b4: Expected O, but got Unknown string[][] array = new string[0][]; TargetType? val = (TargetType)2; List<ManaColor> obj = new List<ManaColor> { (ManaColor)3, (ManaColor)5 }; ManaGroup val2 = default(ManaGroup); ((ManaGroup)(ref val2)).Any = 1; ((ManaGroup)(ref val2)).Black = 1; ((ManaGroup)(ref val2)).Green = 1; ManaGroup val3 = val2; val2 = default(ManaGroup); ((ManaGroup)(ref val2)).Any = 1; ((ManaGroup)(ref val2)).Hybrid = 1; ((ManaGroup)(ref val2)).HybridColor = 8; return new CardConfig(6011, "", 10, true, array, "", "", 0, false, true, true, false, true, (Rarity)2, (CardType)3, val, (IReadOnlyList<ManaColor>)obj, false, val3, (ManaGroup?)val2, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (ManaGroup?)null, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (Keyword)0, (Keyword)0, false, (Keyword)0, (Keyword)0, (IReadOnlyList<string>)new List<string> { "Poison" }, (IReadOnlyList<string>)new List<string> { "Poison" }, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (string)null, "", "", false, (string)null, (IReadOnlyList<string>)new List<string>()); } } public sealed class NextTurnAreaPoisonDef : StatusEffectTemplate { [EntityLogic(typeof(NextTurnAreaPoisonDef))] public sealed class NextTurnAreaPoison : StatusEffect { protected override void OnAdded(Unit unit) { ((StatusEffect)this).ReactOwnerEvent<UnitEventArgs>(((Unit)((StatusEffect)this).Battle.Player).TurnStarted, (EventSequencedReactor<UnitEventArgs>)OnPlayerTurnStarted); } private IEnumerable<BattleAction> OnPlayerTurnStarted(UnitEventArgs args) { if (((StatusEffect)this).Battle.BattleShouldEnd) { yield break; } <>n__0(); foreach (BattleAction item in ((StatusEffect)this).DebuffAction<Poison>((IEnumerable<Unit>)((StatusEffect)this).Battle.AllAliveEnemies, ((StatusEffect)this).Level, 0, 0, 0, true, 0.1f)) { yield return item; } yield return (BattleAction)new RemoveStatusEffectAction((StatusEffect)(object)this, true, 0.1f); } [CompilerGenerated] [DebuggerHidden] private void <>n__0() { ((StatusEffect)this).NotifyActivating(); } } 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("NextTurnAreaPoison"); } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)BepinexPlugin.CardBatchLoc.AddEntity((EntityDefinition)(object)this); } public override Sprite LoadSprite() { return ResourceLoader.LoadSprite("NextTurnAreaPoison.png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null); } public override StatusEffectConfig MakeConfig() { //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Expected O, but got Unknown return new StatusEffectConfig(BepinexPlugin.sequenceTable.Next(typeof(StatusEffectConfig)), "", 10, (StatusEffectType)0, false, true, (int?)null, true, (StackType?)(StackType)0, false, (StackType?)(StackType)0, (DurationDecreaseTiming)0, false, (StackType?)(StackType)3, (StackType?)(StackType)3, false, (Keyword)0, (IReadOnlyList<string>)new List<string>(), "Default", "Default", "Default"); } } } namespace BoosterPacket.Cards.Curses { public sealed class CurseCopyDef : CardTemplate { [EntityLogic(typeof(CurseCopyDef))] public sealed class CurseCopy : Card { public override IEnumerable<BattleAction> OnDraw() { return EnterHandReactor(); } public override IEnumerable<BattleAction> OnMove(CardZone srcZone, CardZone dstZone) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Invalid comparison between Unknown and I4 if ((int)dstZone != 2) { return null; } return EnterHandReactor(); } protected override void OnEnterBattle(BattleController battle) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 if ((int)((Card)this).Zone == 2 && !((Card)this).IsCopy) { ((GameEntity)this).React(EnterHandReactor()); } } private IEnumerable<BattleAction> EnterHandReactor() { if (!((Card)this).Battle.BattleShouldEnd) { if ((int)((Card)this).Zone != 2) { Debug.LogWarning((object)(((GameEntity)this).Name + " is not in hand.")); yield break; } Card card = ((Card)this).CloneBattleCard(); yield return (BattleAction)new AddCardsToDiscardAction((Card[])(object)new Card[1] { card }); } } } 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("CurseCopy"); } public override CardImages LoadCardImages() { return null; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)BepinexPlugin.CardBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0034: 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_0161: Unknown result type (might be due to invalid IL or missing references) //IL_0167: Expected O, but got Unknown return new CardConfig(6027, "", 10, true, new string[0][], "", "", 0, false, false, true, false, false, (Rarity)2, (CardType)8, (TargetType?)(TargetType)0, (IReadOnlyList<ManaColor>)new List<ManaColor>(), false, default(ManaGroup), (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (ManaGroup?)null, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (Keyword)1114112, (Keyword)1114112, false, (Keyword)35184372088840L, (Keyword)35184372088840L, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (string)null, "", "", false, (string)null, (IReadOnlyList<string>)new List<string>()); } } public sealed class CurseDiscardDef : CardTemplate { [EntityLogic(typeof(CurseDiscardDef))] public sealed class CurseDiscard : Card { public override IEnumerable<BattleAction> OnDraw() { List<Card> list = ((Card)this).Battle.HandZone.ToList(); if (list.Count > 1) { List<Card> discard = new List<Card> { CollectionsExtensions.Sample<Card>((IEnumerable<Card>)list, ((GameEntity)this).GameRun.BattleCardRng) }; yield return (BattleAction)new DiscardManyAction((IEnumerable<Card>)discard); } else { yield return (BattleAction)new DiscardManyAction((IEnumerable<Card>)list); } } } 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("CurseDiscard"); } public override CardImages LoadCardImages() { return null; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)BepinexPlugin.CardBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0034: 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_0153: Unknown result type (might be due to invalid IL or missing references) //IL_0159: Expected O, but got Unknown return new CardConfig(6021, "", 10, true, new string[0][], "", "", 0, false, false, true, false, false, (Rarity)0, (CardType)8, (TargetType?)(TargetType)0, (IReadOnlyList<ManaColor>)new List<ManaColor>(), false, default(ManaGroup), (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (ManaGroup?)null, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (Keyword)65536, (Keyword)65536, false, (Keyword)8, (Keyword)8, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (string)null, "", "", false, (string)null, (IReadOnlyList<string>)new List<string>()); } } public sealed class CurseFirelightDef : CardTemplate { [EntityLogic(typeof(CurseFirelightDef))] public sealed class CurseFirelight : Card { protected override void OnEnterBattle(BattleController battle) { ((Card)this).ReactBattleEvent<UnitEventArgs>(((Unit)((Card)this).Battle.Player).TurnEnding, (EventSequencedReactor<UnitEventArgs>)OnPlayerTurnEnding); } private IEnumerable<BattleAction> OnPlayerTurnEnding(UnitEventArgs args) { if (!((Card)this).Battle.BattleShouldEnd && (int)((Card)this).Zone == 2) { <>n__0(); yield return ((Card)this).DamageSelfAction(((Card)this).Value1 + Math.Max(0, ((Unit)((Card)this).Battle.Player).TotalFirepower), "ESunnyCard"); } } [CompilerGenerated] [DebuggerHidden] private void <>n__0() { ((Card)this).NotifyActivating(); } } 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("CurseFirelight"); } public override CardImages LoadCardImages() { return null; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)BepinexPlugin.CardBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0034: 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_0168: Unknown result type (might be due to invalid IL or missing references) //IL_016e: Expected O, but got Unknown return new CardConfig(6023, "", 10, true, new string[0][], "", "", 0, false, false, true, false, false, (Rarity)1, (CardType)8, (TargetType?)(TargetType)0, (IReadOnlyList<ManaColor>)new List<ManaColor>(), false, default(ManaGroup), (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)5, (int?)null, (int?)null, (int?)null, (ManaGroup?)null, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (Keyword)65536, (Keyword)65536, false, (Keyword)8, (Keyword)8, (IReadOnlyList<string>)new List<string> { "Firepower" }, (IReadOnlyList<string>)new List<string> { "Firepower" }, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (string)null, "", "", false, (string)null, (IReadOnlyList<string>)new List<string>()); } } public sealed class CurseFullDef : CardTemplate { [EntityLogic(typeof(CurseFullDef))] public sealed class CurseFull : Card { protected override void OnEnterBattle(BattleController battle) { ((Card)this).ReactBattleEvent<UnitEventArgs>(((Unit)((Card)this).Battle.Player).TurnStarted, (EventSequencedReactor<UnitEventArgs>)OnPlayerTurnStarted); } private IEnumerable<BattleAction> OnPlayerTurnStarted(UnitEventArgs args) { if (((Card)this).Battle.MaxHand - ((Card)this).Battle.HandZone.Count == 0) { <>n__0(); List<Card> card = ((Card)this).Battle.HandZone.Where((Card hand) => hand == this).ToList(); yield return (BattleAction)new DiscardManyAction((IEnumerable<Card>)card); yield return ((Card)this).SacrificeAction(((Card)this).Value1); } } [CompilerGenerated] [DebuggerHidden] private void <>n__0() { ((Card)this).NotifyActivating(); } } 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("CurseFull"); } public override CardImages LoadCardImages() { return null; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)BepinexPlugin.CardBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0034: 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_0150: Unknown result type (might be due to invalid IL or missing references) //IL_0156: Expected O, but got Unknown return new CardConfig(6028, "", 10, true, new string[0][], "", "", 0, false, false, true, false, false, (Rarity)2, (CardType)8, (TargetType?)(TargetType)0, (IReadOnlyList<ManaColor>)new List<ManaColor>(), false, default(ManaGroup), (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)7, (int?)null, (int?)null, (int?)null, (ManaGroup?)null, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (Keyword)2162688, (Keyword)2162688, false, (Keyword)8, (Keyword)8, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (string)null, "", "", false, (string)null, (IReadOnlyList<string>)new List<string>()); } } public sealed class CurseMoonlightDef : CardTemplate { [EntityLogic(typeof(CurseMoonlightDef))] public sealed class CurseMoonlight : Card { public override IEnumerable<BattleAction> OnDraw() { yield return (BattleAction)new LockRandomTurnManaAction(((Card)this).Value1); } } 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("CurseMoonlight"); } public override CardImages LoadCardImages() { return null; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)BepinexPlugin.CardBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0034: 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_015e: Unknown result type (might be due to invalid IL or missing references) //IL_0164: Expected O, but got Unknown return new CardConfig(6024, "", 10, true, new string[0][], "", "", 0, false, false, true, false, false, (Rarity)1, (CardType)8, (TargetType?)(TargetType)0, (IReadOnlyList<ManaColor>)new List<ManaColor>(), false, default(ManaGroup), (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)3, (int?)null, (int?)null, (int?)null, (ManaGroup?)null, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (Keyword)65536, (Keyword)65536, false, (Keyword)17592186044424L, (Keyword)17592186044424L, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (string)null, "", "", false, (string)null, (IReadOnlyList<string>)new List<string>()); } } public sealed class CurseNecromancyDef : CardTemplate { [EntityLogic(typeof(CurseNecromancyDef))] public sealed class CurseNecromancy : Card { public override IEnumerable<BattleAction> OnDraw() { yield return ((Card)this).HealAction(((Card)this).Value1); yield return ((Card)this).DebuffAction<NextTurnLoseHp>((Unit)(object)((Card)this).Battle.Player, ((Card)this).Value2, 0, 0, 0, true, 0.2f); } } 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("CurseNecromancy"); } public override CardImages LoadCardImages() { return null; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)BepinexPlugin.CardBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0034: 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_014d: Unknown result type (might be due to invalid IL or missing references) //IL_0153: Expected O, but got Unknown return new CardConfig(6022, "", 10, true, new string[0][], "", "", 0, false, false, true, false, false, (Rarity)0, (CardType)8, (TargetType?)(TargetType)0, (IReadOnlyList<ManaColor>)new List<ManaColor>(), false, default(ManaGroup), (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)2, (int?)null, (int?)8, (int?)null, (ManaGroup?)null, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (Keyword)589824, (Keyword)589824, false, (Keyword)8, (Keyword)8, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (string)null, "", "", false, (string)null, (IReadOnlyList<string>)new List<string>()); } } public sealed class CurseStarlightDef : CardTemplate { [EntityLogic(typeof(CurseStarlightDef))] public sealed class CurseStarlight : Card { public override IEnumerable<BattleAction> OnDraw() { List<Card> cards = new List<Card> { Library.CreateCard(typeof(Xingguang)), Library.CreateCard(typeof(Xingguang)) }; yield return (BattleAction)new AddCardsToDrawZoneAction((IEnumerable<Card>)cards, (DrawZoneTarget)2, (AddCardsType)0); } } 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("CurseStarlight"); } public override CardImages LoadCardImages() { return null; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)BepinexPlugin.CardBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0034: 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_0168: Unknown result type (might be due to invalid IL or missing references) //IL_016e: Expected O, but got Unknown return new CardConfig(6025, "", 10, true, new string[0][], "", "", 0, false, false, true, false, false, (Rarity)1, (CardType)8, (TargetType?)(TargetType)0, (IReadOnlyList<ManaColor>)new List<ManaColor>(), false, default(ManaGroup), (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)2, (int?)null, (int?)null, (int?)null, (ManaGroup?)null, (ManaGroup?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (int?)null, (Keyword)65536, (Keyword)65536, false, (Keyword)8, (Keyword)8, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string> { "Xingguang" }, (IReadOnlyList<string>)new List<string> { "Xingguang" }, (string)null, "", "", false, (string)null, (IReadOnlyList<string>)new List<string>()); } } public sealed class CurseVulnerableDef : CardTemplate { [EntityLogic(typeof(CurseVulnerableDef))] public sealed class CurseVulnerable : Card { public override IEnumerable<BattleAction> OnDraw() { return EnterHandReactor(); } public override IEnumerable<BattleAction> OnMove(CardZone srcZone, CardZone dstZone) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Invalid comparison between Unknown and I4 if ((int)dstZone != 2) { return null; } return EnterHandReactor(); } protected override void OnEnterBattle(BattleController battle) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 if ((int)((Card)this).Zone == 2 && !((Card)this).IsCopy) { ((GameEntity)this).React(EnterHandReactor()); } } private IEnumerable<BattleAction> EnterHandReactor() { if (((Card)this).Battle.BattleShouldEnd) { yield break; } if ((int)((Card)this).Zone != 2) { Debug.LogWarning((object)(((GameEntity)this).Name + " is not in hand.")); yield break; } yield return ((Card)this).BuffAction<Graze>(((Card)this).Value1, 0, 0, 0, 0.2f); yield return ((Card)this).DebuffAction<Vulnerable>((Unit)(object)((Card)this).Battle.Player, 0, ((Card)this).Value2, 0, 0, true, 0.2f); List<Card> card