mbunch_kascope 1 tahun lalu
induk
melakukan
2a6832d11b

+ 2 - 2
Assets/CardBaseEntity/EX4/Green/DigiEgg/EX4_002.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:3f5df3d9720a24c6a424e72c68d3c7306c8f5cce6b5e12e86db688a92cdcb027
-size 1522
+oid sha256:17d80fc1345876b3f9e9890b7216a143172ee178cd3830bb14685ebe2726db3f
+size 1511

+ 2 - 2
Assets/CardBaseEntity/EX4/Green/DigiEgg/EX4_002_P1.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:7fa07eb6f53e067c262f97100dde1ed968197cd114645ac188f4fb46b02adbc4
-size 1087
+oid sha256:bd53d8089947ecd2198ac8ae8b0334d4861f4eb404dbc1893d99144e42e5c400
+size 1185

+ 2 - 2
Assets/CardBaseEntity/EX4/Green/Digimon/EX4_032.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:6d9106944248fb975650a38749305c113909a8ef200c3f3a6302dcf75be11a06
-size 2656
+oid sha256:a38333ebe808a9613378dd8c86a3cc6080008438cc9fd0fd7f5df5de06ccdd76
+size 2716

+ 2 - 2
Assets/CardBaseEntity/EX4/Green/Digimon/EX4_032_P1.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:4498eb61b7c2965f1ea67603f16867b72632e02b02d66e1c95f1882b53e4da60
-size 1353
+oid sha256:1b664241cafb4c53a4bc19aaa2e9c16f428f6fcd3715365e8198d41d175dfa9f
+size 1634

+ 2 - 2
Assets/CardBaseEntity/P/Blue/Tamer/P_012_P1.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:641c1b4ebcdebf48777db2b1f1d0b94c1d8676545aa82d7f338aea8882f60269
-size 1255
+oid sha256:928ccc0041c84fec1f1452281cd1ccb4968f909cef3759073d464e5868474651
+size 1249

+ 1 - 1
Assets/CardEffect/BT16/Black/BT16_052.cs

@@ -30,7 +30,7 @@ namespace DCGO.CardEffects.BT16
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Play 1 [KoHagurumon] token", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
                 cardEffects.Add(activateClass);
 
                 string EffectDiscription()

+ 117 - 45
Assets/CardEffect/BT16/Black/BT16_061.cs

@@ -133,9 +133,9 @@ namespace DCGO.CardEffects.BT16
 
             #endregion
 
-            #region All Turns - ESS
+            #region All Turns - ESS Effect
 
-            if (timing == EffectTiming.OnDestroyedAnyone || timing == EffectTiming.OnEndBattle)
+            if (timing == EffectTiming.OnDestroyedAnyone)
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Play 1 card with 5 cost or less", CanUseCondition, card);
@@ -173,29 +173,10 @@ namespace DCGO.CardEffects.BT16
                     return (cardEffect.EffectSourceCard.PermanentOfThisCard() == card.PermanentOfThisCard());
                 }
 
