Преглед изворни кода

changes in response to PR feedback

dp101428 пре 1 година
родитељ
комит
dcc2f924d5

+ 13 - 10
Assets/CardEffect/BT21/Purple/BT21_063.cs

@@ -26,7 +26,7 @@ namespace DCGO.CardEffects.BT21
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Trash 1 [Hero] / Save, <Draw 2>", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDescription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDescription());
                 cardEffects.Add(activateClass);
 
                 string EffectDescription()
@@ -53,14 +53,14 @@ namespace DCGO.CardEffects.BT21
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 {
                     SelectHandEffect selectHandEffect = GManager.instance.GetComponent<SelectHandEffect>();
-
+                    bool trashed = false;
                     selectHandEffect.SetUp(
                         canTargetCondition: HasNameOrTrait,
                         canTargetCondition_ByPreSelecetedList: null,
                         canEndSelectCondition: null,
                         canNoSelect: true,
-                        selectCardCoroutine: null,
-                        afterSelectCardCoroutine: AfterSelectCardCoroutine,
+                        selectCardCoroutine: SelectCardCoroutine,
+                        afterSelectCardCoroutine: null,
                         maxCount: 1,
                         canEndNotMax: false,
                         isShowOpponent: true,
@@ -73,13 +73,16 @@ namespace DCGO.CardEffects.BT21
 
                     yield return ContinuousController.instance.StartCoroutine(selectHandEffect.Activate());
 
-                    IEnumerator AfterSelectCardCoroutine(List<CardSource> cardSources)
+                    IEnumerator SelectCardCoroutine(CardSource cardSource)
+                    {
+                        trashed = true;
+                        yield return null;
+                    }
+
+                    if (trashed)
                     {
-                        if (cardSources.Count > 0)
-                        {
-                            yield return ContinuousController.instance.StartCoroutine(
-                                new DrawClass(card.Owner, 2, activateClass).Draw());
-                        }
+                        yield return ContinuousController.instance.StartCoroutine(
+                            new DrawClass(card.Owner, 2, activateClass).Draw());
                     }
                 }
             }

+ 16 - 13
Assets/CardEffect/BT21/Purple/BT21_064.cs

@@ -33,7 +33,7 @@ namespace DCGO.CardEffects.BT21
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Trash 1 [Hero] / gallant line, <Draw 2>", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDescription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDescription());
                 cardEffects.Add(activateClass);
 
                 string EffectDescription()
@@ -63,14 +63,14 @@ namespace DCGO.CardEffects.BT21
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 {
                     SelectHandEffect selectHandEffect = GManager.instance.GetComponent<SelectHandEffect>();
-
+                    bool trashed = false;
                     selectHandEffect.SetUp(
                         canTargetCondition: HasNameOrTrait,
                         canTargetCondition_ByPreSelecetedList: null,
                         canEndSelectCondition: null,
                         canNoSelect: true,
-                        selectCardCoroutine: null,
-                        afterSelectCardCoroutine: AfterSelectCardCoroutine,
+                        selectCardCoroutine: SelectCardCoroutine,
+                        afterSelectCardCoroutine: null,
                         maxCount: 1,
                         canEndNotMax: false,
                         isShowOpponent: true,
@@ -78,18 +78,21 @@ namespace DCGO.CardEffects.BT21
                         selectPlayer: card.Owner,
                         cardEffect: activateClass);
 
-                    selectHandEffect.SetUpCustomMessage("Select 1 card with the [Hero] trait or growlmon/gallantmon/megidramon in name to discard.",
-                        "The opponent is selecting 1 card with the [Hero] trait or growlmon/gallantmon/megidramon in name to discard.");
+                    selectHandEffect.SetUpCustomMessage("Select 1 card with the [Hero] trait or guilmon/growlmon/gallantmon/megidramon in name to discard.",
+                        "The opponent is selecting 1 card with the [Hero] trait or guilmon/growlmon/gallantmon/megidramon in name to discard.");
 
                     yield return ContinuousController.instance.StartCoroutine(selectHandEffect.Activate());
 
-                    IEnumerator AfterSelectCardCoroutine(List<CardSource> cardSources)
+                    IEnumerator SelectCardCoroutine(CardSource cardSource)
                     {
-                        if (cardSources.Count > 0)
-                        {
-                            yield return ContinuousController.instance.StartCoroutine(
-                                new DrawClass(card.Owner, 2, activateClass).Draw());
-                        }
+                        trashed = true;
+                        yield return null;
+                    }
+
+                    if (trashed)
+                    {
+                        yield return ContinuousController.instance.StartCoroutine(
+                            new DrawClass(card.Owner, 2, activateClass).Draw());
                     }
                 }
             }
