mbunch_kascope 10 месяцев назад
Родитель
Сommit
d1eabf86e9

+ 2 - 2
Assets/CardBaseEntity/BT23/White/Digimon/BT23_077.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:68914023da57a1450a619c127f51313b09a1336994c95127cc24514481ae85de
-size 1268
+oid sha256:05e5e702b3f165a7d3fbdfe4f544574f451df68fa1e246517a44dcbbc895b912
+size 1278

+ 2 - 3
Assets/CardEffect/BT23/Blue/BT23_016.cs

@@ -158,13 +158,12 @@ namespace DCGO.CardEffects.BT23
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.IsExistOnField(card)
-                        && CardEffectCommons.CanTriggerWhenLinking(hashtable, null, card);
+                    return CardEffectCommons.CanTriggerWhenLinking(hashtable, null, card); ;
                 }
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.IsExistOnField(card);
+                    return CardEffectCommons.IsExistOnBattleAreaDigimon(card);
                 }
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)

+ 3 - 3
Assets/CardEffect/BT23/Blue/BT23_017.cs

@@ -45,7 +45,7 @@ namespace DCGO.CardEffects.BT23
 
                 string EffectDiscription()
                 {
-                    return "[On Play] By trash 1 card in your hand, you may return 1 non-Digi-Egg card with the [CS] trait from your trash to the hand.";
+                    return "[On Play] By trashing 1 card in your hand, you may return 1 non-Digi-Egg card with the [CS] trait from your trash to the hand.";
                 }
 
                 bool CanUseCondition(Hashtable hashtable)