-                bool LoserCondition(Permanent permanent)
-                {
-                    return permanent.IsDigimon && card.PermanentOfThisCard() != permanent;
-                }
-
                 bool CanUseCondition(Hashtable hashtable)
                 {
                     if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                     {
-                        if (CardEffectCommons.IsByBattle(hashtable))
-                        {
-                            bool WinnerCondition(Permanent permanent)
-                            {
-                                if (permanent == null)
-                                    permanent = card.PermanentOfThisCard();
-
-                                return permanent.cardSources.Contains(card);
-                            }
-
-                            if (CardEffectCommons.CanTriggerWhenDeleteOpponentDigimon(hashtable, WinnerCondition, LoserCondition))
-                                return true;
-                        }
-
                         if (CardEffectCommons.IsByEffect(hashtable, DeletionCardEffect))
                         {
                             // Other Digimon
@@ -218,37 +199,128 @@ namespace DCGO.CardEffects.BT16
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.IsExistOnBattleAreaDigimon(card);
+                    return CardEffectCommons.IsExistOnBattleAreaDigimon(card) &&
+                           CardEffectCommons.HasMatchConditionOwnersCardInTrash(card, SelectCardCondition);
                 }
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 {
-                    if (CardEffectCommons.HasMatchConditionOwnersCardInTrash(card, SelectCardCondition))
+                    SelectCardEffect selectCardEffect = GManager.instance.GetComponent<SelectCardEffect>();
+
+                    selectCardEffect.SetUp(
+                        canTargetCondition: SelectCardCondition,
+                        canTargetCondition_ByPreSelecetedList: null,
+                        canEndSelectCondition: null,
+                        canNoSelect: () => false,
+                        selectCardCoroutine: null,
+                        afterSelectCardCoroutine: AfterSelectCardCoroutine,
+                        message: "Select 1 card to play",
+                        maxCount: 1,
+                        canEndNotMax: false,
+                        isShowOpponent: false,
+                        mode: SelectCardEffect.Mode.Custom,
+                        root: SelectCardEffect.Root.Trash,
+                        customRootCardList: null,
+                        canLookReverseCard: true,
+                        selectPlayer: card.Owner,
+                        cardEffect: activateClass
+                    );
+
+                    yield return ContinuousController.instance.StartCoroutine(selectCardEffect.Activate());
+                    IEnumerator AfterSelectCardCoroutine(List<CardSource> selectedCardSources)
+                    {
+                        if (selectedCardSources.Count >= 1)
+                        {
+                            yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.PlayPermanentCards(
+                                cardSources: selectedCardSources,
+                                activateClass: activateClass,
+                                payCost: false,
+                                isTapped: false,
+                                root: SelectCardEffect.Root.Trash,
+                                activateETB: true));
+                        }
+                    }
+                }
+            }
+
+            #endregion
+
+            #region All Turns - ESS Battle
+
+            if (timing == EffectTiming.OnEndBattle)
+            {
+                ActivateClass activateClass = new ActivateClass();
+                activateClass.SetUpICardEffect("Play 1 card with 5 cost or less", CanUseCondition, card);
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, true, EffectDiscription());
+                activateClass.SetIsInheritedEffect(true);
+                activateClass.SetHashString("PlayCard_BT16_061");
+                cardEffects.Add(activateClass);
+
+                string EffectDiscription()
+                {
+                    return
+                        "[All Turns] (Once Per Turn) When this Digimon deletes another Digimon, you may play 1 card with the [X Antibody] or [SoC] trait and a play cost of 5 or less from your trash without paying the cost.";
+                }
+
+                bool SelectCardCondition(CardSource cardSource)
+                {
+                    if (cardSource.HasPlayCost && cardSource.GetCostItself <= 5)
                     {
-                        SelectCardEffect selectCardEffect = GManager.instance.GetComponent<SelectCardEffect>();
-
-                        selectCardEffect.SetUp(
-                            canTargetCondition: SelectCardCondition,
-                            canTargetCondition_ByPreSelecetedList: null,
-                            canEndSelectCondition: null,
-                            canNoSelect: () => false,
-                            selectCardCoroutine: null,
-                            afterSelectCardCoroutine: AfterSelectCardCoroutine,
-                            message: "Select 1 card to play",
-                            maxCount: 1,
-                            canEndNotMax: false,
-                            isShowOpponent: false,
-                            mode: SelectCardEffect.Mode.Custom,
-                            root: SelectCardEffect.Root.Trash,
-                            customRootCardList: null,
-                            canLookReverseCard: true,
-                            selectPlayer: card.Owner,
-                            cardEffect: activateClass
-                        );
-
-                        yield return ContinuousController.instance.StartCoroutine(selectCardEffect.Activate());
+                        if (cardSource.ContainsTraits("X Antibody") || cardSource.CardTraits.Contains("X-Antibody"))
+                        {
+                            return true;
+                        }
+
+                        if (cardSource.ContainsTraits("SoC"))
+                        {
+                            return true;
+                        }
                     }
 
+                    return false;
+                }
+
+                bool WinnerCondition(Permanent permanent) => permanent.cardSources.Contains(card);
+                bool LoserCondition(Permanent permanent) => CardEffectCommons.IsOpponentPermanent(permanent, card);
+
+                bool CanUseCondition(Hashtable hashtable)
+                {
+                    return CardEffectCommons.IsExistOnBattleAreaDigimon(card) &&
+                           CardEffectCommons.CanTriggerWhenDeleteOpponentDigimonByBattle(hashtable: hashtable,
+                               winnerCondition: WinnerCondition, loserCondition: LoserCondition, isOnlyWinnerSurvive: false);
+                }
+
+                bool CanActivateCondition(Hashtable hashtable)
+                {
+                    return CardEffectCommons.IsExistOnBattleAreaDigimon(card) &&
+                           CardEffectCommons.HasMatchConditionOwnersCardInTrash(card, SelectCardCondition);
+                }
+
+                IEnumerator ActivateCoroutine(Hashtable hashtable)
+                {
+                    SelectCardEffect selectCardEffect = GManager.instance.GetComponent<SelectCardEffect>();
+
+                    selectCardEffect.SetUp(
+                        canTargetCondition: SelectCardCondition,
+                        canTargetCondition_ByPreSelecetedList: null,
+                        canEndSelectCondition: null,
+                        canNoSelect: () => false,
+                        selectCardCoroutine: null,
+                        afterSelectCardCoroutine: AfterSelectCardCoroutine,
+                        message: "Select 1 card to play",
+                        maxCount: 1,
+                        canEndNotMax: false,
+                        isShowOpponent: false,
+                        mode: SelectCardEffect.Mode.Custom,
+                        root: SelectCardEffect.Root.Trash,
+                        customRootCardList: null,
+                        canLookReverseCard: true,
+                        selectPlayer: card.Owner,
+                        cardEffect: activateClass
+                    );
+
+                    yield return ContinuousController.instance.StartCoroutine(selectCardEffect.Activate());
+
                     IEnumerator AfterSelectCardCoroutine(List<CardSource> selectedCardSources)
                     {
                         if (selectedCardSources.Count >= 1)

+ 3 - 3
Assets/CardEffect/BT16/Yellow/BT16_094.cs

@@ -27,7 +27,7 @@ namespace DCGO.CardEffects.BT16
 
                 bool CanSelectCardCondition(CardSource cardSource)
                 {
-                    if (cardSource.CardColors.Contains(CardColor.Yellow) || cardSource.CardTraits.Contains("FourGreatDragons"))
+                    if (cardSource.CardColors.Contains(CardColor.Yellow) || cardSource.EqualsCardName("Four Great Dragons"))
                     {
                         return true;
                     }
@@ -99,7 +99,7 @@ namespace DCGO.CardEffects.BT16
                 {
                     if (card.Owner.HandCards.Count >= 1)
                     {
-                        if (cardSource.CardNames.Contains("TrialoftheFourGreatDragons"))
+                        if (cardSource.EqualsCardName("Trial of the Four Great Dragons"))
                         {
                             return true;
                         }
@@ -121,7 +121,7 @@ namespace DCGO.CardEffects.BT16
                 {
                     if (card.Owner.HandCards.Count >= 1)
                     {
-                        if (card.CardTraits.Contains("FourGreatDragons") || card.CardTraits.Contains("Four Great Dragons"))
+                        if (card.EqualsTraits("Four Great Dragons"))
                         {
                             return true;
                         }

+ 3 - 3
Assets/CardEffect/BT17/Blue/BT17_028.cs

@@ -304,7 +304,7 @@ namespace DCGO.CardEffects.BT17
                 activateClass.SetUpICardEffect(
                     "Return 1 Tamer card and 1 Hybrid trait Digimon card from trash to hand, then play 1 Tamer from hand", CanUseCondition,
                     card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDescription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDescription());
                 cardEffects.Add(activateClass);
 
                 string EffectDescription()
@@ -376,7 +376,7 @@ namespace DCGO.CardEffects.BT17
                             canTargetCondition: IsTamerCardCondition,
                             canTargetCondition_ByPreSelecetedList: null,
                             canEndSelectCondition: null,
-                            canNoSelect: () => false,
+                            canNoSelect: () => true,
                             selectCardCoroutine: null,
                             afterSelectCardCoroutine: null,
                             message: "Select 1 Tamer card to add to your hand.",
@@ -403,7 +403,7 @@ namespace DCGO.CardEffects.BT17
                             canTargetCondition: IsHybridDigimonCardCondition,
                             canTargetCondition_ByPreSelecetedList: null,
                             canEndSelectCondition: null,
-                            canNoSelect: () => false,
+                            canNoSelect: () => true,
                             selectCardCoroutine: null,
                             afterSelectCardCoroutine: null,
                             message: "Select 1 Hybrid Digimon card to add to your hand.",

+ 28 - 48
Assets/CardEffect/BT18/Black/BT18_073.cs

@@ -626,55 +626,35 @@ namespace DCGO.CardEffects.BT18
                             {
                                 if (GManager.instance.attackProcess.AttackingPermanent.CanSwitchAttackTarget)
                                 {
-                                    List<SelectionElement<bool>> selectionElements = new List<SelectionElement<bool>>()
-                        {
-                            new SelectionElement<bool>(message: $"Switch", value : true, spriteIndex: 0),
-                            new SelectionElement<bool>(message: $"Not switch", value : false, spriteIndex: 1),
-                        };
-
-                                    string selectPlayerMessage = "Will you switch the attack target?";
-                                    string notSelectPlayerMessage = "The opponent is selecting whether to switch the attack target.";
-
-                                    GManager.instance.userSelectionManager.SetBoolSelection(selectionElements: selectionElements, selectPlayer: card.Owner, selectPlayerMessage: selectPlayerMessage, notSelectPlayerMessage: notSelectPlayerMessage);
-
-                                    yield return ContinuousController.instance.StartCoroutine(GManager.instance.userSelectionManager.WaitForEndSelect());
-
-                                    bool doSwitch = GManager.instance.userSelectionManager.SelectedBoolValue;
-
-
-
-                                    if (doSwitch)
+                                    int maxCount = Math.Min(1, CardEffectCommons.MatchConditionPermanentCount(CanSelectPermanentCondition));
+
+                                    SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
+
+                                    selectPermanentEffect.SetUp(
+                                        selectPlayer: card.Owner,
+                                        canTargetCondition: CanSelectPermanentCondition,
+                                        canTargetCondition_ByPreSelecetedList: null,
+                                        canEndSelectCondition: null,
+                                        maxCount: maxCount,
+                                        canNoSelect: false,
+                                        canEndNotMax: false,
+                                        selectPermanentCoroutine: SelectPermanentCoroutine,
+                                        afterSelectPermanentCoroutine: null,
+                                        mode: SelectPermanentEffect.Mode.Custom,
+                                        cardEffect: activateClass);
+
+                                    selectPermanentEffect.SetUpCustomMessage(
+                                        "Select 1 Digimon to switch the attack to.",
+                                        "The opponent is selecting 1 Digimon to switch the attack to.");
+
+                                    yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
+
+                                    IEnumerator SelectPermanentCoroutine(Permanent permanent)
                                     {
-                                        int maxCount = Math.Min(1, CardEffectCommons.MatchConditionPermanentCount(CanSelectPermanentCondition));
-
-                                        SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
-
-                                        selectPermanentEffect.SetUp(
-                                            selectPlayer: card.Owner,
-                                            canTargetCondition: CanSelectPermanentCondition,
-                                            canTargetCondition_ByPreSelecetedList: null,
-                                            canEndSelectCondition: null,
-                                            maxCount: maxCount,
-                                            canNoSelect: false,
-                                            canEndNotMax: false,
-                                            selectPermanentCoroutine: SelectPermanentCoroutine,
-                                            afterSelectPermanentCoroutine: null,
-                                            mode: SelectPermanentEffect.Mode.Custom,
-                                            cardEffect: activateClass);
-
-                                        selectPermanentEffect.SetUpCustomMessage(
-                                            "Select 1 Digimon to switch the attack to.",
-                                            "The opponent is selecting 1 Digimon to switch the attack to.");
-
-                                        yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
-
-                                        IEnumerator SelectPermanentCoroutine(Permanent permanent)
-                                        {
-                                            yield return ContinuousController.instance.StartCoroutine(GManager.instance.attackProcess.SwitchDefender(
-                                            activateClass,
-                                            false,
-                                            permanent));
-                                        }
+                                        yield return ContinuousController.instance.StartCoroutine(GManager.instance.attackProcess.SwitchDefender(
+                                        activateClass,
+                                        false,
+                                        permanent));
                                     }
                                 }
                             }

+ 2 - 2
Assets/CardEffect/BT18/Blue/BT18_023.cs

@@ -367,9 +367,9 @@ namespace DCGO.CardEffects.BT18
 
                 IEnumerator ActivateCoroutine(Hashtable _hashtable)
                 {
-                     int maxCount = Math.Min(1, card.Owner.GetBattleAreaPermanents().Count(CanSelectPermanentCondition));
+                    int maxCount = Math.Min(1, CardEffectCommons.MatchConditionPermanentCount(CanSelectPermanentCondition));
 
-                     SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
+                    SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
 
                      selectPermanentEffect.SetUp(
                          selectPlayer: card.Owner,

+ 1 - 1
Assets/CardEffect/BT18/Blue/BT18_024.cs

@@ -353,7 +353,7 @@ namespace DCGO.CardEffects.BT18
 
                 IEnumerator ActivateCoroutine(Hashtable _hashtable)
                 {
-                    int maxCount = Math.Min(1, card.Owner.GetBattleAreaPermanents().Count(CanSelectPermanentCondition));
+                    int maxCount = Math.Min(1, CardEffectCommons.MatchConditionPermanentCount(CanSelectPermanentCondition));
                  
                     SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
                  

+ 1 - 0
Assets/CardEffect/BT18/Green/BT18_056.cs

@@ -1,5 +1,6 @@
 using System.Collections;
 using System.Collections.Generic;
+using System.Diagnostics;
 using System.Linq;
 
 namespace DCGO.CardEffects.BT18

+ 3 - 2
Assets/CardEffect/BT18/Yellow/BT18_003.cs

@@ -14,13 +14,14 @@ namespace DCGO.CardEffects.BT18
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("DP -2000 when yellow tamer in play", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, false, EffectDiscription());
                 activateClass.SetIsInheritedEffect(true);
+                activateClass.SetHashString("MinusDP_BT18-003");
                 cardEffects.Add(activateClass);
 
                 string EffectDiscription()
                 {
-                    return "[When Attacking] If you have a yellow Tamer, 1 of your opponent's Digimon gets -2000 DP for the turn.";
+                    return "[When Attacking] [Once Per Turn] If you have a yellow Tamer, 1 of your opponent's Digimon gets -2000 DP for the turn.";
                 }
 
                 bool CanSelectPermanentCondition(Permanent permanent)

+ 3 - 3
Assets/CardEffect/BT19/Black/BT19_055.cs

@@ -58,13 +58,13 @@ namespace DCGO.CardEffects.BT19
                        {
                             new SimplifiedSelectCardConditionClass(
                                 canTargetCondition:SelectKnightmonOrTwilight,
-                                message: "Select 1 card with [Knightmon] in its text or the [Twilight] trait.",
+                                message: "Select 1 card with [Knightmon] in its text or the [Twilight] trait to add to hand.",
                                 mode: SelectCardEffect.Mode.AddHand,
                                 maxCount: 1,
                                 selectCardCoroutine: null),
                             new SimplifiedSelectCardConditionClass(
                                 canTargetCondition:SelectKnightmonOrTwilight,
-                                message: "Select 1 card with [Knightmon] in its text or the [Twilight] trait.",
+                                message: "Select 1 card with [Knightmon] in its text or the [Twilight] trait to place under a tamer.",
                                 mode: SelectCardEffect.Mode.Custom,
                                 maxCount: 1,
                                 selectCardCoroutine: PlaceUnderTamer),
@@ -81,7 +81,7 @@ namespace DCGO.CardEffects.BT19
                        {
                             new SimplifiedSelectCardConditionClass(
                                 canTargetCondition:SelectKnightmonOrTwilight,
-                                message: "Select 1 card with [Knightmon] in its text or the [Twilight] trait.",
+                                message: "Select 1 card with [Knightmon] in its text or the [Twilight] trait to add to hand.",
                                 mode: SelectCardEffect.Mode.AddHand,
                                 maxCount: 1,
                                 selectCardCoroutine: null),

+ 28 - 48
Assets/CardEffect/BT19/Black/BT19_065.cs

@@ -351,55 +351,35 @@ namespace DCGO.CardEffects.BT19
                             {
                                 if (GManager.instance.attackProcess.AttackingPermanent.CanSwitchAttackTarget)
                                 {
-                                    List<SelectionElement<bool>> selectionElements = new List<SelectionElement<bool>>()
-                        {
-                            new SelectionElement<bool>(message: $"Switch", value : true, spriteIndex: 0),
-                            new SelectionElement<bool>(message: $"Not switch", value : false, spriteIndex: 1),
-                        };
-
-                                    string selectPlayerMessage = "Will you switch the attack target?";
-                                    string notSelectPlayerMessage = "The opponent is selecting whether to switch the attack target.";
-
-                                    GManager.instance.userSelectionManager.SetBoolSelection(selectionElements: selectionElements, selectPlayer: card.Owner, selectPlayerMessage: selectPlayerMessage, notSelectPlayerMessage: notSelectPlayerMessage);
-
-                                    yield return ContinuousController.instance.StartCoroutine(GManager.instance.userSelectionManager.WaitForEndSelect());
-
-                                    bool doSwitch = GManager.instance.userSelectionManager.SelectedBoolValue;
-
-
-
-                                    if (doSwitch)
+                                    int maxCount = Math.Min(1, CardEffectCommons.MatchConditionPermanentCount(CanSelectPermanentCondition));
+
+                                    SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
+
+                                    selectPermanentEffect.SetUp(
+                                        selectPlayer: card.Owner,
+                                        canTargetCondition: CanSelectPermanentCondition,
+                                        canTargetCondition_ByPreSelecetedList: null,
+                                        canEndSelectCondition: null,
+                                        maxCount: maxCount,
+                                        canNoSelect: false,
+                                        canEndNotMax: false,
+                                        selectPermanentCoroutine: SelectPermanentCoroutine,
+                                        afterSelectPermanentCoroutine: null,
+                                        mode: SelectPermanentEffect.Mode.Custom,
+                                        cardEffect: activateClass);
+
+                                    selectPermanentEffect.SetUpCustomMessage(
+                                        "Select 1 Digimon to switch the attack to.",
+                                        "The opponent is selecting 1 Digimon to switch the attack to.");
+
+                                    yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
+
+                                    IEnumerator SelectPermanentCoroutine(Permanent permanent)
                                     {
-                                        int maxCount = Math.Min(1, CardEffectCommons.MatchConditionPermanentCount(CanSelectPermanentCondition));
-
-                                        SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
-
-                                        selectPermanentEffect.SetUp(
-                                            selectPlayer: card.Owner,
-                                            canTargetCondition: CanSelectPermanentCondition,
-                                            canTargetCondition_ByPreSelecetedList: null,
-                                            canEndSelectCondition: null,
-                                            maxCount: maxCount,
-                                            canNoSelect: false,
-                                            canEndNotMax: false,
-                                            selectPermanentCoroutine: SelectPermanentCoroutine,
-                                            afterSelectPermanentCoroutine: null,
-                                            mode: SelectPermanentEffect.Mode.Custom,
-                                            cardEffect: activateClass);
-
-                                        selectPermanentEffect.SetUpCustomMessage(
-                                            "Select 1 Digimon to switch the attack to.",
-                                            "The opponent is selecting 1 Digimon to switch the attack to.");
-
-                                        yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
-
-                                        IEnumerator SelectPermanentCoroutine(Permanent permanent)
-                                        {
-                                            yield return ContinuousController.instance.StartCoroutine(GManager.instance.attackProcess.SwitchDefender(
-                                            activateClass,
-                                            false,
-                                            permanent));
-                                        }
+                                        yield return ContinuousController.instance.StartCoroutine(GManager.instance.attackProcess.SwitchDefender(
+                                        activateClass,
+                                        false,
+                                        permanent));
                                     }
                                 }
                             }

+ 1 - 2
Assets/CardEffect/BT19/Blue/BT19_028.cs

@@ -51,8 +51,7 @@ namespace DCGO.CardEffects.BT19
 
                 bool CanSelectYourSuspendedDigimon(Permanent permanent)
                 {
-                    return CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card) &&
-                           permanent.IsDigimon && permanent.IsSuspended;
+                    return CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card);
                 }
 
                 bool CanSelectAquaDigimon(Permanent permanent)

+ 3 - 5
Assets/CardEffect/P/Black/P_157.cs

@@ -29,15 +29,13 @@ namespace DCGO.CardEffects.P
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    if (CardEffectCommons.CanTriggerOnDeletion(hashtable, card))
-                        return CardEffectCommons.HasMatchConditionOwnersPermanent(card, HasTamer);
-
-                    return false;
+                    return CardEffectCommons.CanTriggerOnDeletion(hashtable, card);
                 }
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.CanActivateOnDeletionInherited(hashtable, card);
+                    return CardEffectCommons.CanActivateOnDeletionInherited(hashtable, card) &&
+                           CardEffectCommons.HasMatchConditionOwnersPermanent(card, HasTamer); 
                 }
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)

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

@@ -58,7 +58,7 @@ namespace DCGO.CardEffects.P
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Suspend 1 Digimon", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateSuspendCondition, ActivateCoroutine, -1, true, EffectDescription());
+                activateClass.SetUpActivateClass(CanActivateSuspendCondition, ActivateCoroutine, -1, false, EffectDescription());
                 cardEffects.Add(activateClass);
 
                 string EffectDescription()
@@ -81,7 +81,7 @@ namespace DCGO.CardEffects.P
                         canTargetCondition_ByPreSelecetedList: null,
                         canEndSelectCondition: null,
                         maxCount: 1,
-                        canNoSelect: false,
+                        canNoSelect: true,
                         canEndNotMax: false,
                         selectPermanentCoroutine: null,
                         afterSelectPermanentCoroutine: null,
@@ -116,7 +116,7 @@ namespace DCGO.CardEffects.P
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Suspend 1 Digimon", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateSuspendCondition, ActivateCoroutine, -1, true, EffectDescription());
+                activateClass.SetUpActivateClass(CanActivateSuspendCondition, ActivateCoroutine, -1, false, EffectDescription());
                 cardEffects.Add(activateClass);
 
                 string EffectDescription()
@@ -139,7 +139,7 @@ namespace DCGO.CardEffects.P
                         canTargetCondition_ByPreSelecetedList: null,
                         canEndSelectCondition: null,
                         maxCount: 1,
-                        canNoSelect: false,
+                        canNoSelect: true,
                         canEndNotMax: false,
                         selectPermanentCoroutine: null,
                         afterSelectPermanentCoroutine: null,

+ 1 - 1
ProjectSettings/ProjectSettings.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:44b4e9f674829124418d8af9bf4d88d32ad60ab992216e27f0550511d7cb8df4
+oid sha256:8adfd27773fbe951491cb33210a9d7359cac25e942398768be86ed8b2bea904e
 size 20166