@@ -111,7 +114,7 @@ namespace DCGO.CardEffects.BT21
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.CanTriggerOnDeletion(hashtable, card);
+                    return CardEffectCommons.CanActivateOnDeletionInherited(hashtable, card);
                 }
 
                 bool CanActivateCondition(Hashtable hashtable)

+ 1 - 1
Assets/CardEffect/BT21/Purple/BT21_065.cs

@@ -174,7 +174,7 @@ namespace DCGO.CardEffects.BT21
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.CanTriggerOnDeletion(hashtable, card);
+                    return CardEffectCommons.CanActivateOnDeletionInherited(hashtable, card);
                 }
 
                 bool CanActivateCondition(Hashtable hashtable)

+ 2 - 3
Assets/CardEffect/BT21/Purple/BT21_066.cs

@@ -28,7 +28,7 @@ namespace DCGO.CardEffects.BT21
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Play Hero or Hunter tamer", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDescription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDescription());
                 cardEffects.Add(activateClass);
 
                 string EffectDescription()
@@ -105,7 +105,7 @@ namespace DCGO.CardEffects.BT21
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Play Hero or Hunter tamer", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDescription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDescription());
                 cardEffects.Add(activateClass);
 
                 string EffectDescription()
@@ -350,7 +350,6 @@ namespace DCGO.CardEffects.BT21
             }
             #endregion
 
-
             #region inherit your turn +2k
             if (timing == EffectTiming.None)
             {

+ 3 - 3
Assets/CardEffect/BT21/Purple/BT21_067.cs

@@ -45,7 +45,7 @@ namespace DCGO.CardEffects.BT21
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Return adventure trait", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateConditionShared, ActivateCoroutine, -1, true, EffectDescription());
+                activateClass.SetUpActivateClass(CanActivateConditionShared, ActivateCoroutine, -1, false, EffectDescription());
                 cardEffects.Add(activateClass);
 
                 string EffectDescription()
@@ -90,7 +90,7 @@ namespace DCGO.CardEffects.BT21
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Return adventure trait", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateConditionShared, ActivateCoroutine, -1, true, EffectDescription());
+                activateClass.SetUpActivateClass(CanActivateConditionShared, ActivateCoroutine, -1, false, EffectDescription());
                 cardEffects.Add(activateClass);
 
                 string EffectDescription()
@@ -153,7 +153,7 @@ namespace DCGO.CardEffects.BT21
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    if (CardEffectCommons.IsExistOnBattleArea(card))
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                     {
                         return true;
                     }

+ 1 - 1
Assets/CardEffect/BT21/Purple/BT21_068.cs

@@ -201,7 +201,7 @@ namespace DCGO.CardEffects.BT21
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.CanTriggerOnDeletion(hashtable, card);
+                    return CardEffectCommons.CanActivateOnDeletionInherited(hashtable, card);
                 }
 
                 bool CanActivateCondition(Hashtable hashtable)

+ 8 - 5
Assets/CardEffect/BT21/Purple/BT21_070.cs

@@ -34,7 +34,7 @@ namespace DCGO.CardEffects.BT21
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Return Appmon trait", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateConditionShared, ActivateCoroutine, -1, true, EffectDescription());
+                activateClass.SetUpActivateClass(CanActivateConditionShared, ActivateCoroutine, -1, false, EffectDescription());
                 cardEffects.Add(activateClass);
 
                 string EffectDescription()
@@ -79,7 +79,7 @@ namespace DCGO.CardEffects.BT21
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Return Appmon trait", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateConditionShared, ActivateCoroutine, -1, true, EffectDescription());
+                activateClass.SetUpActivateClass(CanActivateConditionShared, ActivateCoroutine, -1, false, EffectDescription());
                 cardEffects.Add(activateClass);
 
                 string EffectDescription()
@@ -120,11 +120,14 @@ namespace DCGO.CardEffects.BT21
             #endregion
 
             #region Linking
-
+            if (timing == EffectTiming.OnDeclaration)
+            {
+                cardEffects.Add(CardEffectFactory.LinkEffect(card));
+            }
             #endregion
 