@@ -154,12 +154,12 @@ namespace DCGO.CardEffects.BT23
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.IsExistOnBattleArea(card);
+                    return CardEffectCommons.IsExistOnBattleAreaDigimon(card);
                 }
 
                 bool CanSelectCardCondition(CardSource cardSource)
                 {
-                    return cardSource.IsDigiEgg
+                    return cardSource.IsDigimon
                         && cardSource.HasPlayCost && cardSource.BasePlayCostFromEntity <= 5
                         && cardSource.EqualsTraits("Hudie")
                         && CardEffectCommons.CanPlayAsNewPermanent(cardSource, false, activateClass);

+ 2 - 2
Assets/CardEffect/BT23/Blue/BT23_022.cs

@@ -278,7 +278,7 @@ namespace DCGO.CardEffects.BT23
                 bool CanUseCondition(Hashtable hashtable)
                 {
                     return CardEffectCommons.IsExistOnBattleAreaDigimon(card)
-                        && CardEffectCommons.CanTriggerOnPlay(hashtable, card);
+                        && CardEffectCommons.CanTriggerWhenDigivolving(hashtable, card);
                 }
 
                 bool CanActivateCondition(Hashtable hashtable)
@@ -291,7 +291,7 @@ namespace DCGO.CardEffects.BT23
 
             #region When Attacking - OPT
 
-            if (timing == EffectTiming.OnEnterFieldAnyone)
+            if (timing == EffectTiming.OnAllyAttack)
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("link 1 level 4 or lower digimon from hand or this cards sources to this card", CanUseCondition, card);

+ 2 - 2
Assets/CardEffect/BT23/Blue/BT23_023.cs

@@ -102,7 +102,7 @@ namespace DCGO.CardEffects.BT23
             if (timing == EffectTiming.WhenRemoveField)
             {
                 ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("Play 1 level 4 or lower Blue [CS] digimon from sources", CanUseCondition, card);
+                activateClass.SetUpICardEffect("Play 1 level 4 or lower Blue or [CS] digimon from sources", CanUseCondition, card);
                 activateClass.SetUpActivateClass(CanActivateCondition, hash => SharedActivateCoroutine(hash, activateClass, true), 1, true, EffectDiscription());
                 activateClass.SetHashString("BT23-023_AT");
                 cardEffects.Add(activateClass);
@@ -131,7 +131,7 @@ namespace DCGO.CardEffects.BT23
             if (timing == EffectTiming.WhenRemoveField)
             {
                 ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("Play 1 level 4 or lower Blue [CS] digimon from sources", CanUseCondition, card);
+                activateClass.SetUpICardEffect("Play 1 level 4 or lower Blue or [CS] digimon from sources", CanUseCondition, card);
                 activateClass.SetUpActivateClass(CanActivateCondition, hash => SharedActivateCoroutine(hash, activateClass, false), 1, true, EffectDiscription());
                 activateClass.SetIsInheritedEffect(true);
                 activateClass.SetHashString("BT23-023_ESS_AT");

+ 2 - 1
Assets/CardEffect/BT23/Blue/BT23_025.cs

@@ -213,7 +213,8 @@ namespace DCGO.CardEffects.BT23
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.CanTriggerWhenDigivolving(hashtable, card);
+                    return CardEffectCommons.IsExistOnBattleArea(card) &&
+                           CardEffectCommons.CanTriggerWhenDigivolving(hashtable, card);
                 }
 
                 bool CanActivateCondition(Hashtable hashtable)

+ 60 - 55
Assets/CardEffect/BT23/Blue/BT23_093.cs

@@ -88,7 +88,7 @@ namespace DCGO.CardEffects.BT23
 
                 string EffectDiscription()
                 {
-                    return "[All Turns] When any of your [Appmon] trait Digimon suspend <Delay, You may link 1 [Appmon] trait Digimon card from your hand to 1 of those Digimon without paying the cost.";
+                    return "[All Turns] When any of your [Appmon] trait Digimon suspend <Delay>, You may link 1 [Appmon] trait Digimon card from your hand to 1 of those Digimon without paying the cost.";
                 }
 
                 bool CanUseCondition(Hashtable hashtable)
@@ -125,77 +125,82 @@ namespace DCGO.CardEffects.BT23
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 {
-                    if (CardEffectCommons.HasMatchConditionPermanent(CanSelectPermanentCondition))
-                    {
-                        Permanent selectedPermament = null;
-
-                        SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
-                        int maxCount = Math.Min(1, CardEffectCommons.MatchConditionPermanentCount(CanSelectPermanentCondition));
-
-                        selectPermanentEffect.SetUp(
-                            selectPlayer: card.Owner,
-                            canTargetCondition: CanSelectPermanentCondition,
-                            canTargetCondition_ByPreSelecetedList: null,
-                            canEndSelectCondition: null,
-                            maxCount: maxCount,
-                            canNoSelect: true,
-                            canEndNotMax: false,
-                            selectPermanentCoroutine: SelectPermanentCoroutine,
-                            afterSelectPermanentCoroutine: null,
-                            mode: SelectPermanentEffect.Mode.Custom,
-                            cardEffect: activateClass);
-
-
-                        IEnumerator SelectPermanentCoroutine(Permanent permanent)
-                        {
-                            selectedPermament = permanent;
-                            yield return null;
-                        }
+                    yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.DeletePeremanentAndProcessAccordingToResult(targetPermanents: new List<Permanent>() { card.PermanentOfThisCard() }, activateClass: activateClass, successProcess: permanents => SuccessProcess(), failureProcess: null));
 
-                        selectPermanentEffect.SetUpCustomMessage("Select 1 Digimon that will gain link", "The opponent is selecting 1 Digimon that will gain link");
-                        yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
-
-                        bool CanSelectCardCondition(CardSource cardSource)
+                    IEnumerator SuccessProcess()
+                    {
+                        if (CardEffectCommons.HasMatchConditionPermanent(CanSelectPermanentCondition))
                         {
-                            return cardSource.IsDigimon
-                                && cardSource.HasAppmonTraits
-                                && cardSource.CanLinkToTargetPermanent(selectedPermament, false);
-                        }
+                            Permanent selectedPermament = null;
 
-                        if (selectedPermament != null && CardEffectCommons.HasMatchConditionOwnersHand(card, CanSelectCardCondition))
-                        {
-                            CardSource selectedCard = null;
+                            SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
+                            int maxCount = Math.Min(1, CardEffectCommons.MatchConditionPermanentCount(CanSelectPermanentCondition));
 
-                            SelectHandEffect selectHandEffect = GManager.instance.GetComponent<SelectHandEffect>();
-                            int maxCount1 = Math.Min(1, CardEffectCommons.MatchConditionOwnersCardCountInHand(card, CanSelectCardCondition));
-                            selectHandEffect.SetUp(
+                            selectPermanentEffect.SetUp(
                                 selectPlayer: card.Owner,
-                                canTargetCondition: CanSelectCardCondition,
+                                canTargetCondition: CanSelectPermanentCondition,
                                 canTargetCondition_ByPreSelecetedList: null,
                                 canEndSelectCondition: null,
-                                maxCount: maxCount1,
+                                maxCount: maxCount,
                                 canNoSelect: true,
                                 canEndNotMax: false,
-                                isShowOpponent: true,
-                                selectCardCoroutine: SelectCardCoroutine1,
-                                afterSelectCardCoroutine: null,
-                                mode: SelectHandEffect.Mode.Custom,
+                                selectPermanentCoroutine: SelectPermanentCoroutine,
+                                afterSelectPermanentCoroutine: null,
+                                mode: SelectPermanentEffect.Mode.Custom,
                                 cardEffect: activateClass);
 
-                            IEnumerator SelectCardCoroutine1(CardSource cardSource)
+
+                            IEnumerator SelectPermanentCoroutine(Permanent permanent)
                             {
-                                selectedCard = cardSource;
+                                selectedPermament = permanent;
                                 yield return null;
                             }
 
-                            selectHandEffect.SetUpCustomMessage("Select 1 digimon to link.", "The opponent is selecting 1 digimon to link.");
-                            selectHandEffect.SetUpCustomMessage_ShowCard("Selected card");
+                            selectPermanentEffect.SetUpCustomMessage("Select 1 Digimon that will gain link", "The opponent is selecting 1 Digimon that will gain link");
+                            yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
 
-                            yield return ContinuousController.instance.StartCoroutine(selectHandEffect.Activate());
+                            bool CanSelectCardCondition(CardSource cardSource)
+                            {
+                                return cardSource.IsDigimon
+                                    && cardSource.HasAppmonTraits
+                                    && cardSource.CanLinkToTargetPermanent(selectedPermament, false);
+                            }
 
-                            if (selectedCard != null) yield return ContinuousController.instance.StartCoroutine(selectedPermament.AddLinkCard(
-                                addedLinkCard: selectedCard,
-                                cardEffect: activateClass));
+                            if (selectedPermament != null && CardEffectCommons.HasMatchConditionOwnersHand(card, CanSelectCardCondition))
+                            {
+                                CardSource selectedCard = null;
+
+                                SelectHandEffect selectHandEffect = GManager.instance.GetComponent<SelectHandEffect>();
+                                int maxCount1 = Math.Min(1, CardEffectCommons.MatchConditionOwnersCardCountInHand(card, CanSelectCardCondition));
+                                selectHandEffect.SetUp(
+                                    selectPlayer: card.Owner,
+                                    canTargetCondition: CanSelectCardCondition,
+                                    canTargetCondition_ByPreSelecetedList: null,
+                                    canEndSelectCondition: null,
+                                    maxCount: maxCount1,
+                                    canNoSelect: true,
+                                    canEndNotMax: false,
+                                    isShowOpponent: true,
+                                    selectCardCoroutine: SelectCardCoroutine1,
+                                    afterSelectCardCoroutine: null,
+                                    mode: SelectHandEffect.Mode.Custom,
+                                    cardEffect: activateClass);
+
+                                IEnumerator SelectCardCoroutine1(CardSource cardSource)
+                                {
+                                    selectedCard = cardSource;
+                                    yield return null;
+                                }
+
+                                selectHandEffect.SetUpCustomMessage("Select 1 digimon to link.", "The opponent is selecting 1 digimon to link.");
+                                selectHandEffect.SetUpCustomMessage_ShowCard("Selected card");
+
+                                yield return ContinuousController.instance.StartCoroutine(selectHandEffect.Activate());
+
+                                if (selectedCard != null) yield return ContinuousController.instance.StartCoroutine(selectedPermament.AddLinkCard(
+                                    addedLinkCard: selectedCard,
+                                    cardEffect: activateClass));
+                            }
                         }
                     }
                 }

+ 1 - 1
Assets/CardEffect/BT23/Green/BT23_037.cs

@@ -96,7 +96,7 @@ namespace DCGO.CardEffects.BT23
 
                 bool CanSelectCardCondition(CardSource cardSource)
                 {
-                    return cardSource.IsDigiEgg
+                    return cardSource.IsDigimon
                         && cardSource.HasPlayCost && cardSource.BasePlayCostFromEntity <= 5
                         && cardSource.EqualsTraits("Hudie")
                         && CardEffectCommons.CanPlayAsNewPermanent(cardSource, false, activateClass);

+ 2 - 2
Assets/CardEffect/BT23/Purple/BT23_070.cs

@@ -93,7 +93,7 @@ namespace DCGO.CardEffects.BT23
                         failureProcess: null));
 
                     var thisPermament = card.PermanentOfThisCard();
-                    if (thisPermament.StackCards.Exists(HasBelphemonInName) && thisPermament.CanAttack(activateClass, withoutTap: true))
+                    if (thisPermament.DigivolutionCards.Exists(HasBelphemonInName) && thisPermament.CanAttack(activateClass, withoutTap: true))
                     {
                         SelectAttackEffect selectAttackEffect = GManager.instance.GetComponent<SelectAttackEffect>();
 
@@ -114,7 +114,7 @@ namespace DCGO.CardEffects.BT23
 
             #region End of Attack
 
-            if (timing == EffectTiming.OnEndAttackPhase)
+            if (timing == EffectTiming.OnEndAttack)
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Digivolve into [Belphemon: Sleep Mode] in trash", CanUseCondition, card);

+ 1 - 1
Assets/CardEffect/BT23/Red/BT23_006.cs

@@ -102,7 +102,7 @@ namespace DCGO.CardEffects.BT23
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Gain 1 memory", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, true, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, false, EffectDiscription());
                 activateClass.SetIsInheritedEffect(true);
                 activateClass.SetHashString("BT23_006_YT");
                 cardEffects.Add(activateClass);

+ 3 - 3
Assets/CardEffect/BT23/Red/BT23_011.cs

@@ -132,13 +132,13 @@ namespace DCGO.CardEffects.BT23
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Play 1 Red/[CS] tamer from hand", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
                 activateClass.SetIsInheritedEffect(true);
                 cardEffects.Add(activateClass);
 
                 string EffectDiscription()
                 {
-                    return "You may play 1 red or [CS] trait tamer card from your hand without paying the cost.";
+                    return "[On Deletion] You may play 1 red or [CS] trait tamer card from your hand without paying the cost.";
                 }
 
                 bool CanUseCondition(Hashtable hashtable)
@@ -154,7 +154,7 @@ namespace DCGO.CardEffects.BT23
 
                 bool CanSelectCardCondition(CardSource cardSource)
                 {
-                    return cardSource.IsDigimon
+                    return cardSource.IsTamer
                         && CardEffectCommons.CanPlayAsNewPermanent(cardSource, false, activateClass)
                         && (cardSource.CardColors.Contains(CardColor.Red) || cardSource.HasCSTraits);
                 }

+ 4 - 4
Assets/CardEffect/BT23/Red/BT23_015.cs

@@ -258,12 +258,12 @@ namespace DCGO.CardEffects.BT23
                     yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
                 }
 
-                if (CardEffectCommons.HasMatchConditionOwnersCardInTrash(card, CanSelectCardCondition))
+                if (CardEffectCommons.HasMatchConditionOpponentsCardInTrash(card, CanSelectCardCondition))
                 {
                     List<CardSource> selectedCards = new List<CardSource>();
 
                     SelectCardEffect selectCardEffect = GManager.instance.GetComponent<SelectCardEffect>();
-                    int maxCount = Math.Min(1, CardEffectCommons.MatchConditionOwnersCardCountInTrash(card, CanSelectCardCondition));
+                    int maxCount = Math.Min(3, CardEffectCommons.MatchConditionOpponentsCardCountInTrash(card, CanSelectCardCondition));
                     selectCardEffect.SetUp(
                                 canTargetCondition: CanSelectCardCondition,
                                 canTargetCondition_ByPreSelecetedList: null,
@@ -277,7 +277,7 @@ namespace DCGO.CardEffects.BT23
                                 isShowOpponent: true,
                                 mode: SelectCardEffect.Mode.Custom,
                                 root: SelectCardEffect.Root.Trash,
-                                customRootCardList: null,
+                                customRootCardList: card.Owner.Enemy.TrashCards,
                                 canLookReverseCard: true,
                                 selectPlayer: card.Owner,
                                 cardEffect: activateClass);
@@ -411,7 +411,7 @@ namespace DCGO.CardEffects.BT23
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.CanTriggerOnDeletion(hashtable, card);
+                    return CardEffectCommons.CanActivateOnDeletion(card);
                 }
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)

+ 1 - 1
Assets/CardEffect/BT23/Red/BT23_078.cs

@@ -49,7 +49,7 @@ namespace DCGO.CardEffects.BT23
                 bool IsValidDigimon(Permanent permanent)
                 {
                     return CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card)
-                        && permanent.TopCard.HasBeastTraits || permanent.TopCard.HasBirdTraits || permanent.TopCard.HasCSTraits;
+                        && (permanent.TopCard.HasBeastTraits || permanent.TopCard.HasBirdTraits || permanent.TopCard.HasCSTraits);
                 }
 
                 bool CanSelectPermanentCondition(Permanent permanent)

+ 11 - 1
Assets/CardEffect/BT23/Red/BT23_091.cs

@@ -118,7 +118,7 @@ namespace DCGO.CardEffects.BT23
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Delete 1 digimon with lowest DP", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, hash => SharedActivateCoroutine(hash, activateClass), -1, true, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
                 cardEffects.Add(activateClass);
 
                 string EffectDiscription()
@@ -144,6 +144,16 @@ namespace DCGO.CardEffects.BT23
                     return CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card)
                         && permanent.TopCard.HasCSTraits;
                 }
+
+                IEnumerator ActivateCoroutine(Hashtable hashtable)
+                {
+                    yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.DeletePeremanentAndProcessAccordingToResult(targetPermanents: new List<Permanent>() { card.PermanentOfThisCard() }, activateClass: activateClass, successProcess: permanents => SuccessProcess(), failureProcess: null));
+
+                    IEnumerator SuccessProcess()
+                    {
+                        yield return ContinuousController.instance.StartCoroutine(SharedActivateCoroutine(hashtable, activateClass));
+                    }
+                }
             }
 
             #endregion

+ 2 - 1
Assets/CardEffect/BT23/White/BT23_072.cs

@@ -165,7 +165,8 @@ namespace DCGO.CardEffects.BT23
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.IsExistOnBreedingAreaDigimon(card);
+                    return CardEffectCommons.IsExistOnBreedingAreaDigimon(card) &&
+                           CardEffectCommons.IsOwnerTurn(card);
                 }
 
                 bool CanActivateCondition(Hashtable hashtable)

