Просмотр исходного кода

added wargrowl, fixed errors, deleted unnecessary assets

dp101428 1 год назад
Родитель
Сommit
2aed3d1789

+ 0 - 8
Assets/CardBaseEntity/BT21.meta

@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: e4b5d746de33dbc4bb30a7151df6a97c
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 0 - 8
Assets/CardBaseEntity/BT21/Purple.meta

@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 39ed8310167bba04c8d4c5ea17710faf
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 0 - 8
Assets/CardBaseEntity/BT21/Purple/Digimon.meta

@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 715e3d1ce2def00448e11b9c4cacd14e
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 0 - 3
Assets/CardBaseEntity/BT21/Purple/Digimon/BT21_064.asset

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:4a68e3a43ec98a5ea4d685a0c47f72f06e95e6392e0a45afec2aac38dd4c27b1
-size 919

+ 0 - 8
Assets/CardBaseEntity/BT21/Purple/Digimon/BT21_064.asset.meta

@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 400f0e6e19e1a0b4e8fb6873e5db5721
-NativeFormatImporter:
-  externalObjects: {}
-  mainObjectFileID: 11400000
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 0 - 3
Assets/CardBaseEntity/BT21/Purple/Digimon/BT21_068.asset

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:3c10e0e7f963aeb0ea40a7b9af2e4813e8c8b9c3f38c61b06ca0ae660bd7a157
-size 919

+ 0 - 8
Assets/CardBaseEntity/BT21/Purple/Digimon/BT21_068.asset.meta

@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 7854819dfc06fd348b7b824df5ab37e6
-NativeFormatImporter:
-  externalObjects: {}
-  mainObjectFileID: 11400000
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 0 - 3
Assets/CardBaseEntity/BT21/Purple/Digimon/BT21_069.asset

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:44eaacf809b470d09eb4294c36ecf440e458111e597aeda4226603639a3c3edb
-size 919

+ 0 - 8
Assets/CardBaseEntity/BT21/Purple/Digimon/BT21_069.asset.meta

@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: dfd637b6a9f706644a9b9c2b5afae028
-NativeFormatImporter:
-  externalObjects: {}
-  mainObjectFileID: 11400000
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 0 - 3
Assets/CardBaseEntity/BT21/Purple/Digimon/BT21_072.asset

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:0b09329d3ff72f81900f7370589744051f7957f307f4704597377b4c2dfe1d25
-size 919

+ 0 - 8
Assets/CardBaseEntity/BT21/Purple/Digimon/BT21_072.asset.meta

@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: f4a42f283f22039458b53951281bed99
-NativeFormatImporter:
-  externalObjects: {}
-  mainObjectFileID: 11400000
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 22 - 20
Assets/CardEffect/BT21/Purple/BT21_068.cs