-            #region Basic link DP boost
-            if (timing == EffectTiming.OnDeclaration)
+            #region Link condition
+            if (timing == EffectTiming.None)
             {
                 bool PermanentCondition(Permanent permanent)
                 {

+ 6 - 1
Assets/CardEffect/BT21/Purple/BT21_071.cs

@@ -351,8 +351,13 @@ namespace DCGO.CardEffects.BT21
             }
             #endregion
 
-            #region Generic link DP/capacity
+            #region Generic link capacity/condition
             if (timing == EffectTiming.OnDeclaration)
+            {
+                cardEffects.Add(CardEffectFactory.LinkEffect(card));
+            }
+
+            if (timing == EffectTiming.None)
             {
                 bool PermanentCondition(Permanent permanent)
                 {

+ 1 - 1
Assets/CardEffect/BT21/Purple/BT21_072.cs

@@ -38,7 +38,7 @@ namespace DCGO.CardEffects.BT21
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Attack with this Digimon without suspending", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDescription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDescription());
                 cardEffects.Add(activateClass);
 
                 string EffectDescription()

+ 6 - 7
Assets/CardEffect/BT21/Purple/BT21_073.cs

@@ -372,14 +372,9 @@ namespace DCGO.CardEffects.BT21
                     return permanent == card.PermanentOfThisCard();
                 }
 
-                bool CardCondition(CardSource source)
-                {
-                    return true;
-                }
-
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.CanTriggerWhenLinked(hashtable, LinkedPermanentCondition, CardCondition);
+                    return CardEffectCommons.CanTriggerWhenLinked(hashtable, LinkedPermanentCondition, null);
                 }
 
                 bool CanActivateCondition(Hashtable hashtable)
@@ -485,14 +480,18 @@ namespace DCGO.CardEffects.BT21
             #endregion
 
             #region Linking
-            if (timing == EffectTiming.OnDeclaration)
+            if (timing == EffectTiming.None)
             {
                 bool PermanentCondition(Permanent permanent)
                 {
                     return permanent.TopCard.HasAppmonTraits;
                 }
                 cardEffects.Add(CardEffectFactory.AddSelfLinkConditionStaticEffect(permanentCondition: PermanentCondition, linkCost: 3, card: card));
+            }
 
+            if(timing == EffectTiming.OnDeclaration)
+            {
+                cardEffects.Add(CardEffectFactory.LinkEffect(card));
             }
             #endregion
 

+ 10 - 5
Assets/CardEffect/BT21/Purple/BT21_074.cs

@@ -67,7 +67,7 @@ namespace DCGO.CardEffects.BT21
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Tuck to get protections", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateConditionSharedOP, ActivateCoroutine, -1, true, EffectDescription());
+                activateClass.SetUpActivateClass(CanActivateConditionSharedOP, ActivateCoroutine, -1, false, EffectDescription());
                 cardEffects.Add(activateClass);
 
                 string EffectDescription()
@@ -242,7 +242,7 @@ namespace DCGO.CardEffects.BT21
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Tuck to get protections", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateConditionSharedOP, ActivateCoroutine, -1, true, EffectDescription());
+                activateClass.SetUpActivateClass(CanActivateConditionSharedOP, ActivateCoroutine, -1, false, EffectDescription());
                 cardEffects.Add(activateClass);
 
                 string EffectDescription()
@@ -429,7 +429,7 @@ namespace DCGO.CardEffects.BT21
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Trash source to de-digivolve", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateConditionAtkShared, ActivateCoroutine, 1, true, EffectDescription());
+                activateClass.SetUpActivateClass(CanActivateConditionAtkShared, ActivateCoroutine, 1, false, EffectDescription());
                 activateClass.SetHashString("BT21_074De-digivolve");
                 cardEffects.Add(activateClass);
                     
@@ -526,7 +526,7 @@ namespace DCGO.CardEffects.BT21
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Trash source to de-digivolve", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateConditionAtkShared, ActivateCoroutine, 1, true, EffectDescription());
+                activateClass.SetUpActivateClass(CanActivateConditionAtkShared, ActivateCoroutine, 1, false, EffectDescription());
                 activateClass.SetHashString("BT21_074De-digivolve");
                 cardEffects.Add(activateClass);
 
@@ -619,7 +619,7 @@ namespace DCGO.CardEffects.BT21
             #endregion
 
             #region Ability to link
-            if (timing == EffectTiming.OnDeclaration)
+            if (timing == EffectTiming.None)
             {
                 bool PermanentCondition(Permanent permanent)
                 {
@@ -628,6 +628,11 @@ namespace DCGO.CardEffects.BT21
                 cardEffects.Add(CardEffectFactory.AddSelfLinkConditionStaticEffect(permanentCondition: PermanentCondition, linkCost: 3, card: card));
 
             }
+
+            if(timing == EffectTiming.OnDeclaration)
+            {
+                cardEffects.Add(CardEffectFactory.LinkEffect(card));
+            }
             #endregion
 
             #region When Linking

+ 12 - 7
Assets/CardEffect/BT21/Purple/BT21_075.cs

@@ -175,21 +175,21 @@ namespace DCGO.CardEffects.BT21
                 return
                     "[On Deletion] You may play 1 [ADVENTURE] trait card with a play cost of 4 or less form your trash without paying the cost.";
             }
-
-            bool CanUseConditionShared(Hashtable hashtable)
-            {
-                return CardEffectCommons.CanTriggerOnDeletion(hashtable, card);
-            }
             #endregion
 
             #region On Deletion non-inherit
             if(timing == EffectTiming.OnDestroyedAnyone)
             {
                 ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("Play ADVENTURE cost 4 or less", CanUseConditionShared, card);
+                activateClass.SetUpICardEffect("Play ADVENTURE cost 4 or less", CanUseCondition, card);
                 activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDescriptionShared());
                 cardEffects.Add(activateClass);
 
+                bool CanUseCondition(Hashtable hashtable)
+                {
+                    return CardEffectCommons.CanTriggerOnDeletion(hashtable, card);
+                }
+
                 bool CanPlay(CardSource cardSource)
                 {
                     return cardSource.EqualsTraits("ADVENTURE") && cardSource.HasPlayCost && cardSource.GetCostItself <= 4 &&
@@ -254,11 +254,16 @@ namespace DCGO.CardEffects.BT21
             if (timing == EffectTiming.OnDestroyedAnyone)
             {
                 ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("Play ADVENTURE cost 4 or less", CanUseConditionShared, card);
+                activateClass.SetUpICardEffect("Play ADVENTURE cost 4 or less", CanUseCondition, card);
                 activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDescriptionShared());
                 activateClass.SetIsInheritedEffect(true);
                 cardEffects.Add(activateClass);
 
+                bool CanUseCondition(Hashtable hashtable)
+                {
+                    return CardEffectCommons.CanActivateOnDeletionInherited(hashtable, card);
+                }
+
                 bool CanPlay(CardSource cardSource)
                 {
                     return cardSource.EqualsTraits("ADVENTURE") && cardSource.HasPlayCost && cardSource.GetCostItself <= 4 &&

+ 17 - 12
Assets/CardEffect/BT21/Purple/BT21_076.cs

@@ -1,4 +1,4 @@
-using System.Collections;
+    using System.Collections;
 using System.Collections.Generic;
 
 //BT21-076 Wargrowlmon
@@ -121,17 +121,22 @@ namespace DCGO.CardEffects.BT21
 
                 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));
+                    if(CardEffectCommons.HasMatchConditionOwnersHand(card, CanDigivolveIntoCardCondition))
+                    {
+                        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

+ 18 - 10
Assets/CardEffect/BT21/Purple/BT21_077.cs

@@ -45,7 +45,7 @@ namespace DCGO.CardEffects.BT21
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Force attack and give collision", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateConditionShared, ActivateCoroutine, -1, true, EffectDescription());
+                activateClass.SetUpActivateClass(CanActivateConditionShared, ActivateCoroutine, -1, false, EffectDescription());
                 cardEffects.Add(activateClass);
 
                 string EffectDescription()
@@ -201,7 +201,7 @@ namespace DCGO.CardEffects.BT21
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Force attack and give collision", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateConditionShared, ActivateCoroutine, -1, true, EffectDescription());
+                activateClass.SetUpActivateClass(CanActivateConditionShared, ActivateCoroutine, -1, false, EffectDescription());
                 cardEffects.Add(activateClass);
 
                 string EffectDescription()
@@ -353,18 +353,15 @@ namespace DCGO.CardEffects.BT21
             #endregion
 
             #region On Deletions Shared
-            bool CanUseConditionShared(Hashtable hashtable)
-            {
-                return CardEffectCommons.CanTriggerOnDeletion(hashtable, card);
-            }
+            
             #endregion
 
             #region On deletion regular
             if(timing == EffectTiming.OnDestroyedAnyone)
             {
                 ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("Play Cannonweissmon or level 4 or lower gammamon in text digimon", CanUseConditionShared, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDescription());
+                activateClass.SetUpICardEffect("Play Cannonweissmon or level 4 or lower gammamon in text digimon", CanUseCondition, card);
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDescription());
                 cardEffects.Add(activateClass);
 
                 string EffectDescription()
@@ -372,6 +369,11 @@ namespace DCGO.CardEffects.BT21
                     return "[On Deletion] You may play 1 [Canoweissmon] or 1 level 4 or lower Digimon card with [Gammamon] in its text from your trash without paying the cost.";
                 }
 
+                bool CanUseCondition(Hashtable hashtable)
+                {
+                    return CardEffectCommons.CanTriggerOnDeletion(hashtable, card);
+                }
+
                 bool CanPlay(CardSource cardSource)
                 {
                     return ((cardSource.HasText("Gammamon") && cardSource.HasLevel && cardSource.Level <= 4) || cardSource.EqualsCardName("Cannonweissmon")) &&
@@ -435,8 +437,8 @@ namespace DCGO.CardEffects.BT21
             if (timing == EffectTiming.OnDestroyedAnyone)
             {
                 ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("Play Cannonweissmon or level 4 or lower gammamon in text digimon", CanUseConditionShared, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDescription());
+                activateClass.SetUpICardEffect("Play Cannonweissmon or level 4 or lower gammamon in text digimon", CanUseCondition, card);
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDescription());
                 activateClass.SetIsInheritedEffect(true);
                 cardEffects.Add(activateClass);
 
@@ -445,6 +447,11 @@ namespace DCGO.CardEffects.BT21
                     return "[On Deletion] You may play 1 level 4 or lower Digimon card with [Gammamon] in its text from your trash without paying the cost.";
                 }
 
+                bool CanUseCondition(Hashtable hashtable)
+                {
+                    return CardEffectCommons.CanActivateOnDeletionInherited(hashtable, card);
+                }
+
                 bool CanPlay(CardSource cardSource)
                 {
                     return cardSource.HasText("Gammamon") && cardSource.HasLevel && cardSource.Level <= 4 &&
@@ -503,6 +510,7 @@ namespace DCGO.CardEffects.BT21
                 }
             }
             #endregion