+ 1 - 1
Assets/CardEffect/BT23/White/BT23_074.cs

@@ -113,7 +113,7 @@ namespace DCGO.CardEffects.BT23
                         canEndSelectCondition: null,
                         maxCount: maxCount,
                         canNoSelect: true,
-                        canEndNotMax: false,
+                        canEndNotMax: true,
                         isShowOpponent: true,
                         selectCardCoroutine: null,
                         afterSelectCardCoroutine: AfterSelectCardCoroutine,

+ 14 - 18
Assets/CardEffect/BT23/White/BT23_090.cs

@@ -24,6 +24,11 @@ namespace DCGO.CardEffects.BT23
 
             if (timing == EffectTiming.None)
             {
+                string EffectDiscription()
+                {
+                    return "[All Turns] All of your [Hudie] Digimon get +1000 DP.";
+                }
+
                 bool Condition()
                 {
                     return CardEffectCommons.IsExistOnBattleArea(card);
@@ -31,26 +36,17 @@ namespace DCGO.CardEffects.BT23
 
                 bool PermanentCondition(Permanent permanent)
                 {
-                    if (CardEffectCommons.IsPermanentExistsOnOwnerBattleArea(permanent, card))
-                    {
-                        if (permanent.TopCard.EqualsTraits("Hudie"))
-                        {
-                            return true;
-                        }
-                    }
-
-                    return false;
+                    return CardEffectCommons.IsPermanentExistsOnOwnerBattleArea(permanent, card) &&
+                           permanent.TopCard.HasHudieTraits;
                 }
 
-                foreach (Permanent permanent in card.Owner.GetBattleAreaPermanents())
-                {
-                    if (Condition() && PermanentCondition(permanent))
-                    {
-                        permanent.AddBoost(new Permanent.DPBoost("BT23_090_AT", 1000, Condition));
-                    }
-                    else
-                        permanent.RemoveBoost("BT23_090_AT");
-                }
+                cardEffects.Add(CardEffectFactory.ChangeDPStaticEffect(
+                permanentCondition: PermanentCondition,
+                changeValue: 1000,
+                isInheritedEffect: false,
+                card: card,
+                condition: Condition,
+                effectName: EffectDiscription));
             }
 
             #endregion

+ 1 - 1
Assets/CardEffect/BT23/Yellow/BT23_026.cs

@@ -51,7 +51,7 @@ namespace DCGO.CardEffects.BT23
 
                 bool IsMakikoDate(Permanent permanent)
                 {
-                    return CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card)
+                    return CardEffectCommons.IsPermanentExistsOnOwnerBattleArea(permanent, card)
                         && permanent.TopCard.EqualsCardName("Makiko Date");
                 }
 

