Decompiled source of Booster Packet v1.2.0
BoosterPacket.dll
Decompiled 3 weeks ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections.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.Cards.Curses.DeadlySins; using BoosterPacket.GunName; using BoosterPacket.Other; 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.Cards.Neutral.NoColor; using LBoL.EntityLib.Exhibits.Shining; 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.2.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInProcess("LBoL.exe")] public class BepinexPlugin : BaseUnityPlugin { private static readonly Harmony harmony = PInfo.harmony; internal static ManualLogSource log; internal static TemplateSequenceTable sequenceTable = new TemplateSequenceTable(0); internal static IResourceSource embeddedSource = (IResourceSource)new EmbeddedSource(Assembly.GetExecutingAssembly()); internal static DirectorySource directorySource = new DirectorySource("xeno.lbol.boosterpack", ""); 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.2.0"; public static readonly Harmony harmony = new Harmony("xeno.lbol.boosterpack"); } internal class WatermarkWrapper { [MethodImpl(MethodImplOptions.NoInlining)] internal static void ActivateWatermark() { API.ActivateWatermark(); } } } namespace BoosterPacket.Other { public static class CardIndexGenerator { private static int? initial_offset = null; private static HashSet<int> uniqueIds = new HashSet<int>(); public const int milx1 = 1000000; public static HashSet<int> UniqueIds { get { if (uniqueIds == null) { uniqueIds = new HashSet<int>(); } return uniqueIds; } } public static int Initial_offset { get { if (!initial_offset.HasValue) { int num = 0; if (UniqueTracker.Instance.configIndexes.TryGetValue(typeof(CardConfig), out var value)) { num = value.Where((int i) => i >= 1000000).DefaultIfEmpty().Max() / 1000000; } num++; initial_offset = num * 1000000; } return initial_offset.Value; } } internal static void PromiseClearIndexSet() { EntityManager.AddPostLoadAction((Action)delegate { uniqueIds = null; }, (Assembly)null); } public static int GetUniqueIndex(CardConfig config) { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: 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_00bf: Expected I4, but got Unknown //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Unknown result type (might be due to invalid IL or missing references) int num = Initial_offset; num += ((!((Enum)config.Keywords).HasFlag((Enum)(object)(Keyword)2)) ? ((config.Rarity + 1) * 100000) : 0); int num2 = ((config.Colors.Count > 1) ? 9 : ((int)config.Colors[0])); num += num2 * 10000; int num3; if (!config.IsXCost && !((Enum)config.Keywords).HasFlag((Enum)(object)(Keyword)32768)) { ManaGroup cost = config.Cost; if (((ManaGroup)(ref cost)).Total <= 9) { cost = config.Cost; num3 = ((ManaGroup)(ref cost)).Total; goto IL_00a8; } } num3 = 9; goto IL_00a8; IL_00a8: int num4 = num3; num += num4 * 1000; num += config.Type * 100; if (UniqueTracker.Instance.configIndexes.TryGetValue(typeof(CardConfig), out var value)) { for (; value.Contains(num); num++) { } } return num; } } public sealed class PacketLocalization { public static string Cards = "Cards"; public static string Exhibits = "Exhibits"; public static string PlayerUnit = "PlayerUnit"; public static string UnitModel = "UnitModel"; public static string UltimateSkills = "UltimateSkills"; public static string StatusEffects = "StatusEffects"; public static BatchLocalization CardsBatchLoc = new BatchLocalization((IResourceSource)(object)BepinexPlugin.directorySource, typeof(CardTemplate), Cards, (Locale)0, false); public static BatchLocalization ExhibitsBatchLoc = new BatchLocalization((IResourceSource)(object)BepinexPlugin.directorySource, typeof(ExhibitTemplate), Exhibits, (Locale)0, false); public static BatchLocalization PlayerUnitBatchLoc = new BatchLocalization((IResourceSource)(object)BepinexPlugin.directorySource, typeof(PlayerUnitTemplate), PlayerUnit, (Locale)0, false); public static BatchLocalization UnitModelBatchLoc = new BatchLocalization((IResourceSource)(object)BepinexPlugin.directorySource, typeof(UnitModelTemplate), UnitModel, (Locale)0, false); public static BatchLocalization UltimateSkillsBatchLoc = new BatchLocalization((IResourceSource)(object)BepinexPlugin.directorySource, typeof(UltimateSkillTemplate), UltimateSkills, (Locale)0, false); public static BatchLocalization StatusEffectsBatchLoc = new BatchLocalization((IResourceSource)(object)BepinexPlugin.directorySource, typeof(StatusEffectTemplate), StatusEffects, (Locale)0, false); public static void Init() { CardsBatchLoc.DiscoverAndLoadLocFiles(Cards); ExhibitsBatchLoc.DiscoverAndLoadLocFiles(Exhibits); PlayerUnitBatchLoc.DiscoverAndLoadLocFiles(PlayerUnit); UnitModelBatchLoc.DiscoverAndLoadLocFiles(UnitModel); UltimateSkillsBatchLoc.DiscoverAndLoadLocFiles(UltimateSkills); StatusEffectsBatchLoc.DiscoverAndLoadLocFiles(StatusEffects); } } public sealed class ModNormalConfig { public static string GetDefaultID(EntityDefinition entity) { string name = ((object)entity).GetType().Name; return name.Remove(name.Length - 3); } public static CardConfig GetCardDefaultConfig() { //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_015c: Unknown result type (might be due to invalid IL or missing references) //IL_0163: Expected O, but got Unknown return new CardConfig(0, "", 10, true, new string[0][], "", "", 0, false, true, true, false, true, (Rarity)0, (CardType)0, (TargetType?)null, (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, (int?)null, (int?)null, (Keyword)0, (Keyword)0, 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 static ExhibitConfig GetDefaultExhibitConfig() { //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Expected O, but got Unknown return new ExhibitConfig(0, "", 10, false, false, false, false, (AppearanceType)3, (string)null, (ExhibitLosableType)1, (Rarity)3, (int?)null, (int?)null, (int?)null, (ManaGroup?)default(ManaGroup), (ManaColor?)null, (ManaColor?)(ManaColor)1, 1, false, (int?)null, (Keyword)0, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>()); } public static StatusEffectConfig GetDefaultStatusEffectConfig() { //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Expected O, but got Unknown return new StatusEffectConfig(0, "", 10, (StatusEffectType)0, false, true, (int?)null, true, (StackType?)(StackType)0, false, (StackType?)(StackType)0, (DurationDecreaseTiming)0, false, (StackType?)(StackType)3, (StackType?)(StackType)3, false, (Keyword)0, (IReadOnlyList<string>)new List<string>(), "Default", "Default", "Default"); } public static UltimateSkillConfig GetDefaultUltConfig() { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Expected O, but got Unknown return new UltimateSkillConfig("", 10, 100, 100, 2, (UsRepeatableType)1, 1, 0, 0, (Keyword)256, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>()); } } } 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.Sakuya { 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() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown CardImages val = new CardImages(BepinexPlugin.embeddedSource); val.AutoLoad((CardTemplate)(object)this, ".png", "", false); return val; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)PacketLocalization.CardsBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) CardConfig cardDefaultConfig = ModNormalConfig.GetCardDefaultConfig(); cardDefaultConfig.Colors = new List<ManaColor> { (ManaColor)2 }; ManaGroup val = default(ManaGroup); ((ManaGroup)(ref val)).Any = 2; ((ManaGroup)(ref val)).Blue = 1; cardDefaultConfig.Cost = val; cardDefaultConfig.Rarity = (Rarity)1; cardDefaultConfig.Type = (CardType)2; cardDefaultConfig.TargetType = (TargetType)4; cardDefaultConfig.Block = 20; cardDefaultConfig.UpgradedBlock = 24; val = default(ManaGroup); ((ManaGroup)(ref val)).Blue = 1; cardDefaultConfig.Mana = val; val = default(ManaGroup); cardDefaultConfig.UpgradedMana = val; cardDefaultConfig.RelativeKeyword = (Keyword)512; cardDefaultConfig.UpgradedRelativeKeyword = (Keyword)512; cardDefaultConfig.Illustrator = ""; cardDefaultConfig.Owner = "Sakuya"; cardDefaultConfig.Index = CardIndexGenerator.Initial_offset + 222320; return cardDefaultConfig; } } 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) { ((Card)this).NotifyActivating(); 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); } } } 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() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown CardImages val = new CardImages(BepinexPlugin.embeddedSource); val.AutoLoad((CardTemplate)(object)this, ".png", "", false); return val; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)PacketLocalization.CardsBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) CardConfig cardDefaultConfig = ModNormalConfig.GetCardDefaultConfig(); cardDefaultConfig.Colors = new List<ManaColor> { (ManaColor)1, (ManaColor)3 }; cardDefaultConfig.Cost = default(ManaGroup); cardDefaultConfig.Rarity = (Rarity)1; cardDefaultConfig.Type = (CardType)3; cardDefaultConfig.TargetType = (TargetType)4; cardDefaultConfig.Keywords = (Keyword)2162688; cardDefaultConfig.UpgradedKeywords = (Keyword)2162688; cardDefaultConfig.RelativeCards = new List<string> { "Knife" }; cardDefaultConfig.UpgradedRelativeCards = new List<string> { "Knife" }; cardDefaultConfig.Illustrator = ""; cardDefaultConfig.Owner = "Sakuya"; cardDefaultConfig.Index = CardIndexGenerator.Initial_offset + 242030; return cardDefaultConfig; } } public sealed class SakuyaFusionCardDef : CardTemplate { [EntityLogic(typeof(SakuyaFusionCardDef))] public sealed class SakuyaFusionCard : Card { public override Interaction Precondition() { //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Expected O, but got Unknown List<Card> list = ((Card)this).Battle.HandZone.Where((Card hand) => hand != this).ToList(); if (list.Count <= 0 || !((Card)this).IsUpgraded) { return null; } return (Interaction)new SelectHandInteraction(0, list.Count, (IEnumerable<Card>)list); } 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<KnifeManaCDef.KnifeManaC>(1, 0, 0, 0, 0.2f); yield return ((Card)this).BuffAction<KnifeDamageUpSe>(((Card)this).Value1, 0, 0, 0, 0.2f); if (precondition != null) { SelectHandInteraction selectHandInteraction = (SelectHandInteraction)precondition; IReadOnlyList<Card> cards = ((selectHandInteraction != null) ? selectHandInteraction.SelectedCards : null); if (cards != null) { yield return (BattleAction)new DiscardManyAction((IEnumerable<Card>)cards); yield return (BattleAction)new AddCardsToHandAction((IEnumerable<Card>)Library.CreateCards<Knife>(cards.Count, false), (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("SakuyaFusionCard"); } public override CardImages LoadCardImages() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown CardImages val = new CardImages(BepinexPlugin.embeddedSource); val.AutoLoad((CardTemplate)(object)this, ".png", "", false); return val; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)PacketLocalization.CardsBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Unknown result type (might be due to invalid IL or missing references) CardConfig cardDefaultConfig = ModNormalConfig.GetCardDefaultConfig(); cardDefaultConfig.Colors = new List<ManaColor> { (ManaColor)1, (ManaColor)2, (ManaColor)4 }; ManaGroup val = default(ManaGroup); ((ManaGroup)(ref val)).Any = 2; ((ManaGroup)(ref val)).White = 1; ((ManaGroup)(ref val)).Blue = 1; ((ManaGroup)(ref val)).Red = 1; cardDefaultConfig.Cost = val; cardDefaultConfig.Rarity = (Rarity)2; cardDefaultConfig.Type = (CardType)4; cardDefaultConfig.TargetType = (TargetType)4; cardDefaultConfig.Value1 = 6; val = default(ManaGroup); ((ManaGroup)(ref val)).Colorless = 1; cardDefaultConfig.Mana = val; cardDefaultConfig.RelativeCards = new List<string> { "Knife" }; cardDefaultConfig.UpgradedRelativeCards = new List<string> { "Knife" }; cardDefaultConfig.Illustrator = ""; cardDefaultConfig.Owner = "Sakuya"; cardDefaultConfig.Index = CardIndexGenerator.Initial_offset + 250540; return cardDefaultConfig; } } public sealed class KnifeManaCDef : StatusEffectTemplate { [EntityLogic(typeof(KnifeManaCDef))] public sealed class KnifeManaC : StatusEffect { public ManaGroup Mana { get { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) ManaGroup result = default(ManaGroup); ((ManaGroup)(ref result)).Colorless = 1; return result; } } protected override void OnAdded(Unit unit) { ((StatusEffect)this).ReactOwnerEvent<CardsEventArgs>(((StatusEffect)this).Battle.CardsAddedToHand, (EventSequencedReactor<CardsEventArgs>)OnAddCard); ((StatusEffect)this).ReactOwnerEvent<CardMovingEventArgs>(((StatusEffect)this).Battle.CardMoved, (EventSequencedReactor<CardMovingEventArgs>)OnMoveCard); ((StatusEffect)this).ReactOwnerEvent<CardEventArgs>(((StatusEffect)this).Battle.CardDrawn, (EventSequencedReactor<CardEventArgs>)OnDrawCard); } private IEnumerable<BattleAction> OnAddCard(CardsEventArgs args) { int count = 0; Card[] cards = args.Cards; foreach (Card card in cards) { if (card is Knife) { count++; } } if (count != 0) { yield return (BattleAction)new GainManaAction(ManaGroup.Colorlesses(count * ((StatusEffect)this).Level)); } } private IEnumerable<BattleAction> OnMoveCard(CardMovingEventArgs args) { if (args.Card is Knife && (int)args.DestinationZone == 2) { yield return (BattleAction)new GainManaAction(ManaGroup.Colorlesses(((StatusEffect)this).Level)); } } private IEnumerable<BattleAction> OnDrawCard(CardEventArgs args) { if (args.Card is Knife) { yield return (BattleAction)new GainManaAction(ManaGroup.Colorlesses(((StatusEffect)this).Level)); } } } 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("KnifeManaC"); } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)PacketLocalization.StatusEffectsBatchLoc.AddEntity((EntityDefinition)(object)this); } public override Sprite LoadSprite() { return ResourceLoader.LoadSprite("KnifeManaC.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 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(); 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() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown CardImages val = new CardImages(BepinexPlugin.embeddedSource); val.AutoLoad((CardTemplate)(object)this, ".png", "", false); return val; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)PacketLocalization.CardsBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) CardConfig cardDefaultConfig = ModNormalConfig.GetCardDefaultConfig(); cardDefaultConfig.Colors = new List<ManaColor> { (ManaColor)2, (ManaColor)5 }; ManaGroup cost = default(ManaGroup); ((ManaGroup)(ref cost)).Any = 1; ((ManaGroup)(ref cost)).Blue = 1; ((ManaGroup)(ref cost)).Green = 1; cardDefaultConfig.Cost = cost; cardDefaultConfig.Rarity = (Rarity)1; cardDefaultConfig.Type = (CardType)3; cardDefaultConfig.TargetType = (TargetType)4; cardDefaultConfig.Value1 = 6; cardDefaultConfig.RelativeKeyword = (Keyword)281474976710656L; cardDefaultConfig.UpgradedRelativeKeyword = (Keyword)281474976710656L; cardDefaultConfig.RelativeCards = new List<string> { "MaidFriend" }; cardDefaultConfig.UpgradedRelativeCards = new List<string> { "MaidFriend" }; cardDefaultConfig.Illustrator = ""; cardDefaultConfig.Owner = "Sakuya"; cardDefaultConfig.Index = CardIndexGenerator.Initial_offset + 249330; return cardDefaultConfig; } } 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 + ((Card)this).Value2 * Count, 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() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown CardImages val = new CardImages(BepinexPlugin.embeddedSource); val.AutoLoad((CardTemplate)(object)this, ".png", "", false); return val; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)PacketLocalization.CardsBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) CardConfig cardDefaultConfig = ModNormalConfig.GetCardDefaultConfig(); cardDefaultConfig.GunName = GunNameID.GetGunFromId(4032); cardDefaultConfig.Colors = new List<ManaColor> { (ManaColor)1, (ManaColor)2 }; ManaGroup cost = default(ManaGroup); ((ManaGroup)(ref cost)).Any = 1; ((ManaGroup)(ref cost)).White = 1; ((ManaGroup)(ref cost)).Blue = 1; cardDefaultConfig.Cost = cost; cardDefaultConfig.Rarity = (Rarity)2; cardDefaultConfig.Type = (CardType)1; cardDefaultConfig.TargetType = (TargetType)2; cardDefaultConfig.Damage = 12; cardDefaultConfig.UpgradedDamage = 15; cardDefaultConfig.Value1 = 6; cardDefaultConfig.Value2 = 3; cardDefaultConfig.UpgradedValue2 = 4; cardDefaultConfig.UpgradedKeywords = (Keyword)256; cardDefaultConfig.RelativeEffects = new List<string> { "TimeAuraSe" }; cardDefaultConfig.UpgradedRelativeEffects = new List<string> { "TimeAuraSe" }; cardDefaultConfig.Illustrator = ""; cardDefaultConfig.Owner = "Sakuya"; cardDefaultConfig.Index = CardIndexGenerator.Initial_offset + 239310; return cardDefaultConfig; } } 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() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown CardImages val = new CardImages(BepinexPlugin.embeddedSource); val.AutoLoad((CardTemplate)(object)this, ".png", "", false); return val; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)PacketLocalization.CardsBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) CardConfig cardDefaultConfig = ModNormalConfig.GetCardDefaultConfig(); cardDefaultConfig.Colors = new List<ManaColor> { (ManaColor)1 }; ManaGroup val = default(ManaGroup); ((ManaGroup)(ref val)).Any = 5; ((ManaGroup)(ref val)).White = 2; cardDefaultConfig.Cost = val; cardDefaultConfig.Rarity = (Rarity)1; cardDefaultConfig.Type = (CardType)4; cardDefaultConfig.TargetType = (TargetType)4; cardDefaultConfig.Value1 = 5; cardDefaultConfig.Scry = 8; val = default(ManaGroup); ((ManaGroup)(ref val)).Any = 1; cardDefaultConfig.Mana = val; cardDefaultConfig.RelativeKeyword = (Keyword)1099511627776L; cardDefaultConfig.UpgradedRelativeKeyword = (Keyword)1099511627776L; cardDefaultConfig.RelativeEffects = new List<string> { "Firepower" }; cardDefaultConfig.UpgradedRelativeEffects = new List<string> { "Firepower" }; cardDefaultConfig.RelativeCards = new List<string> { "Knife" }; cardDefaultConfig.UpgradedRelativeCards = new List<string> { "Knife" }; cardDefaultConfig.Illustrator = ""; cardDefaultConfig.Owner = "Sakuya"; cardDefaultConfig.Index = CardIndexGenerator.Initial_offset + 221740; return cardDefaultConfig; } } public sealed class SakuyaTarotMoonDef : CardTemplate { [EntityLogic(typeof(SakuyaTarotMoonDef))] public sealed class SakuyaTarotMoon : 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 scry2 = ((Card)this).Battle.DiscardZone.Count; yield return (BattleAction)new ScryAction(((Card)this).Scry); if (!((Card)this).Battle.BattleShouldEnd) { scry2 = ((Card)this).Battle.DiscardZone.Count - scry2; yield return ((Card)this).BuffAction<TimeAuraSe>(((Card)this).Value1 * scry2, 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("SakuyaTarotMoon"); } public override CardImages LoadCardImages() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown CardImages val = new CardImages(BepinexPlugin.embeddedSource); val.AutoLoad((CardTemplate)(object)this, ".png", "", false); return val; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)PacketLocalization.CardsBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) CardConfig cardDefaultConfig = ModNormalConfig.GetCardDefaultConfig(); cardDefaultConfig.Colors = new List<ManaColor> { (ManaColor)2, (ManaColor)3 }; ManaGroup cost = default(ManaGroup); ((ManaGroup)(ref cost)).Blue = 1; ((ManaGroup)(ref cost)).Black = 1; cardDefaultConfig.Cost = cost; cardDefaultConfig.Rarity = (Rarity)1; cardDefaultConfig.Type = (CardType)3; cardDefaultConfig.TargetType = (TargetType)4; cardDefaultConfig.Value1 = 2; cardDefaultConfig.Scry = 5; cardDefaultConfig.UpgradedScry = 8; cardDefaultConfig.RelativeKeyword = (Keyword)68719476736L; cardDefaultConfig.UpgradedRelativeKeyword = (Keyword)68719476736L; cardDefaultConfig.RelativeEffects = new List<string> { "TimeAuraSe" }; cardDefaultConfig.UpgradedRelativeEffects = new List<string> { "TimeAuraSe" }; cardDefaultConfig.Illustrator = ""; cardDefaultConfig.Owner = "Sakuya"; cardDefaultConfig.Index = CardIndexGenerator.Initial_offset + 243130; return cardDefaultConfig; } } } namespace BoosterPacket.Cards.Reimu { public sealed class ReimuFusionCardDef : CardTemplate { [EntityLogic(typeof(ReimuFusionCardDef))] public sealed class ReimuFusionCard : Card { private readonly int _value3 = 30; private readonly int _upgradedValue3 = 40; public int Value3 { get { if (((Card)this).IsUpgraded) { return _upgradedValue3; } return _value3; } } public override Interaction Precondition() { //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Expected O, but got Unknown List<Card> list = ((Card)this).Battle.HandZone.Where((Card card) => card != this).ToList(); if (!CollectionsExtensions.Empty<Card>((IReadOnlyCollection<Card>)list) && list.Count > 2) { return (Interaction)new SelectHandInteraction(((Card)this).Value1, ((Card)this).Value1, (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) yield return ((Card)this).DefenseAction(true); if (precondition != null) { IReadOnlyList<Card> readOnlyList = ((SelectHandInteraction)precondition).SelectedCards; if (readOnlyList.Count > 0) { yield return (BattleAction)new ExileManyCardAction((IEnumerable<Card>)readOnlyList); } } else if (((Card)this).Battle.HandZone.Where((Card card) => card != this).ToList().Count > 0) { foreach (Card card2 in ((Card)this).Battle.HandZone.Where((Card card) => card != this).ToList()) { yield return (BattleAction)new ExileCardAction(card2); } } yield return ((Card)this).BuffAction<AmuletForCard>(((Card)this).Value2, 0, 0, 0, 0.2f); foreach (EnemyUnit unit in ((Card)this).Battle.AllAliveEnemies) { if (((Unit)unit).Hp <= Value3) { yield return (BattleAction)new ForceKillAction((Unit)(object)((Card)this).Battle.Player, (Unit)(object)unit); } } } } 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("ReimuFusionCard"); } public override CardImages LoadCardImages() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown CardImages val = new CardImages(BepinexPlugin.embeddedSource); val.AutoLoad((CardTemplate)(object)this, ".png", "", false); return val; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)PacketLocalization.CardsBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) CardConfig cardDefaultConfig = ModNormalConfig.GetCardDefaultConfig(); cardDefaultConfig.Colors = new List<ManaColor> { (ManaColor)1, (ManaColor)3 }; ManaGroup cost = default(ManaGroup); ((ManaGroup)(ref cost)).Any = 2; ((ManaGroup)(ref cost)).White = 1; ((ManaGroup)(ref cost)).Black = 1; cardDefaultConfig.Cost = cost; cardDefaultConfig.Rarity = (Rarity)1; cardDefaultConfig.Type = (CardType)2; cardDefaultConfig.TargetType = (TargetType)4; cardDefaultConfig.Block = 15; cardDefaultConfig.UpgradedBlock = 20; cardDefaultConfig.Value1 = 2; cardDefaultConfig.Value2 = 2; cardDefaultConfig.UpgradedValue2 = 3; cardDefaultConfig.RelativeKeyword = (Keyword)66048; cardDefaultConfig.UpgradedRelativeKeyword = (Keyword)66048; cardDefaultConfig.RelativeEffects = new List<string> { "AmuletForCard" }; cardDefaultConfig.UpgradedRelativeEffects = new List<string> { "AmuletForCard" }; cardDefaultConfig.Illustrator = ""; cardDefaultConfig.Owner = "Reimu"; cardDefaultConfig.Index = CardIndexGenerator.Initial_offset + 45420; return cardDefaultConfig; } } public sealed class ReimuTarotPriestDef : CardTemplate { [EntityLogic(typeof(ReimuTarotPriestDef))] public sealed class ReimuTarotPriest : 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 (BattleAction)new ScryAction(((Card)this).Scry); if (!((Card)this).Battle.BattleShouldEnd) { Card card = ((Card)this).Battle.DrawZone.FirstOrDefault(); if (card != null) { yield return (BattleAction)new ExileCardAction(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("ReimuTarotPriest"); } public override CardImages LoadCardImages() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown CardImages val = new CardImages(BepinexPlugin.embeddedSource); val.AutoLoad((CardTemplate)(object)this, ".png", "", false); return val; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)PacketLocalization.CardsBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) CardConfig cardDefaultConfig = ModNormalConfig.GetCardDefaultConfig(); cardDefaultConfig.Colors = new List<ManaColor> { (ManaColor)1, (ManaColor)3 }; ManaGroup cost = default(ManaGroup); ((ManaGroup)(ref cost)).Hybrid = 1; ((ManaGroup)(ref cost)).HybridColor = 1; cardDefaultConfig.Cost = cost; cardDefaultConfig.Rarity = (Rarity)1; cardDefaultConfig.Type = (CardType)3; cardDefaultConfig.TargetType = (TargetType)4; cardDefaultConfig.Scry = 2; cardDefaultConfig.UpgradedScry = 5; cardDefaultConfig.RelativeKeyword = (Keyword)68719542272L; cardDefaultConfig.UpgradedRelativeKeyword = (Keyword)68719542272L; cardDefaultConfig.Illustrator = ""; cardDefaultConfig.Owner = "Reimu"; cardDefaultConfig.Index = CardIndexGenerator.Initial_offset + 45130; return cardDefaultConfig; } } } namespace BoosterPacket.Cards.Neutral { 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() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown CardImages val = new CardImages(BepinexPlugin.embeddedSource); val.AutoLoad((CardTemplate)(object)this, ".png", "", false); return val; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)PacketLocalization.CardsBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) CardConfig cardDefaultConfig = ModNormalConfig.GetCardDefaultConfig(); cardDefaultConfig.Colors = new List<ManaColor> { (ManaColor)4, (ManaColor)5 }; ManaGroup cost = default(ManaGroup); ((ManaGroup)(ref cost)).Red = 1; ((ManaGroup)(ref cost)).Green = 1; cardDefaultConfig.Cost = cost; cardDefaultConfig.Rarity = (Rarity)0; cardDefaultConfig.Type = (CardType)2; cardDefaultConfig.TargetType = (TargetType)4; cardDefaultConfig.Block = 1; cardDefaultConfig.UpgradedBlock = 3; cardDefaultConfig.Value1 = 25; cardDefaultConfig.UpgradedValue1 = 32; cardDefaultConfig.RelativeKeyword = (Keyword)512; cardDefaultConfig.UpgradedRelativeKeyword = (Keyword)512; cardDefaultConfig.Illustrator = ""; cardDefaultConfig.Index = CardIndexGenerator.Initial_offset + 751220; return cardDefaultConfig; } } 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).ChoiceCardIndicator = 1; ((Card)chenRedBlue).ChoiceCardIndicator = 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() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown CardImages val = new CardImages(BepinexPlugin.embeddedSource); val.AutoLoad((CardTemplate)(object)this, ".png", "", false); return val; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)PacketLocalization.CardsBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) CardConfig cardDefaultConfig = ModNormalConfig.GetCardDefaultConfig(); cardDefaultConfig.Colors = new List<ManaColor> { (ManaColor)2, (ManaColor)4 }; ManaGroup cost = default(ManaGroup); ((ManaGroup)(ref cost)).Hybrid = 1; ((ManaGroup)(ref cost)).HybridColor = 5; cardDefaultConfig.Cost = cost; cardDefaultConfig.Rarity = (Rarity)0; cardDefaultConfig.Type = (CardType)3; cardDefaultConfig.TargetType = (TargetType)4; cardDefaultConfig.Value1 = 3; cardDefaultConfig.UpgradedValue1 = 4; cardDefaultConfig.Value2 = 4; cardDefaultConfig.UpgradedValue2 = 5; cardDefaultConfig.UpgradedKeywords = (Keyword)8388608; cardDefaultConfig.RelativeEffects = new List<string> { "TempFirepower", "TempSpirit" }; cardDefaultConfig.UpgradedRelativeEffects = new List<string> { "TempFirepower", "TempSpirit" }; cardDefaultConfig.Illustrator = ""; cardDefaultConfig.Index = CardIndexGenerator.Initial_offset + 721130; return cardDefaultConfig; } } 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; } ((Card)this).NotifyActivating(); ((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; } } 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() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown CardImages val = new CardImages(BepinexPlugin.embeddedSource); val.AutoLoad((CardTemplate)(object)this, ".png", "", false); return val; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)PacketLocalization.CardsBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) CardConfig cardDefaultConfig = ModNormalConfig.GetCardDefaultConfig(); cardDefaultConfig.GunName = GunNameID.GetGunFromId(7030); cardDefaultConfig.GunNameBurst = GunNameID.GetGunFromId(7031); cardDefaultConfig.Colors = new List<ManaColor> { (ManaColor)2, (ManaColor)3 }; ManaGroup cost = default(ManaGroup); ((ManaGroup)(ref cost)).Any = 1; ((ManaGroup)(ref cost)).Blue = 1; ((ManaGroup)(ref cost)).Black = 1; cardDefaultConfig.Cost = cost; cardDefaultConfig.Rarity = (Rarity)1; cardDefaultConfig.Type = (CardType)5; cardDefaultConfig.TargetType = (TargetType)4; cardDefaultConfig.Damage = 15; cardDefaultConfig.Value1 = 2; cardDefaultConfig.UpgradedValue1 = 3; cardDefaultConfig.Value2 = 2; cardDefaultConfig.Loyalty = 3; cardDefaultConfig.UpgradedLoyalty = 5; cardDefaultConfig.PassiveCost = -1; cardDefaultConfig.ActiveCost = 2; cardDefaultConfig.UpgradedActiveCost = 3; cardDefaultConfig.RelativeKeyword = (Keyword)562949953486856L; cardDefaultConfig.UpgradedRelativeKeyword = (Keyword)562949953486856L; cardDefaultConfig.RelativeEffects = new List<string> { "TempFirepower", "TempSpirit" }; cardDefaultConfig.UpgradedRelativeEffects = new List<string> { "TempFirepower", "TempSpirit" }; cardDefaultConfig.Illustrator = ""; cardDefaultConfig.Index = CardIndexGenerator.Initial_offset + 742350; return cardDefaultConfig; } } 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 IEnumerable<BattleAction> AfterFollowPlayAction() { 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() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown CardImages val = new CardImages(BepinexPlugin.embeddedSource); val.AutoLoad((CardTemplate)(object)this, ".png", "", false); return val; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)PacketLocalization.CardsBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) CardConfig cardDefaultConfig = ModNormalConfig.GetCardDefaultConfig(); cardDefaultConfig.Colors = new List<ManaColor> { (ManaColor)2, (ManaColor)3 }; ManaGroup cost = default(ManaGroup); ((ManaGroup)(ref cost)).Blue = 1; ((ManaGroup)(ref cost)).Black = 1; cardDefaultConfig.Cost = cost; cardDefaultConfig.Rarity = (Rarity)1; cardDefaultConfig.Type = (CardType)3; cardDefaultConfig.TargetType = (TargetType)4; cardDefaultConfig.Value1 = 5; cardDefaultConfig.UpgradedValue1 = 7; cardDefaultConfig.UpgradedKeywords = (Keyword)8388608; cardDefaultConfig.RelativeKeyword = (Keyword)65536; cardDefaultConfig.UpgradedRelativeKeyword = (Keyword)65536; cardDefaultConfig.RelativeCards = new List<string> { "KeineHistoryMaker" }; cardDefaultConfig.UpgradedRelativeCards = new List<string> { "KeineHistoryMaker" }; cardDefaultConfig.Illustrator = ""; cardDefaultConfig.Index = CardIndexGenerator.Initial_offset + 742230; return cardDefaultConfig; } } public sealed class KeineHistoryMakerDef : CardTemplate { [EntityLogic(typeof(KeineHistoryMakerDef))] public sealed class KeineHistoryMaker : Card { public override ManaGroup? PlentifulMana { get { //IL_000d: Unknown result type (might be due to invalid IL or missing references) if (((Card)this).IsUpgraded) { return ((Card)this).Mana; } return null; } } private string UpgradedExtraDescription1 => ((GameEntity)this).LocalizeProperty("UpgradedExtraDescription1", true, true); protected override string GetBaseDescription() { if (((Card)this).IsUpgraded && ((Card)this).PlentifulHappenThisTurn) { return UpgradedExtraDescription1; } return ((Card)this).GetBaseDescription(); } 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 IEnumerable<BattleAction> AfterFollowPlayAction() { 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() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown CardImages val = new CardImages(BepinexPlugin.embeddedSource); val.AutoLoad((CardTemplate)(object)this, ".png", "", false); return val; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)PacketLocalization.CardsBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Unknown result type (might be due to invalid IL or missing references) CardConfig cardDefaultConfig = ModNormalConfig.GetCardDefaultConfig(); cardDefaultConfig.IsPooled = false; cardDefaultConfig.HideMesuem = true; cardDefaultConfig.Colors = new List<ManaColor> { (ManaColor)1, (ManaColor)5 }; ManaGroup val = default(ManaGroup); ((ManaGroup)(ref val)).Any = 1; ((ManaGroup)(ref val)).White = 1; ((ManaGroup)(ref val)).Green = 1; cardDefaultConfig.Cost = val; cardDefaultConfig.Rarity = (Rarity)1; cardDefaultConfig.Type = (CardType)3; cardDefaultConfig.TargetType = (TargetType)4; cardDefaultConfig.Value1 = 3; cardDefaultConfig.UpgradedValue1 = 5; val = default(ManaGroup); cardDefaultConfig.Mana = val; val = default(ManaGroup); ((ManaGroup)(ref val)).Colorless = 1; cardDefaultConfig.UpgradedMana = val; cardDefaultConfig.UpgradedKeywords = (Keyword)8796093022208L; cardDefaultConfig.RelativeKeyword = (Keyword)65536; cardDefaultConfig.UpgradedRelativeKeyword = (Keyword)65536; cardDefaultConfig.RelativeCards = new List<string> { "KeineHistoryEater" }; cardDefaultConfig.UpgradedRelativeCards = new List<string> { "KeineHistoryEater" }; cardDefaultConfig.Illustrator = ""; cardDefaultConfig.Index = CardIndexGenerator.Initial_offset + 732330; return cardDefaultConfig; } } public sealed class KutakaInnateDef : CardTemplate { [EntityLogic(typeof(KutakaInnateDef))] public sealed class KutakaInnate : Card { public override bool Triggered => ((Card)this).Battle != null && ((Card)this).Battle.TurnCardUsageHistory.Count == 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 (((Card)this).PlayInTriggered) { yield return ((Card)this).AttackAction(selector, GunNameID.GetGunFromId(25182)); yield return ((Card)this).BuffAction<TempSpirit>(((Card)this).Value1, 0, 0, 0, 0.2f); } else { yield return ((Card)this).AttackAction(selector, (GunPair)null); } } } 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("KutakaInnate"); } public override CardImages LoadCardImages() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown CardImages val = new CardImages(BepinexPlugin.embeddedSource); val.AutoLoad((CardTemplate)(object)this, ".png", "", false); return val; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)PacketLocalization.CardsBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) CardConfig cardDefaultConfig = ModNormalConfig.GetCardDefaultConfig(); cardDefaultConfig.GunName = GunNameID.GetGunFromId(25180); cardDefaultConfig.Colors = new List<ManaColor> { (ManaColor)1, (ManaColor)5 }; ManaGroup cost = default(ManaGroup); ((ManaGroup)(ref cost)).Any = 1; ((ManaGroup)(ref cost)).Hybrid = 1; ((ManaGroup)(ref cost)).HybridColor = 3; cardDefaultConfig.Cost = cost; cardDefaultConfig.Rarity = (Rarity)0; cardDefaultConfig.Type = (CardType)1; cardDefaultConfig.TargetType = (TargetType)2; cardDefaultConfig.Damage = 16; cardDefaultConfig.UpgradedDamage = 18; cardDefaultConfig.Value1 = 2; cardDefaultConfig.UpgradedValue1 = 6; cardDefaultConfig.Keywords = (Keyword)1114112; cardDefaultConfig.UpgradedKeywords = (Keyword)1114112; cardDefaultConfig.RelativeEffects = new List<string> { "TempSpirit" }; cardDefaultConfig.UpgradedRelativeEffects = new List<string> { "TempSpirit" }; cardDefaultConfig.Illustrator = ""; cardDefaultConfig.Index = CardIndexGenerator.Initial_offset + 731210; return cardDefaultConfig; } } 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() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown CardImages val = new CardImages(BepinexPlugin.embeddedSource); val.AutoLoad((CardTemplate)(object)this, ".png", "", false); return val; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)PacketLocalization.CardsBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) CardConfig cardDefaultConfig = ModNormalConfig.GetCardDefaultConfig(); cardDefaultConfig.GunName = GunNameID.GetGunFromId(7080); cardDefaultConfig.GunNameBurst = GunNameID.GetGunFromId(7081); cardDefaultConfig.Colors = new List<ManaColor> { (ManaColor)1, (ManaColor)3 }; ManaGroup cost = default(ManaGroup); ((ManaGroup)(ref cost)).Any = 5; ((ManaGroup)(ref cost)).White = 1; ((ManaGroup)(ref cost)).Black = 1; cardDefaultConfig.Cost = cost; cardDefaultConfig.Rarity = (Rarity)2; cardDefaultConfig.Type = (CardType)1; cardDefaultConfig.TargetType = (TargetType)1; cardDefaultConfig.Damage = 38; cardDefaultConfig.UpgradedDamage = 52; cardDefaultConfig.Block = 38; cardDefaultConfig.UpgradedBlock = 52; cardDefaultConfig.Value1 = 2; cardDefaultConfig.UpgradedValue1 = 3; cardDefaultConfig.Value2 = 2; cardDefaultConfig.Keywords = (Keyword)2097408; cardDefaultConfig.UpgradedKeywords = (Keyword)2097408; cardDefaultConfig.RelativeKeyword = (Keyword)17592186044928L; cardDefaultConfig.UpgradedRelativeKeyword = (Keyword)17592186044928L; cardDefaultConfig.RelativeEffects = new List<string> { "Weak" }; cardDefaultConfig.UpgradedRelativeEffects = new List<string> { "Weak" }; cardDefaultConfig.Illustrator = ""; cardDefaultConfig.Index = CardIndexGenerator.Initial_offset + 713610; return cardDefaultConfig; } } public sealed class MomijiReplenishDef : CardTemplate { [EntityLogic(typeof(MomijiReplenishDef))] public sealed class MomijiReplenish : Card { public override ManaGroup? PlentifulMana { get { //IL_000d: Unknown result type (might be due to invalid IL or missing references) if (((Card)this).IsUpgraded) { return ((Card)this).Mana; } return null; } } private string UpgradedExtraDescription1 => ((GameEntity)this).LocalizeProperty("UpgradedExtraDescription1", true, true); protected override string GetBaseDescription() { if (((Card)this).IsUpgraded && ((Card)this).PlentifulHappenThisTurn) { return UpgradedExtraDescription1; } return ((Card)this).GetBaseDescription(); } protected override void OnEnterBattle(BattleController battle) { ((Card)this).ReactBattleEvent<UnitEventArgs>(((Unit)((Card)this).Battle.Player).TurnEnding, (EventSequencedReactor<UnitEventArgs>)OnTurnEnding); } private IEnumerable<BattleAction> OnTurnEnding(UnitEventArgs args) { if (((Card)this).Battle.BattleShouldEnd || (int)((Card)this).Zone != 2) { yield break; } ((Card)this).NotifyActivating(); foreach (Card card2 in ((Card)this).Battle.HandZone.Where((Card card) => card != this)) { card2.IsReplenish = true; } } } 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("MomijiReplenish"); } public override CardImages LoadCardImages() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown CardImages val = new CardImages(BepinexPlugin.embeddedSource); val.AutoLoad((CardTemplate)(object)this, ".png", "", false); return val; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)PacketLocalization.CardsBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) CardConfig cardDefaultConfig = ModNormalConfig.GetCardDefaultConfig(); cardDefaultConfig.Colors = new List<ManaColor> { (ManaColor)2, (ManaColor)5 }; ManaGroup val = default(ManaGroup); ((ManaGroup)(ref val)).Any = 3; cardDefaultConfig.Cost = val; cardDefaultConfig.Rarity = (Rarity)2; cardDefaultConfig.Type = (CardType)3; cardDefaultConfig.TargetType = (TargetType)4; val = default(ManaGroup); cardDefaultConfig.Mana = val; val = default(ManaGroup); ((ManaGroup)(ref val)).Colorless = 1; ((ManaGroup)(ref val)).Green = 1; cardDefaultConfig.UpgradedMana = val; cardDefaultConfig.Keywords = (Keyword)557056; cardDefaultConfig.UpgradedKeywords = (Keyword)8796093579264L; cardDefaultConfig.RelativeKeyword = (Keyword)8388608; cardDefaultConfig.UpgradedRelativeKeyword = (Keyword)8388608; cardDefaultConfig.Illustrator = ""; cardDefaultConfig.Index = CardIndexGenerator.Initial_offset + 643030; return cardDefaultConfig; } } 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(CurseLustDef.CurseLust), typeof(FanzhuanChongdong), typeof(CurseGreedDef.CurseGreed), typeof(CurseSlothDef.CurseSloth), typeof(CurseWrathDef.CurseWrath), typeof(CurseEnvyDef.CurseEnvy), typeof(CursePrideDef.CursePride) }; 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() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown CardImages val = new CardImages(BepinexPlugin.embeddedSource); val.AutoLoad((CardTemplate)(object)this, ".png", "", false); return val; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)PacketLocalization.CardsBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) CardConfig cardDefaultConfig = ModNormalConfig.GetCardDefaultConfig(); cardDefaultConfig.Colors = new List<ManaColor> { (ManaColor)3, (ManaColor)5 }; ManaGroup val = default(ManaGroup); ((ManaGroup)(ref val)).Hybrid = 1; ((ManaGroup)(ref val)).HybridColor = 8; cardDefaultConfig.Cost = val; cardDefaultConfig.Rarity = (Rarity)0; cardDefaultConfig.Type = (CardType)3; cardDefaultConfig.TargetType = (TargetType)4; cardDefaultConfig.Value1 = 3; val = default(ManaGroup); ((ManaGroup)(ref val)).Black = 1; ((ManaGroup)(ref val)).Green = 1; cardDefaultConfig.Mana = val; cardDefaultConfig.Keywords = (Keyword)65536; cardDefaultConfig.UpgradedKeywords = (Keyword)65536; cardDefaultConfig.RelativeKeyword = (Keyword)2097160; cardDefaultConfig.UpgradedRelativeKeyword = (Keyword)2097160; cardDefaultConfig.Illustrator = ""; cardDefaultConfig.Index = CardIndexGenerator.Initial_offset + 651130; return cardDefaultConfig; } } 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() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown CardImages val = new CardImages(BepinexPlugin.embeddedSource); val.AutoLoad((CardTemplate)(object)this, ".png", "", false); return val; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)PacketLocalization.CardsBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) CardConfig cardDefaultConfig = ModNormalConfig.GetCardDefaultConfig(); cardDefaultConfig.GunName = GunNameID.GetGunFromId(826); cardDefaultConfig.Colors = new List<ManaColor> { (ManaColor)6 }; ManaGroup cost = default(ManaGroup); ((ManaGroup)(ref cost)).Any = 3; ((ManaGroup)(ref cost)).Colorless = 1; cardDefaultConfig.Cost = cost; cardDefaultConfig.Rarity = (Rarity)2; cardDefaultConfig.Type = (CardType)1; cardDefaultConfig.TargetType = (TargetType)2; cardDefaultConfig.Damage = 5; cardDefaultConfig.UpgradedDamage = 8; cardDefaultConfig.Block = 5; cardDefaultConfig.UpgradedBlock = 7; cardDefaultConfig.Keywords = (Keyword)65536; cardDefaultConfig.UpgradedKeywords = (Keyword)1114112; cardDefaultConfig.RelativeKeyword = (Keyword)2; cardDefaultConfig.UpgradedRelativeKeyword = (Keyword)2; cardDefaultConfig.Illustrator = ""; cardDefaultConfig.Index = CardIndexGenerator.Initial_offset + 563410; return cardDefaultConfig; } } 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() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown CardImages val = new CardImages(BepinexPlugin.embeddedSource); val.AutoLoad((CardTemplate)(object)this, ".png", "", false); return val; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)PacketLocalization.CardsBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: 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) CardConfig cardDefaultConfig = ModNormalConfig.GetCardDefaultConfig(); cardDefaultConfig.GunName = GunNameID.GetGunFromId(23071); cardDefaultConfig.GunNameBurst = GunNameID.GetGunFromId(23072); cardDefaultConfig.Colors = new List<ManaColor> { (ManaColor)6 }; cardDefaultConfig.IsXCost = true; ManaGroup val = default(ManaGroup); ((ManaGroup)(ref val)).Colorless = 2; cardDefaultConfig.Cost = val; cardDefaultConfig.Rarity = (Rarity)1; cardDefaultConfig.Type = (CardType)1; cardDefaultConfig.TargetType = (TargetType)1; cardDefaultConfig.Damage = 1; cardDefaultConfig.UpgradedDamage = 3; cardDefaultConfig.Value1 = 1; val = default(ManaGroup); ((ManaGroup)(ref val)).Colorless = 2; cardDefaultConfig.Mana = val; val = default(ManaGroup); ((ManaGroup)(ref val)).Colorless = 3; cardDefaultConfig.UpgradedMana = val; cardDefaultConfig.Keywords = (Keyword)258; cardDefaultConfig.UpgradedKeywords = (Keyword)258; cardDefaultConfig.Illustrator = ""; cardDefaultConfig.Index = CardIndexGenerator.Initial_offset + 562910; return cardDefaultConfig; } } 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() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown CardImages val = new CardImages(BepinexPlugin.embeddedSource); val.AutoLoad((CardTemplate)(object)this, ".png", "", false); return val; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)PacketLocalization.CardsBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) CardConfig cardDefaultConfig = ModNormalConfig.GetCardDefaultConfig(); cardDefaultConfig.Colors = new List<ManaColor> { (ManaColor)1, (ManaColor)5 }; ManaGroup val = default(ManaGroup); ((ManaGroup)(ref val)).Any = 1; ((ManaGroup)(ref val)).White = 1; ((ManaGroup)(ref val)).Green = 1; cardDefaultConfig.Cost = val; val = default(ManaGroup); ((ManaGroup)(ref val)).White = 1; ((ManaGroup)(ref val)).Green = 1; cardDefaultConfig.UpgradedCost = val; cardDefaultConfig.Rarity = (Rarity)1; cardDefaultConfig.Type = (CardType)3; cardDefaultConfig.TargetType = (TargetType)4; cardDefaultConfig.Value1 = 3; cardDefaultConfig.UpgradedValue1 = 4; cardDefaultConfig.RelativeEffects = new List<string> { "LifeElectric" }; cardDefaultConfig.UpgradedRelativeEffects = new List<string> { "LifeElectric" }; cardDefaultConfig.Illustrator = ""; cardDefaultConfig.Index = CardIndexGenerator.Initial_offset + 732330; return cardDefaultConfig; } } 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) { ((StatusEffect)this).NotifyActivating(); 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); } } } 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)PacketLocalization.StatusEffectsBatchLoc.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", "Electric"); } } 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() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown CardImages val = new CardImages(BepinexPlugin.embeddedSource); val.AutoLoad((CardTemplate)(object)this, ".png", "", false); return val; } public override LocalizationOption LoadLocalization() { return (LocalizationOption)(object)PacketLocalization.CardsBatchLoc.AddEntity((EntityDefinition)(object)this); } public override CardConfig MakeConfig() { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) CardConfig cardDefaultConfig = ModNormalConfig.GetCardDefaultConfig(); cardDefaultConfig.Colors = new List<ManaColor> { (ManaColor)3, (ManaColor)5 }; ManaGroup val = default(ManaGroup); ((ManaGroup)(ref val)).Any = 1; ((ManaGroup)(ref val)).Black = 1; ((ManaGroup)(ref val)).Green = 1; cardDefaultConfig.Cost = val; val = default(ManaGroup); ((ManaGroup)(ref val)).Any = 1; ((ManaGroup)(ref val)).Hybrid = 1; ((ManaGroup)(ref val)).HybridColor = 8; cardDefaultConfig.UpgradedCost = val; cardDefaultConfig.Rarity = (Rarity)2; cardDefaultConfig.Type = (CardType)3; cardDefaultConfig.TargetType = (TargetType)2; cardDefaultConfig.RelativeEffects = new List<string> { "Poison" }; cardDefaultConfig.UpgradedRelativeEffects = new List<string> { "Poison" }; cardDefaultConfig.Illustrator = ""; cardDefaultConfig.Index = CardIndexGenerator.Initial_offset + 653330; return cardDefaultConfig; } } 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; } ((StatusEffect)this).NotifyActivating(); 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); } } 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)PacketLocalization.StatusEffectsBatchLoc.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 mi