+
             return cardEffects;
         }
     }

+ 1 - 1
Assets/CardEffect/BT21/Purple/BT21_078.cs

@@ -151,7 +151,7 @@ namespace DCGO.CardEffects.BT21
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Gain alliance then attack", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, true, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, false, EffectDiscription());
                 activateClass.SetHashString("alliance-attack-BT21_078");
                 cardEffects.Add(activateClass);
 

+ 1 - 1
Assets/CardEffect/BT21/Purple/BT21_079.cs

@@ -93,7 +93,7 @@ namespace DCGO.CardEffects.BT21
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Play guilmon or growlmonname", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDescription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDescription());
                 cardEffects.Add(activateClass);
 
                 string EffectDescription()

+ 1 - 1
Assets/CardEffect/BT21/Purple/BT21_088.cs

@@ -16,7 +16,7 @@ namespace DCGO.CardEffects.BT21
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Place 1 card under this Tamer from hand to Draw 1", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
                 cardEffects.Add(activateClass);
 
                 string EffectDiscription()

+ 9 - 0
Assets/CardEffect/BT21/Purple/BT21_100.cs

@@ -144,6 +144,15 @@ namespace DCGO.CardEffects.BT21
                 }
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
+                {
+                    yield return ContinuousController.instance.StartCoroutine(
+                        CardEffectCommons.DeletePeremanentAndProcessAccordingToResult(
+                            targetPermanents: new List<Permanent>() { card.PermanentOfThisCard() },
+                            activateClass: activateClass, successProcess: _ => SuccessProcess(),
+                            failureProcess: null));
+                }
+
+                IEnumerator SuccessProcess()
                 {
 
                     if (CardEffectCommons.HasMatchConditionPermanent(CanSelectPermanentCondition))