+ 2 - 3
Assets/CardEffect/BT23/Yellow/BT23_028.cs

@@ -181,13 +181,12 @@ namespace DCGO.CardEffects.BT23
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.IsExistOnField(card)
-                        && CardEffectCommons.CanTriggerWhenLinking(hashtable, PermanentCondition, null);
+                    return CardEffectCommons.CanTriggerWhenLinking(hashtable, PermanentCondition, null);
                 }
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.IsExistOnField(card);
+                    return CardEffectCommons.IsExistOnBattleAreaDigimon(card);
                 }
 
                 bool PermanentCondition(Permanent permanent)

+ 2 - 1
Assets/CardEffect/BT23/Yellow/BT23_032.cs

@@ -262,13 +262,14 @@ namespace DCGO.CardEffects.BT23
 
             #endregion
 
-            #region Region All Turns Shared
+            #region All Turns Shared
 
             IEnumerator SharedActivateCoroutine(Hashtable hashtable, ActivateClass activateClass)
             {
                 bool CanSelectCardCondition(CardSource cardSource)
                 {
                     return cardSource.IsDigimon
+                        && cardSource.HasLevel && cardSource.Level <= 4
                         && (cardSource.CardColors.Contains(CardColor.Yellow) || cardSource.CardColors.Contains(CardColor.Black) || cardSource.HasCSTraits)
                         && CardEffectCommons.CanPlayAsNewPermanent(cardSource, false, activateClass);
                 }

+ 2 - 2
Assets/CardEffect/BT23/Yellow/BT23_081.cs

@@ -68,13 +68,13 @@ namespace DCGO.CardEffects.BT23
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.IsExistOnBattleAreaDigimon(card)
+                    return CardEffectCommons.IsExistOnBattleArea(card)
                         && CardEffectCommons.CanTriggerOnPlay(hashtable, card);
                 }
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.IsExistOnBattleAreaDigimon(card);
+                    return CardEffectCommons.IsExistOnBattleArea(card);
                 }
 
                 bool CanSelectCardCondition(CardSource cardSource)

+ 11 - 1
Assets/CardEffect/BT23/Yellow/BT23_094.cs

@@ -208,7 +208,7 @@ namespace DCGO.CardEffects.BT23
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("1 digimon gains Sec Atk -1 and cant use [When Digivolving] & [When Attacking effects].", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, hash => SharedActivateCoroutine(hash, activateClass), -1, true, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
                 cardEffects.Add(activateClass);
 
                 string EffectDiscription()
@@ -234,6 +234,16 @@ namespace DCGO.CardEffects.BT23
                     return CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card)
                         && permanent.TopCard.HasCSTraits;
                 }
+
+                IEnumerator ActivateCoroutine(Hashtable hashtable)
+                {
+                    yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.DeletePeremanentAndProcessAccordingToResult(targetPermanents: new List<Permanent>() { card.PermanentOfThisCard() }, activateClass: activateClass, successProcess: permanents => SuccessProcess(), failureProcess: null));
+
+                    IEnumerator SuccessProcess()
+                    {
+                        yield return ContinuousController.instance.StartCoroutine(SharedActivateCoroutine(hashtable, activateClass));
+                    }
+                }
             }
 
             #endregion

+ 4 - 4
Assets/CardEffect/P/Green/P_208.cs

@@ -18,7 +18,7 @@ namespace DCGO.CardEffects.P
                 static bool PermanentCondition(Permanent targetPermanent)
                 {
                     return targetPermanent.TopCard.IsLevel5 &&
-                           targetPermanent.TopCard.EqualsTraits("Beastkin") || targetPermanent.TopCard.HasTSTraits;
+                           (targetPermanent.TopCard.EqualsTraits("Beastkin") || targetPermanent.TopCard.HasTSTraits);
                 }
 
                 cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(permanentCondition: PermanentCondition, digivolutionCost: 3, ignoreDigivolutionRequirement: false, card: card, condition: null));
@@ -154,7 +154,7 @@ namespace DCGO.CardEffects.P
             if (timing == EffectTiming.OnAllyAttack)
             {
                 ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("Bounce 1 suspended digimon to bottom of deck", CanUseCondition, card);
+                activateClass.SetUpICardEffect("Return 1 suspended digimon to bottom of deck", CanUseCondition, card);
                 activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, true, EffectDiscription());
                 activateClass.SetHashString("P_208_WA");
                 cardEffects.Add(activateClass);
@@ -177,7 +177,7 @@ namespace DCGO.CardEffects.P
 
                 bool CanSelectPermanentCondition(Permanent permanent)
                 {
-                    return CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card)
+                    return CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card)
                         && permanent.IsSuspended;
                 }
 
@@ -201,7 +201,7 @@ namespace DCGO.CardEffects.P
                             mode: SelectPermanentEffect.Mode.PutLibraryBottom,
                             cardEffect: activateClass);
 
-                        selectPermanentEffect.SetUpCustomMessage("Select 1 Digimon to bounce to bottom of deck.", "The opponent is selecting 1 Digimon to bounce to bottom of deck.");
+                        selectPermanentEffect.SetUpCustomMessage("Select 1 Digimon to return to bottom of deck.", "The opponent is selecting 1 Digimon to return to bottom of deck.");
                         yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
                     }
                 }

+ 3 - 2
Assets/CardEffect/P/Purple/P_212.cs

@@ -55,13 +55,14 @@ namespace DCGO.CardEffects.P
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 {
                     bool trashedTargetCard = false;
-                    CardEffectCommons.DrawAndDiscardCards(
+                    yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.DrawAndDiscardCards(
                         player: (card.Owner, card.Owner),
                         drawAmount: 1,
                         trashAmount: 1,
                         card: card,
                         activateClass: activateClass,
-                        afterSelectPermanentCoroutine: AfterSelectPermanentCoroutine);
+                        afterSelectPermanentCoroutine: AfterSelectPermanentCoroutine
+                    ));
 
                     IEnumerator AfterSelectPermanentCoroutine(List<CardSource> selectedCards)
                     {

+ 4 - 3
Assets/CardEffect/P/White/P_206.cs

@@ -17,13 +17,14 @@ namespace DCGO.CardEffects.P
             if (timing == EffectTiming.None)
             {
                 IgnoreColorConditionClass ignoreColorConditionClass = new IgnoreColorConditionClass();
-                ignoreColorConditionClass.SetUpICardEffect("Ignore color requirements", null, card);
+                ignoreColorConditionClass.SetUpICardEffect("Ignore color requirements", CanUseCondition, card);
                 ignoreColorConditionClass.SetUpIgnoreColorConditionClass(cardCondition: CardCondition);
 
                 cardEffects.Add(ignoreColorConditionClass);
 
-                bool CardCondition(CardSource cardSource)
-                    => cardSource == card;
+                bool CanUseCondition(Hashtable hashtable) => true;
+
+                bool CardCondition(CardSource cardSource) => cardSource == card;
             }
 
             #endregion

+ 1 - 1
Assets/CardEffect/P/Yellow/P_207.cs

@@ -18,7 +18,7 @@ namespace DCGO.CardEffects.P
                 static bool PermanentCondition(Permanent targetPermanent)
                 {
                     return targetPermanent.TopCard.IsLevel5 &&
-                           targetPermanent.TopCard.EqualsTraits("Beastkin") || targetPermanent.TopCard.HasTSTraits;
+                           (targetPermanent.TopCard.EqualsTraits("Beastkin") || targetPermanent.TopCard.HasTSTraits);
                 }
 
                 cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(permanentCondition: PermanentCondition, digivolutionCost: 3, ignoreDigivolutionRequirement: false, card: card, condition: null));