@@ -14,13 +14,13 @@ namespace DCGO.CardEffects.BT21
             #region alternative digivolution requirement
             if (timing == EffectTiming.None)
             {
-                bool permanentCondition(Permanent permanent)
+                bool PermanentCondition(Permanent permanent)
                 {
                     return permanent.Level == 3 && permanent.TopCard.ContainsCardName("Guilmon");
                 }
 
                 cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(
-                    permanentCondition: permanentCondition, 
+                    permanentCondition: PermanentCondition, 
                     digivolutionCost: 2, 
                     ignoreDigivolutionRequirement: false, 
                     card: card, 
@@ -39,20 +39,21 @@ namespace DCGO.CardEffects.BT21
             if(timing == EffectTiming.OnEnterFieldAnyone)
             {
                 ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("Delete 3k or mill 2", canUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateConditionShared, activateCoroutine, -1, false, effectDescription());
+                activateClass.SetUpICardEffect("Delete 3k or mill 2", CanUseCondition, card);
+                activateClass.SetUpActivateClass(CanActivateConditionShared, ActivateCoroutine, -1, false, EffectDescription());
+                cardEffects.Add(activateClass);
 
-                string effectDescription()
+                string EffectDescription()
                 {
                     return "[On Play] Delete 1 of your opponent's Digimon with 4000 DP or less. If this effect didn't delete, trash the top 2 cards of your deck.";
                 }
 
-                bool canUseCondition(Hashtable hashtable)
+                bool CanUseCondition(Hashtable hashtable)
                 {
                     return CardEffectCommons.CanTriggerOnPlay(hashtable, card);
                 }
 
-                bool canTarget(Permanent permanent)
+                bool CanTarget(Permanent permanent)
                 {
                     if (CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card))
                     {
@@ -61,20 +62,20 @@ namespace DCGO.CardEffects.BT21
                     return false;
                 }
 
-                IEnumerator activateCoroutine(Hashtable _hashtable)
+                IEnumerator ActivateCoroutine(Hashtable _hashtable)
                 {
                     List<Permanent> deleteTargetPermanents = new List<Permanent>();
 
-                    if (CardEffectCommons.HasMatchConditionPermanent(canTarget))
+                    if (CardEffectCommons.HasMatchConditionPermanent(CanTarget))
                     {
-                        int maxCount = Math.Min(1, CardEffectCommons.MatchConditionPermanentCount(canTarget));
+                        int maxCount = Math.Min(1, CardEffectCommons.MatchConditionPermanentCount(CanTarget));
 
                         SelectPermanentEffect selectPermanentEffect =
                             GManager.instance.GetComponent<SelectPermanentEffect>();
 
                         selectPermanentEffect.SetUp(
                             selectPlayer: card.Owner,
-                            canTargetCondition: canTarget,
+                            canTargetCondition: CanTarget,
                             canTargetCondition_ByPreSelecetedList: null,
                             canEndSelectCondition: null,
                             maxCount: maxCount,
@@ -113,20 +114,21 @@ namespace DCGO.CardEffects.BT21
             if (timing == EffectTiming.OnEnterFieldAnyone)
             {
                 ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("Delete 3k or mill 2", canUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateConditionShared, activateCoroutine, -1, false, effectDescription());
+                activateClass.SetUpICardEffect("Delete 3k or mill 2", CanUseCondition, card);
+                activateClass.SetUpActivateClass(CanActivateConditionShared, ActivateCoroutine, -1, false, EffectDescription());
+                cardEffects.Add(activateClass);
 
-                string effectDescription()
+                string EffectDescription()
                 {
                     return "[On Play] Delete 1 of your opponent's Digimon with 4000 DP or less. If this effect didn't delete, trash the top 2 cards of your deck.";
                 }
 
-                bool canUseCondition(Hashtable hashtable)
+                bool CanUseCondition(Hashtable hashtable)
                 {
                     return CardEffectCommons.CanTriggerWhenDigivolving(hashtable, card);
                 }
 
-                bool canTarget(Permanent permanent)
+                bool CanTarget(Permanent permanent)
                 {
                     if (CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card))
                     {
@@ -135,20 +137,20 @@ namespace DCGO.CardEffects.BT21
                     return false;
                 }
 
-                IEnumerator activateCoroutine(Hashtable _hashtable)
+                IEnumerator ActivateCoroutine(Hashtable _hashtable)
                 {
                     List<Permanent> deleteTargetPermanents = new List<Permanent>();
 
-                    if (CardEffectCommons.HasMatchConditionPermanent(canTarget))
+                    if (CardEffectCommons.HasMatchConditionPermanent(CanTarget))
                     {
-                        int maxCount = Math.Min(1, CardEffectCommons.MatchConditionPermanentCount(canTarget));
+                        int maxCount = Math.Min(1, CardEffectCommons.MatchConditionPermanentCount(CanTarget));
 
                         SelectPermanentEffect selectPermanentEffect =
                             GManager.instance.GetComponent<SelectPermanentEffect>();
 
                         selectPermanentEffect.SetUp(
                             selectPlayer: card.Owner,
-                            canTargetCondition: canTarget,
+                            canTargetCondition: CanTarget,
                             canTargetCondition_ByPreSelecetedList: null,
                             canEndSelectCondition: null,
                             maxCount: maxCount,

+ 26 - 22
Assets/CardEffect/BT21/Purple/BT21_069.cs

@@ -15,13 +15,13 @@ namespace DCGO.CardEffects.BT21
             #region Alt digivolution cost
             if (timing == EffectTiming.None)
             {
-                bool permanentCondition(Permanent permanent)
+                bool PermanentCondition(Permanent permanent)
                 {
                     return permanent.TopCard.EqualsCardName("Gammamon");
                 }
 
                 cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(
-                    permanentCondition: permanentCondition, 
+                    permanentCondition: PermanentCondition, 
                     digivolutionCost: 2, 
                     ignoreDigivolutionRequirement: false, 
                     card: card, 
@@ -37,17 +37,17 @@ namespace DCGO.CardEffects.BT21
             #endregion
 
             #region On-play/When-digivolving shared
-            bool hasGammamonNameDigimon(CardSource card)
+            bool HasGammamonNameDigimon(CardSource card)
             {
                 return card.IsDigimon && card.ContainsCardName("Gammamon");
             }
 
-            bool canActivateShared(Hashtable hashtable)
+            bool CanActivateShared(Hashtable hashtable)
             {
                 if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                 {
-                    return CardEffectCommons.HasMatchConditionOwnersCardInTrash(card, hasGammamonNameDigimon)
-                        || CardEffectCommons.HasMatchConditionOwnersHand(card, hasGammamonNameDigimon);
+                    return CardEffectCommons.HasMatchConditionOwnersCardInTrash(card, HasGammamonNameDigimon)
+                        || CardEffectCommons.HasMatchConditionOwnersHand(card, HasGammamonNameDigimon);
                 }
                 return false;
             }
@@ -57,14 +57,16 @@ namespace DCGO.CardEffects.BT21
             if(timing == EffectTiming.OnEnterFieldAnyone)
             {
                 ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("Tuck gammamon to delete", canUseEffect, card);
-                activateClass.SetUpActivateClass(canActivateShared, ActivateCoroutine, -1, true, effectDescription());
-                string effectDescription()
+                activateClass.SetUpICardEffect("Tuck gammamon to delete", CanUseEffect, card);
+                activateClass.SetUpActivateClass(CanActivateShared, ActivateCoroutine, -1, true, EffectDescription());
+                cardEffects.Add(activateClass);
+
+                string EffectDescription()
                 {
                     return "[On Play] By placing 1 Digimon card with [Gammamon] in its name from your hand or trash as this Digimon's bottom digivolution card, delete 1 of your opponent's level 4 or lower Digimon.";
                 }
 
-                bool canUseEffect(Hashtable hashtable)
+                bool CanUseEffect(Hashtable hashtable)
                 {
                     return CardEffectCommons.CanTriggerOnPlay(hashtable, card);
                 }
@@ -84,8 +86,8 @@ namespace DCGO.CardEffects.BT21
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 {
-                    bool canSelectHand = card.Owner.HandCards.Count(hasGammamonNameDigimon) >= 1;
-                    bool canSelectTrash = CardEffectCommons.HasMatchConditionOwnersCardInTrash(card, hasGammamonNameDigimon);
+                    bool canSelectHand = card.Owner.HandCards.Count(HasGammamonNameDigimon) >= 1;
+                    bool canSelectTrash = CardEffectCommons.HasMatchConditionOwnersCardInTrash(card, HasGammamonNameDigimon);
 
                     if (canSelectHand || canSelectTrash)
                     {
@@ -129,7 +131,7 @@ namespace DCGO.CardEffects.BT21
 
                             selectHandEffect.SetUp(
                                 selectPlayer: card.Owner,
-                                canTargetCondition: hasGammamonNameDigimon,
+                                canTargetCondition: HasGammamonNameDigimon,
                                 canTargetCondition_ByPreSelecetedList: null,
                                 canEndSelectCondition: null,
                                 maxCount: maxCount,
@@ -154,7 +156,7 @@ namespace DCGO.CardEffects.BT21
                             SelectCardEffect selectCardEffect = GManager.instance.GetComponent<SelectCardEffect>();
 
                             selectCardEffect.SetUp(
-                                canTargetCondition: hasGammamonNameDigimon,
+                                canTargetCondition: HasGammamonNameDigimon,
                                 canTargetCondition_ByPreSelecetedList: null,
                                 canEndSelectCondition: null,
                                 canNoSelect: () => true,
@@ -212,14 +214,16 @@ namespace DCGO.CardEffects.BT21
             if (timing == EffectTiming.OnEnterFieldAnyone)
             {
                 ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("Tuck gammamon to delete", canUseEffect, card);
-                activateClass.SetUpActivateClass(canActivateShared, ActivateCoroutine, -1, true, effectDescription());
-                string effectDescription()
+                activateClass.SetUpICardEffect("Tuck gammamon to delete", CanUseEffect, card);
+                activateClass.SetUpActivateClass(CanActivateShared, ActivateCoroutine, -1, true, EffectDescription());
+                cardEffects.Add(activateClass);
+
+                string EffectDescription()
                 {
                     return "[When Digivolving] By placing 1 Digimon card with [Gammamon] in its name from your hand or trash as this Digimon's bottom digivolution card, delete 1 of your opponent's level 4 or lower Digimon.";
                 }
 
-                bool canUseEffect(Hashtable hashtable)
+                bool CanUseEffect(Hashtable hashtable)
                 {
                     return CardEffectCommons.CanTriggerWhenDigivolving(hashtable, card);
                 }
@@ -239,8 +243,8 @@ namespace DCGO.CardEffects.BT21
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 {
-                    bool canSelectHand = card.Owner.HandCards.Count(hasGammamonNameDigimon) >= 1;
-                    bool canSelectTrash = CardEffectCommons.HasMatchConditionOwnersCardInTrash(card, hasGammamonNameDigimon);
+                    bool canSelectHand = card.Owner.HandCards.Count(HasGammamonNameDigimon) >= 1;
+                    bool canSelectTrash = CardEffectCommons.HasMatchConditionOwnersCardInTrash(card, HasGammamonNameDigimon);
 
                     if (canSelectHand || canSelectTrash)
                     {
@@ -284,7 +288,7 @@ namespace DCGO.CardEffects.BT21
 
                             selectHandEffect.SetUp(
                                 selectPlayer: card.Owner,
-                                canTargetCondition: hasGammamonNameDigimon,
+                                canTargetCondition: HasGammamonNameDigimon,
                                 canTargetCondition_ByPreSelecetedList: null,
                                 canEndSelectCondition: null,
                                 maxCount: maxCount,
@@ -309,7 +313,7 @@ namespace DCGO.CardEffects.BT21
                             SelectCardEffect selectCardEffect = GManager.instance.GetComponent<SelectCardEffect>();
 
                             selectCardEffect.SetUp(
-                                canTargetCondition: hasGammamonNameDigimon,
+                                canTargetCondition: HasGammamonNameDigimon,
                                 canTargetCondition_ByPreSelecetedList: null,
                                 canEndSelectCondition: null,
                                 canNoSelect: () => true,

+ 183 - 0
Assets/CardEffect/BT21/Purple/BT21_076.cs

@@ -0,0 +1,183 @@
+using System.Collections;
+using System.Collections.Generic;
+
+namespace DCGO.CardEffects.BT21
+{
+    public class BT21_076 : CEntity_Effect
+    {
+        public override List<ICardEffect> CardEffects(EffectTiming timing, CardSource card)
+        {
+            List<ICardEffect> cardEffects = new List<ICardEffect>();
+
+            #region alternative digivolution method
+            if(timing == EffectTiming.None)
+            {
+
+                CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(permanent => permanent.Level == 4 && permanent.TopCard.ContainsCardName("Growlmon"), 3, false, card, null);
+            }
+            #endregion
+
+            #region On Play/When Digivolving shared
+            bool CanActivateConditionShared(Hashtable hashtable)
+            {
+                return CardEffectCommons.IsExistOnBattleAreaDigimon(card);
+            }
+            #endregion
+
+            #region On Play
+            if(timing == EffectTiming.OnEnterFieldAnyone)
+            {
+                ActivateClass activateClass = new ActivateClass();
+                activateClass.SetUpICardEffect("trash 2, get raid retal", CanUseCondition, card);
+                activateClass.SetUpActivateClass(CanActivateConditionShared, ActivateCoroutine, -1, false, EffectDescription());
+                cardEffects.Add(activateClass);
+
+                string EffectDescription()
+                {
+                    return "[On Play] Trash the top 2 cards of your deck. Then, this Digimon gains <Raid> and <Retaliation> until your opponent's turn ends.";
+                }
+
+                bool CanUseCondition(Hashtable hashtable)
+                {
+                    return CardEffectCommons.CanTriggerOnPlay(hashtable, card);
+                }
+
+                IEnumerator ActivateCoroutine(Hashtable hashtable)
+                {
+                    if (card.Owner.LibraryCards.Count >= 1)
+                    {
+                        yield return ContinuousController.instance.StartCoroutine(new IAddTrashCardsFromLibraryTop(2, card.Owner, activateClass).AddTrashCardsFromLibraryTop());
+                    }
+                    yield return CardEffectCommons.GainRaid(card.PermanentOfThisCard(), EffectDuration.UntilOpponentTurnEnd, activateClass);
+                    yield return CardEffectCommons.GainRetaliation(card.PermanentOfThisCard(), EffectDuration.UntilOpponentTurnEnd, activateClass);
+                }
+            }
+            #endregion
+
+            #region When Digivolving
+            if (timing == EffectTiming.OnEnterFieldAnyone)
+            {
+                ActivateClass activateClass = new ActivateClass();
+                activateClass.SetUpICardEffect("trash 2, get raid retal", CanUseCondition, card);
+                activateClass.SetUpActivateClass(CanActivateConditionShared, ActivateCoroutine, -1, false, EffectDescription());
+                cardEffects.Add(activateClass);
+
+                string EffectDescription()
+                {
+                    return "[When Digivolving] Trash the top 2 cards of your deck. Then, this Digimon gains <Raid> and <Retaliation> until your opponent's turn ends.";
+                }
+
+                bool CanUseCondition(Hashtable hashtable)
+                {
+                    return CardEffectCommons.CanTriggerOnPlay(hashtable, card);
+                }
+
+                IEnumerator ActivateCoroutine(Hashtable hashtable)
+                {
+                    if (card.Owner.LibraryCards.Count >= 1)
+                    {
+                        yield return ContinuousController.instance.StartCoroutine(new IAddTrashCardsFromLibraryTop(2, card.Owner, activateClass).AddTrashCardsFromLibraryTop());
+                    }
+                    yield return CardEffectCommons.GainRaid(card.PermanentOfThisCard(), EffectDuration.UntilOpponentTurnEnd, activateClass);
+                    yield return CardEffectCommons.GainRetaliation(card.PermanentOfThisCard(), EffectDuration.UntilOpponentTurnEnd, activateClass);
+                }
+            }
+            #endregion
+
+            #region When Attacking
+            if(timing == EffectTiming.OnAllyAttack)
+            {
+                ActivateClass activateClass = new ActivateClass();
+                activateClass.SetUpICardEffect("Digivolve to Megidra or ChaosGallant", CanUseCondition, card);
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, true, EffectDescription());
+                activateClass.SetHashString("BT21_076 when attacking");
+                cardEffects.Add(activateClass);
+
+                string EffectDescription()
+                {
+                    return "[When Attacking][Once Per Turn] This Digimon may digivolve into a Digimon card with [Megidramon] or [ChaosGallantmon] in its name in the hand. For every 10 total cards in both players' trashes, reduce this effect's digivolution cost by 1.";
+                }
+
+                bool CanUseCondition(Hashtable hashtable)
+                {
+                    return CardEffectCommons.CanTriggerOnAttack(hashtable, card);
+                }
+
+                bool CanDigivolveIntoCardCondition(CardSource cardsource)
+                {
+                    return cardsource.ContainsCardName("Megidramon") || cardsource.ContainsCardName("ChaosGallantmon");
+                }
+
+                bool CanActivateCondition(Hashtable hashtable)
+                {
+                    return CardEffectCommons.IsExistOnBattleAreaDigimon(card) && CardEffectCommons.HasMatchConditionOwnersHand(card, CanDigivolveIntoCardCondition);
+                }
+
+                int Count()
+                {
+                    return (card.Owner.TrashCards.Count + card.Owner.Enemy.TrashCards.Count) / 10;
+                }
+
+                IEnumerator ActivateCoroutine(Hashtable hashtable)
+                {
+                    yield return ContinuousController.instance.StartCoroutine(
+                        CardEffectCommons.DigivolveIntoHandOrTrashCard(
+                            targetPermanent: card.PermanentOfThisCard(),
+                            cardCondition: CanDigivolveIntoCardCondition,
+                            payCost: true,
+                            reduceCostTuple: (reduceCost: Count(), reduceCostCardCondition: null),
+                            fixedCostTuple: null,
+                            ignoreDigivolutionRequirementFixedCost: -1,
+                            isHand: true,
+                            activateClass: activateClass,
+                            successProcess: null));
+                }
+            }
+            #endregion
+
+            #region On Deletion Inherit
+            if (timing == EffectTiming.OnDestroyedAnyone)
+            {
+                ActivateClass activateClass = new ActivateClass();
+                activateClass.SetUpICardEffect("Trash the top card of your opponent's security stack.", CanUseCondition, card);
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
+                activateClass.SetIsInheritedEffect(true);
+                cardEffects.Add(activateClass);
+
+                string EffectDiscription()
+                {
+                    return "[On Deletion] Trash the top card of your opponent's security stack.";
+                }
+
+                bool CanUseCondition(Hashtable hashtable)
+                {
+                    return CardEffectCommons.CanTriggerOnDeletion(hashtable, card);
+                }
+
+                bool CanActivateCondition(Hashtable hashtable)
+                {
+                    if (CardEffectCommons.CanActivateOnDeletionInherited(hashtable, card))
+                    {
+                        if (card.Owner.Enemy.SecurityCards.Count >= 1)
+                        {
+                            return true;
+                        }
+                    }
+
+                    return false;
+                }
+
+                IEnumerator ActivateCoroutine(Hashtable _hashtable)
+                {
+                    yield return ContinuousController.instance.StartCoroutine(new IDestroySecurity(
+                        player: card.Owner.Enemy,
+                        destroySecurityCount: 1,
+                        cardEffect: activateClass,
+                        fromTop: true).DestroySecurity());
+                }
+            }
+            #endregion
+            return cardEffects;
+        }
+    }
+}

+ 11 - 0
Assets/CardEffect/BT21/Purple/BT21_076.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 04382158de631de4c8a11a1750460d82
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: