mbunch_kascope 11 месяцев назад
Родитель
Сommit
0e47a96363

+ 2 - 2
Assets/CardBaseEntity/EX10/Black/Option/EX10_069.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:7cc1d43dc7a86365d8dd6c0aaab8914cfd2dd365b243e3b9eb81fc7645d557cb
-size 1519
+oid sha256:d9a75dd0a4e1b7e914bf309df47c97161fe41f77c8e29667822f0cd5c2feb55e
+size 1525

+ 2 - 2
Assets/CardBaseEntity/P/Red/Digimon/P_072.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:00a1d389aefbd57c9e0ba88d3725ed0f4c3b47e523e4dd911f60f3013818b1b7
-size 3046
+oid sha256:83bdd4fcaa8f36a488d25c6069703065e68c122dc4144bf065d530f2c25cd61f
+size 2784

+ 1 - 1
Assets/CardEffect/EX10/Black/EX10_029.cs

@@ -161,7 +161,7 @@ namespace DCGO.CardEffects.EX10
                                     canTargetCondition_ByPreSelecetedList: null,
                                     canEndSelectCondition: null,
                                     maxCount: maxCount,
-                                    canNoSelect: true,
+                                    canNoSelect: false,
                                     canEndNotMax: false,
                                     selectPermanentCoroutine: SelectPermanentCoroutine,
                                     afterSelectPermanentCoroutine: null,

+ 1 - 1
Assets/CardEffect/EX10/Black/EX10_030.cs

@@ -315,7 +315,7 @@ namespace DCGO.CardEffects.EX10
                     if (selectedPermament != null)
                         yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.ChangeDigimonDP(
                             targetPermanent: selectedPermament,
-                            changeValue: -6000,
+                            changeValue: -8000,
                             effectDuration: EffectDuration.UntilEachTurnEnd,
                             activateClass: activateClass));
                 }

+ 38 - 28
Assets/CardEffect/EX10/Black/EX10_035.cs

@@ -2,6 +2,7 @@ using System.Collections;
 using System.Collections.Generic;
 using System.Linq;
 using System;
+using UnityEngine;
 
 namespace DCGO.CardEffects.EX10
 {
@@ -10,7 +11,6 @@ namespace DCGO.CardEffects.EX10
         public override List<ICardEffect> CardEffects(EffectTiming timing, CardSource card)
         {
             List<ICardEffect> cardEffects = new List<ICardEffect>();
-            ActivateClass deleteDigimonActivateClass = null;
 
             #region Hand - Main
 
@@ -116,17 +116,21 @@ namespace DCGO.CardEffects.EX10
                                             root: SelectCardEffect.Root.Hand,
                                             activateETB: true));
 
+                    yield return new WaitForSeconds(0.2f);
+
                     #region Delete Digimon Played
 
-                    Permanent selectedPermanent = card.PermanentOfThisCard();
+                    Permanent playedPermanent = card.PermanentOfThisCard();
 
-                    deleteDigimonActivateClass.SetUpICardEffect("Delete this Digimon", CanUseCondition2, selectedPermanent.TopCard);
-                    deleteDigimonActivateClass.SetUpActivateClass(CanActivateCondition1, ActivateCoroutine1, -1, false, EffectDiscription1());
-                    deleteDigimonActivateClass.SetEffectSourcePermanent(selectedPermanent);
+                    ActivateClass activateClass1 = new ActivateClass();
+                    activateClass1.SetUpICardEffect("Delete the Digimon", CanUseCondition2, playedPermanent.TopCard);
+                    activateClass1.SetUpActivateClass(CanActivateCondition1, ActivateCoroutine1, -1, false, EffectDiscription1());
+                    activateClass1.SetEffectSourcePermanent(playedPermanent);
+                    playedPermanent.UntilOwnerTurnEndEffects.Add(GetCardEffect);
 
-                    if (!selectedPermanent.TopCard.CanNotBeAffected(activateClass))
+                    if (!playedPermanent.TopCard.CanNotBeAffected(activateClass))
                     {
-                        yield return ContinuousController.instance.StartCoroutine(GManager.instance.GetComponent<Effects>().CreateDebuffEffect(selectedPermanent));
+                        yield return ContinuousController.instance.StartCoroutine(GManager.instance.GetComponent<Effects>().CreateDebuffEffect(playedPermanent));
                     }
 
                     string EffectDiscription1()
@@ -136,19 +140,24 @@ namespace DCGO.CardEffects.EX10
 
                     bool CanUseCondition2(Hashtable hashtable1)
                     {
-                        return CardEffectCommons.IsPermanentExistsOnOwnerBattleArea(selectedPermanent, selectedPermanent.TopCard);
+                        if (CardEffectCommons.IsOwnerTurn(card))
+                        {
+                            if (CardEffectCommons.IsPermanentExistsOnOwnerBattleArea(playedPermanent, playedPermanent.TopCard))
+                            {
+                                return true;
+                            }
+                        }
+
+                        return false;
                     }
 
                     bool CanActivateCondition1(Hashtable hashtable1)
                     {
-                        if (CardEffectCommons.IsPermanentExistsOnBattleArea(selectedPermanent))
+                        if (CardEffectCommons.IsPermanentExistsOnBattleArea(playedPermanent))
                         {
-                            if (CardEffectCommons.IsOwnerTurn(selectedPermanent.TopCard))
+                            if (!playedPermanent.TopCard.CanNotBeAffected(activateClass))
                             {
-                                if (!selectedPermanent.TopCard.CanNotBeAffected(activateClass))
-                                {
-                                    return true;
-                                }
+                                return true;
                             }
                         }
 
@@ -157,25 +166,26 @@ namespace DCGO.CardEffects.EX10
 
                     IEnumerator ActivateCoroutine1(Hashtable _hashtable1)
                     {
-                        if (CardEffectCommons.IsPermanentExistsOnBattleArea(selectedPermanent))
+                        if (CardEffectCommons.IsPermanentExistsOnBattleArea(playedPermanent))
                         {
                             yield return ContinuousController.instance.StartCoroutine(new DestroyPermanentsClass(
-                            new List<Permanent>() { selectedPermanent },
-                            CardEffectCommons.CardEffectHashtable(deleteDigimonActivateClass)).Destroy());
+                            new List<Permanent>() { playedPermanent },
+                            CardEffectCommons.CardEffectHashtable(activateClass1)).Destroy());
                         }
                     }
 
-                    #endregion
-                }
-            }
-
-            #endregion
+                    ICardEffect GetCardEffect(EffectTiming _timing)
+                    {
+                        if (_timing == EffectTiming.OnEndTurn)
+                        {
+                            return activateClass1;
+                        }
 
-            #region End of Turn (Only used if Hand - Main was activated)
+                        return null;
+                    }
 
-            if (timing == EffectTiming.OnEndTurn && deleteDigimonActivateClass != null)
-            {
-                cardEffects.Add(deleteDigimonActivateClass);
+                    #endregion
+                }
             }
 
             #endregion
@@ -324,7 +334,7 @@ namespace DCGO.CardEffects.EX10
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Place this Digimon face up as bottom security, add top security to hand", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
                 cardEffects.Add(activateClass);
 
                 string EffectDiscription()
@@ -334,7 +344,7 @@ namespace DCGO.CardEffects.EX10
 
                 bool FaceUpBlack(CardSource card)
                 {
-                    return card.IsFlipped &&
+                    return !card.IsFlipped &&
                            card.CardColors.Contains(CardColor.Black);
                 }
 

+ 1 - 3
Assets/CardEffect/EX10/Black/EX10_063.cs

@@ -49,7 +49,7 @@ namespace DCGO.CardEffects.EX10
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 {
-                    yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.BouncePeremanentAndProcessAccordingToResult(
+                    yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.DeckBouncePeremanentAndProcessAccordingToResult(
                         targetPermanents: new List<Permanent>() { card.PermanentOfThisCard() },
                         activateClass: activateClass,
                         successProcess: SuccessProcess(),
@@ -133,8 +133,6 @@ namespace DCGO.CardEffects.EX10
                             }
                         }
                     }
-
-                    yield return ContinuousController.instance.StartCoroutine(new DeckBottomBounceClass(new List<Permanent> { card.PermanentOfThisCard() }, hashtable).DeckBounce());
                 }
             }
 

+ 23 - 7
Assets/CardEffect/EX10/Black/EX10_070.cs

@@ -80,10 +80,13 @@ namespace DCGO.CardEffects.EX10
 
             if (timing == EffectTiming.OnLinkCardDiscarded)
             {
+                Permanent trashedFrom = null;
+                string trashedName = "null";
+
                 ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("Link 1 card from trash with 1 Digimon", CanUseCondition, card);
+                activateClass.SetUpICardEffect($"Link 1 card from trash with {trashedName}", CanUseCondition, card);
                 activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDescription());
-                cardEffects.Add(activateClass);
+                cardEffects.Add(activateClass);                
 
                 string EffectDescription()
                 {
@@ -92,8 +95,18 @@ namespace DCGO.CardEffects.EX10
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.CanDeclareOptionDelayEffect(card) &&
-                        CardEffectCommons.CanTriggerOnTrashLinkedCard(hashtable, perm => CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(perm, card), cardEffect => cardEffect != null, source => source != null);
+                    if (CardEffectCommons.CanDeclareOptionDelayEffect(card))
+                    {
+                        if (CardEffectCommons.CanTriggerOnTrashLinkedCard(hashtable, perm => CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(perm, card), cardEffect => cardEffect != null, source => source != null))
+                        {
+                            trashedFrom = CardEffectCommons.GetPermanentFromHashtable(hashtable);
+                            trashedName = trashedName != null ? trashedFrom.TopCard.BaseENGCardNameFromEntity : "null";
+
+                            return true;
+                        }
+                    }
+
+                    return false;
                 }
 
                 bool CanActivateCondition(Hashtable hashtable)
@@ -102,7 +115,10 @@ namespace DCGO.CardEffects.EX10
                     {
                         if (card.PermanentOfThisCard().CanBeDestroyedBySkill(activateClass))
                         {
-                            return CardEffectCommons.HasMatchConditionOwnersCardInTrash(card, cardSource => CanLinkToTrashedFromDigimon(cardSource, hashtable));
+                            if (CardEffectCommons.HasMatchConditionOwnersCardInTrash(card, cardSource => CanLinkToTrashedFromDigimon(cardSource, hashtable)))
+                            {
+                                return true;
+                            }                            
                         }
                     }
 
@@ -116,7 +132,7 @@ namespace DCGO.CardEffects.EX10
 
                 bool CanSelectLinkTarget(CardSource cardSource)
                 {
-                    return cardSource.HasAppmonTraits && cardSource.CanLink(false);
+                    return cardSource.HasAppmonTraits && cardSource.CanLinkToTargetPermanent(trashedFrom, false);
                 }
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
@@ -220,7 +236,7 @@ namespace DCGO.CardEffects.EX10
 
             #endregion
 
-            #region Security
+                #region Security
 
             if (timing == EffectTiming.SecuritySkill)
             {

+ 2 - 2
Assets/CardEffect/EX10/Black/EX10_073.cs

@@ -85,7 +85,7 @@ namespace DCGO.CardEffects.EX10
                     yield return null;
                 }
 
-                if (hasInSources)
+                if (hasInHand)
                 {
                     SelectHandEffect selectHandEffect = GManager.instance.GetComponent<SelectHandEffect>();
                     selectHandEffect.SetUp(
@@ -111,7 +111,7 @@ namespace DCGO.CardEffects.EX10
                     }
                 }
 
-                if (hasInHand)
+                if (hasInSources)
                 {
                     SelectCardEffect selectCardEffect = GManager.instance.GetComponent<SelectCardEffect>();
                     selectCardEffect.SetUp(

+ 38 - 27
Assets/CardEffect/EX10/Blue/EX10_012.cs

@@ -2,6 +2,7 @@ using System.Collections;
 using System.Collections.Generic;
 using System.Linq;
 using System;
+using UnityEngine;
 
 namespace DCGO.CardEffects.EX10
 {
@@ -117,17 +118,21 @@ namespace DCGO.CardEffects.EX10
                                             root: SelectCardEffect.Root.Hand,
                                             activateETB: true));
 
+                    yield return new WaitForSeconds(0.2f);
+
                     #region Delete Digimon Played
 
-                    Permanent selectedPermanent = card.PermanentOfThisCard();
+                    Permanent playedPermanent = card.PermanentOfThisCard();
 
-                    deleteDigimonActivateClass.SetUpICardEffect("Delete this Digimon", CanUseCondition2, selectedPermanent.TopCard);
-                    deleteDigimonActivateClass.SetUpActivateClass(CanActivateCondition1, ActivateCoroutine1, -1, false, EffectDiscription1());
-                    deleteDigimonActivateClass.SetEffectSourcePermanent(selectedPermanent);
+                    ActivateClass activateClass1 = new ActivateClass();
+                    activateClass1.SetUpICardEffect("Delete the Digimon", CanUseCondition2, playedPermanent.TopCard);
+                    activateClass1.SetUpActivateClass(CanActivateCondition1, ActivateCoroutine1, -1, false, EffectDiscription1());
+                    activateClass1.SetEffectSourcePermanent(playedPermanent);
+                    playedPermanent.UntilOwnerTurnEndEffects.Add(GetCardEffect);
 
-                    if (!selectedPermanent.TopCard.CanNotBeAffected(activateClass))
+                    if (!playedPermanent.TopCard.CanNotBeAffected(activateClass))
                     {
-                        yield return ContinuousController.instance.StartCoroutine(GManager.instance.GetComponent<Effects>().CreateDebuffEffect(selectedPermanent));
+                        yield return ContinuousController.instance.StartCoroutine(GManager.instance.GetComponent<Effects>().CreateDebuffEffect(playedPermanent));
                     }
 
                     string EffectDiscription1()
@@ -137,19 +142,24 @@ namespace DCGO.CardEffects.EX10
 
                     bool CanUseCondition2(Hashtable hashtable1)
                     {
-                        return CardEffectCommons.IsPermanentExistsOnOwnerBattleArea(selectedPermanent, selectedPermanent.TopCard);
+                        if (CardEffectCommons.IsOwnerTurn(card))
+                        {
+                            if (CardEffectCommons.IsPermanentExistsOnOwnerBattleArea(playedPermanent, playedPermanent.TopCard))
+                            {
+                                return true;
+                            }
+                        }
+
+                        return false;
                     }
 
                     bool CanActivateCondition1(Hashtable hashtable1)
                     {
-                        if (CardEffectCommons.IsPermanentExistsOnBattleArea(selectedPermanent))
+                        if (CardEffectCommons.IsPermanentExistsOnBattleArea(playedPermanent))
                         {
-                            if (CardEffectCommons.IsOwnerTurn(selectedPermanent.TopCard))
+                            if (!playedPermanent.TopCard.CanNotBeAffected(activateClass))
                             {
-                                if (!selectedPermanent.TopCard.CanNotBeAffected(activateClass))
-                                {
-                                    return true;
-                                }
+                                return true;
                             }
                         }
 
@@ -158,25 +168,26 @@ namespace DCGO.CardEffects.EX10
 
                     IEnumerator ActivateCoroutine1(Hashtable _hashtable1)
                     {
-                        if (CardEffectCommons.IsPermanentExistsOnBattleArea(selectedPermanent))
+                        if (CardEffectCommons.IsPermanentExistsOnBattleArea(playedPermanent))
                         {
                             yield return ContinuousController.instance.StartCoroutine(new DestroyPermanentsClass(
-                            new List<Permanent>() { selectedPermanent },
-                            CardEffectCommons.CardEffectHashtable(deleteDigimonActivateClass)).Destroy());
+                            new List<Permanent>() { playedPermanent },
+                            CardEffectCommons.CardEffectHashtable(activateClass1)).Destroy());
                         }
                     }
 
-                    #endregion
-                }
-            }
-
-            #endregion
+                    ICardEffect GetCardEffect(EffectTiming _timing)
+                    {
+                        if (_timing == EffectTiming.OnEndTurn)
+                        {
+                            return activateClass1;
+                        }
 
-            #region End of Turn (Only used if Hand - Main was activated)
+                        return null;
+                    }
 
-            if (timing == EffectTiming.OnEndTurn && deleteDigimonActivateClass != null)
-            {
-                cardEffects.Add(deleteDigimonActivateClass);
+                    #endregion
+                }
             }
 
             #endregion
@@ -463,7 +474,7 @@ namespace DCGO.CardEffects.EX10
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Place this Digimon face up as bottom security, add top security to hand", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
                 cardEffects.Add(activateClass);
 
                 string EffectDiscription()
@@ -473,7 +484,7 @@ namespace DCGO.CardEffects.EX10
 
                 bool FaceUpBlue(CardSource card)
                 {
-                    return card.IsFlipped &&
+                    return !card.IsFlipped &&
                            card.CardColors.Contains(CardColor.Black);
                 }
 

+ 18 - 19
Assets/CardEffect/EX10/Green/EX10_020.cs

@@ -2,6 +2,7 @@ using System.Collections;
 using System.Collections.Generic;
 using System;
 using System.Linq;
+using UnityEngine;
 
 namespace DCGO.CardEffects.EX10
 {
@@ -115,19 +116,21 @@ namespace DCGO.CardEffects.EX10
                                             root: SelectCardEffect.Root.Hand,
                                             activateETB: true));
 
+                    yield return new WaitForSeconds(0.2f);
+
                     #region Delete Digimon Played
 
-                    Permanent selectedPermanent = card.PermanentOfThisCard();
+                    Permanent playedPermanent = card.PermanentOfThisCard();
 
                     ActivateClass activateClass1 = new ActivateClass();
-                    activateClass1.SetUpICardEffect("Delete this Digimon", CanUseCondition2, selectedPermanent.TopCard);
+                    activateClass1.SetUpICardEffect("Delete the Digimon", CanUseCondition2, playedPermanent.TopCard);
                     activateClass1.SetUpActivateClass(CanActivateCondition1, ActivateCoroutine1, -1, false, EffectDiscription1());
-                    activateClass1.SetEffectSourcePermanent(selectedPermanent);
-                    selectedPermanent.UntilOwnerTurnEndEffects.Add(GetCardEffect);
+                    activateClass1.SetEffectSourcePermanent(playedPermanent);
+                    playedPermanent.UntilOwnerTurnEndEffects.Add(GetCardEffect);
 
-                    if (!selectedPermanent.TopCard.CanNotBeAffected(activateClass))
+                    if (!playedPermanent.TopCard.CanNotBeAffected(activateClass))
                     {
-                        yield return ContinuousController.instance.StartCoroutine(GManager.instance.GetComponent<Effects>().CreateDebuffEffect(selectedPermanent));
+                        yield return ContinuousController.instance.StartCoroutine(GManager.instance.GetComponent<Effects>().CreateDebuffEffect(playedPermanent));
                     }
 
                     string EffectDiscription1()
@@ -137,14 +140,11 @@ namespace DCGO.CardEffects.EX10
 
                     bool CanUseCondition2(Hashtable hashtable1)
                     {
-                        if (CardEffectCommons.IsOpponentTurn(card))
+                        if (CardEffectCommons.IsOwnerTurn(card))
                         {
-                            if (CardEffectCommons.IsPermanentExistsOnOwnerBattleArea(selectedPermanent, selectedPermanent.TopCard))
+                            if (CardEffectCommons.IsPermanentExistsOnOwnerBattleArea(playedPermanent, playedPermanent.TopCard))
                             {
-                                if (CardEffectCommons.CanTriggerOnEndAttack(hashtable1, selectedPermanent.TopCard))
-                                {
-                                    return true;
-                                }
+                                return true;
                             }
                         }
 
@@ -153,9 +153,9 @@ namespace DCGO.CardEffects.EX10
 
                     bool CanActivateCondition1(Hashtable hashtable1)
                     {
-                        if (CardEffectCommons.IsPermanentExistsOnBattleArea(selectedPermanent))
+                        if (CardEffectCommons.IsPermanentExistsOnBattleArea(playedPermanent))
                         {
-                            if (!selectedPermanent.TopCard.CanNotBeAffected(activateClass))
+                            if (!playedPermanent.TopCard.CanNotBeAffected(activateClass))
                             {
                                 return true;
                             }
@@ -166,10 +166,10 @@ namespace DCGO.CardEffects.EX10
 
                     IEnumerator ActivateCoroutine1(Hashtable _hashtable1)
                     {
-                        if (CardEffectCommons.IsPermanentExistsOnBattleArea(selectedPermanent))
+                        if (CardEffectCommons.IsPermanentExistsOnBattleArea(playedPermanent))
                         {
                             yield return ContinuousController.instance.StartCoroutine(new DestroyPermanentsClass(
-                            new List<Permanent>() { selectedPermanent },
+                            new List<Permanent>() { playedPermanent },
                             CardEffectCommons.CardEffectHashtable(activateClass1)).Destroy());
                         }
                     }
@@ -350,8 +350,7 @@ namespace DCGO.CardEffects.EX10
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Place this Digimon face up as bottom security, add top security to hand", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
-                activateClass.SetIsInheritedEffect(true);
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
                 cardEffects.Add(activateClass);
 
                 string EffectDiscription()
@@ -361,7 +360,7 @@ namespace DCGO.CardEffects.EX10
 
                 bool FaceUpGreen(CardSource card)
                 {
-                    return card.IsFlipped &&
+                    return !card.IsFlipped &&
                            card.CardColors.Contains(CardColor.Green);
                 }
 

+ 5 - 5
Assets/CardEffect/EX10/Purple/EX10_045.cs

@@ -162,7 +162,7 @@ namespace DCGO.CardEffects.EX10
                         canTargetCondition_ByPreSelecetedList: null,
                         canEndSelectCondition: null,
                         maxCount: maxCount,
-                        canNoSelect: true,
+                        canNoSelect: false,
                         canEndNotMax: false,
                         selectPermanentCoroutine: SelectPermanentCoroutine,
                         afterSelectPermanentCoroutine: null,
@@ -191,7 +191,7 @@ namespace DCGO.CardEffects.EX10
                                     canTargetCondition: CanSelectSource,
                                     canTargetCondition_ByPreSelecetedList: null,
                                     canEndSelectCondition: null,
-                                    canNoSelect: () => true,
+                                    canNoSelect: () => false,
                                     selectCardCoroutine: SelectCardCoroutine,
                                     afterSelectCardCoroutine: null,
                                     message: "Select 1 digivolution card to discard.",
@@ -284,7 +284,7 @@ namespace DCGO.CardEffects.EX10
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("By trashing 1 source, 1 digimon gains Blocker, Retaliation", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, hashtable => SharedActivateCoroutine(hashtable, activateClass), 1, false, SharedEffectDiscription("On Play"));
+                activateClass.SetUpActivateClass(CanActivateCondition, hashtable => SharedActivateCoroutine(hashtable, activateClass), 1, true, SharedEffectDiscription("On Play"));
                 activateClass.SetHashString("OPWDWA_EX10_045");
                 cardEffects.Add(activateClass);
 
@@ -308,7 +308,7 @@ namespace DCGO.CardEffects.EX10
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("By trashing 1 source, 1 digimon gains Blocker, Retaliation", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, hashtable => SharedActivateCoroutine(hashtable, activateClass), 1, false, SharedEffectDiscription("When Digivolving"));
+                activateClass.SetUpActivateClass(CanActivateCondition, hashtable => SharedActivateCoroutine(hashtable, activateClass), 1, true, SharedEffectDiscription("When Digivolving"));
                 activateClass.SetHashString("OPWDWA_EX10_045");
                 cardEffects.Add(activateClass);
 
@@ -332,7 +332,7 @@ namespace DCGO.CardEffects.EX10
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("By trashing 1 source, 1 digimon gains Blocker, Retaliation", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, hashtable => SharedActivateCoroutine(hashtable, activateClass), 1, false, SharedEffectDiscription("When Attacking"));
+                activateClass.SetUpActivateClass(CanActivateCondition, hashtable => SharedActivateCoroutine(hashtable, activateClass), 1, true, SharedEffectDiscription("When Attacking"));
                 activateClass.SetHashString("OPWDWA_EX10_045");
                 cardEffects.Add(activateClass);
 

+ 40 - 20
Assets/CardEffect/EX10/Purple/EX10_057.cs

@@ -1,6 +1,7 @@
 using System.Collections;
 using System.Collections.Generic;
 using System.Linq;
+using UnityEngine;
 
 // Piedmon
 namespace DCGO.CardEffects.EX10
@@ -10,7 +11,7 @@ namespace DCGO.CardEffects.EX10
         public override List<ICardEffect> CardEffects(EffectTiming timing, CardSource card)
         {
             List<ICardEffect> cardEffects = new List<ICardEffect>();
-            ActivateClass deleteDigimonActivateClass = null;
+            ActivateClass deleteDigimonActivateClass = new ActivateClass();
 
             #region Hand - Main
 
@@ -116,17 +117,21 @@ namespace DCGO.CardEffects.EX10
                                             root: SelectCardEffect.Root.Hand,
                                             activateETB: true));
 
+                    yield return new WaitForSeconds(0.2f);
+
                     #region Delete Digimon Played
 
-                    Permanent selectedPermanent = card.PermanentOfThisCard();
+                    Permanent playedPermanent = card.PermanentOfThisCard();
 
-                    deleteDigimonActivateClass.SetUpICardEffect("Delete this Digimon", CanUseCondition2, selectedPermanent.TopCard);
-                    deleteDigimonActivateClass.SetUpActivateClass(CanActivateCondition1, ActivateCoroutine1, -1, false, EffectDiscription1());
-                    deleteDigimonActivateClass.SetEffectSourcePermanent(selectedPermanent);
+                    ActivateClass activateClass1 = new ActivateClass();
+                    activateClass1.SetUpICardEffect("Delete the Digimon", CanUseCondition2, playedPermanent.TopCard);
+                    activateClass1.SetUpActivateClass(CanActivateCondition1, ActivateCoroutine1, -1, false, EffectDiscription1());
+                    activateClass1.SetEffectSourcePermanent(playedPermanent);
+                    playedPermanent.UntilOwnerTurnEndEffects.Add(GetCardEffect);
 
-                    if (!selectedPermanent.TopCard.CanNotBeAffected(activateClass))
+                    if (!playedPermanent.TopCard.CanNotBeAffected(activateClass))
                     {
-                        yield return ContinuousController.instance.StartCoroutine(GManager.instance.GetComponent<Effects>().CreateDebuffEffect(selectedPermanent));
+                        yield return ContinuousController.instance.StartCoroutine(GManager.instance.GetComponent<Effects>().CreateDebuffEffect(playedPermanent));
                     }
 
                     string EffectDiscription1()
@@ -136,19 +141,24 @@ namespace DCGO.CardEffects.EX10
 
                     bool CanUseCondition2(Hashtable hashtable1)
                     {
-                        return CardEffectCommons.IsPermanentExistsOnOwnerBattleArea(selectedPermanent, selectedPermanent.TopCard);
+                        if (CardEffectCommons.IsOwnerTurn(card))
+                        {
+                            if (CardEffectCommons.IsPermanentExistsOnOwnerBattleArea(playedPermanent, playedPermanent.TopCard))
+                            {
+                                return true;
+                            }
+                        }
+
+                        return false;
                     }
 
                     bool CanActivateCondition1(Hashtable hashtable1)
                     {
-                        if (CardEffectCommons.IsPermanentExistsOnBattleArea(selectedPermanent))
+                        if (CardEffectCommons.IsPermanentExistsOnBattleArea(playedPermanent))
                         {
-                            if (CardEffectCommons.IsOwnerTurn(selectedPermanent.TopCard))
+                            if (!playedPermanent.TopCard.CanNotBeAffected(activateClass))
                             {
-                                if (!selectedPermanent.TopCard.CanNotBeAffected(activateClass))
-                                {
-                                    return true;
-                                }
+                                return true;
                             }
                         }
 
@@ -157,14 +167,24 @@ namespace DCGO.CardEffects.EX10
 
                     IEnumerator ActivateCoroutine1(Hashtable _hashtable1)
                     {
-                        if (CardEffectCommons.IsPermanentExistsOnBattleArea(selectedPermanent))
+                        if (CardEffectCommons.IsPermanentExistsOnBattleArea(playedPermanent))
                         {
                             yield return ContinuousController.instance.StartCoroutine(new DestroyPermanentsClass(
-                            new List<Permanent>() { selectedPermanent },
-                            CardEffectCommons.CardEffectHashtable(deleteDigimonActivateClass)).Destroy());
+                            new List<Permanent>() { playedPermanent },
+                            CardEffectCommons.CardEffectHashtable(activateClass1)).Destroy());
                         }
                     }
 
+                    ICardEffect GetCardEffect(EffectTiming _timing)
+                    {
+                        if (_timing == EffectTiming.OnEndTurn)
+                        {
+                            return activateClass1;
+                        }
+
+                        return null;
+                    }
+
                     #endregion
                 }
             }
@@ -329,7 +349,7 @@ namespace DCGO.CardEffects.EX10
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Place this Digimon face up as bottom security, add top security to hand", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
                 cardEffects.Add(activateClass);
 
                 string EffectDiscription()
@@ -339,14 +359,14 @@ namespace DCGO.CardEffects.EX10
 
                 bool FaceUpPurple(CardSource card)
                 {
-                    return card.IsFlipped &&
+                    return !card.IsFlipped &&
                            card.CardColors.Contains(CardColor.Purple);
                 }
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
                     return CardEffectCommons.CanTriggerOnDeletion(hashtable, card) &&
-                           !CardEffectCommons.HasMatchConditionOwnersSecurity(card, FaceUpPurple);
+                           !CardEffectCommons.HasMatchConditionOwnersSecurity(card, FaceUpPurple, false);
                 }
 
                 bool CanActivateCondition(Hashtable hashtable)

+ 57 - 53
Assets/CardEffect/EX10/Purple/EX10_059.cs

@@ -89,8 +89,8 @@ namespace DCGO.CardEffects.EX10
             if (timing == EffectTiming.OnEnterFieldAnyone)
             {
                 ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("Place 1 opponent hand card uneranth a digimon or tamer, then by placing 3 [Bagra Army] digimon from trash under this, delete 1 digimon/tamer with sources", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
+                activateClass.SetUpICardEffect("Place 1 opponent hand card under a digimon or tamer, then by placing 3 [Bagra Army] digimon from trash under this, delete 1 digimon/tamer with sources", CanUseCondition, card);
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
                 cardEffects.Add(activateClass);
 
                 string EffectDiscription()
@@ -219,8 +219,7 @@ namespace DCGO.CardEffects.EX10
                         }
                     }
 
-                    if (CardEffectCommons.MatchConditionOwnersCardCountInTrash(card, IsBagraArmyDigimon) >= 3
-                        && CardEffectCommons.HasMatchConditionOpponentsPermanent(card, IsOpponentPermamentWithSources))
+                    if (CardEffectCommons.MatchConditionOwnersCardCountInTrash(card, IsBagraArmyDigimon) >= 3)
                     {
                         Permanent thisPermament = card.PermanentOfThisCard();
                         List<CardSource> selectedCards = new List<CardSource>();
@@ -265,28 +264,31 @@ namespace DCGO.CardEffects.EX10
                                 addedDigivolutionCards: selectedCards,
                                 cardEffect: activateClass));
 
-                            #region Select Enemy Permament to add source
-
-                            SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
-                            int maxCount1 = Math.Min(1, CardEffectCommons.MatchConditionOpponentsPermanentCount(card, IsOpponentPermament));
-
-                            selectPermanentEffect.SetUp(
-                                selectPlayer: card.Owner,
-                                canTargetCondition: IsOpponentPermament,
-                                canTargetCondition_ByPreSelecetedList: null,
-                                canEndSelectCondition: null,
-                                maxCount: maxCount1,
-                                canNoSelect: false,
-                                canEndNotMax: false,
-                                selectPermanentCoroutine: null,
-                                afterSelectPermanentCoroutine: null,
-                                mode: SelectPermanentEffect.Mode.Destroy,
-                                cardEffect: activateClass);
-
-                            selectPermanentEffect.SetUpCustomMessage("Select 1 Digimon or tamer with sources to destroy", "The opponent is selecting 1 Digimon or tamer with sources to destroy");
-                            yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
-
-                            #endregion
+                            if (CardEffectCommons.HasMatchConditionOpponentsPermanent(card, IsOpponentPermamentWithSources))
+                            {
+                                #region Select Enemy Permament to delete
+
+                                SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
+                                int maxCount1 = Math.Min(1, CardEffectCommons.MatchConditionOpponentsPermanentCount(card, IsOpponentPermamentWithSources));
+
+                                selectPermanentEffect.SetUp(
+                                    selectPlayer: card.Owner,
+                                    canTargetCondition: IsOpponentPermamentWithSources,
+                                    canTargetCondition_ByPreSelecetedList: null,
+                                    canEndSelectCondition: null,
+                                    maxCount: maxCount1,
+                                    canNoSelect: false,
+                                    canEndNotMax: false,
+                                    selectPermanentCoroutine: null,
+                                    afterSelectPermanentCoroutine: null,
+                                    mode: SelectPermanentEffect.Mode.Destroy,
+                                    cardEffect: activateClass);
+
+                                selectPermanentEffect.SetUpCustomMessage("Select 1 Digimon or tamer with sources to destroy", "The opponent is selecting 1 Digimon or tamer with sources to destroy");
+                                yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
+
+                                #endregion
+                            }
                         }
                     }
                 }
@@ -299,8 +301,8 @@ namespace DCGO.CardEffects.EX10
             if (timing == EffectTiming.OnEnterFieldAnyone)
             {
                 ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("Place 1 opponent hand card uneranth a digimon or tamer, then by placing 3 [Bagra Army] digimon from trash under this, delete 1 digimon/tamer with sources", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
+                activateClass.SetUpICardEffect("Place 1 opponent hand card under a digimon or tamer, then by placing 3 [Bagra Army] digimon from trash under this, delete 1 digimon/tamer with sources", CanUseCondition, card);
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
                 cardEffects.Add(activateClass);
 
                 string EffectDiscription()
@@ -429,8 +431,7 @@ namespace DCGO.CardEffects.EX10
                         }
                     }
 
-                    if (CardEffectCommons.MatchConditionOwnersCardCountInTrash(card, IsBagraArmyDigimon) >= 3
-                        && CardEffectCommons.HasMatchConditionOpponentsPermanent(card, IsOpponentPermamentWithSources))
+                    if (CardEffectCommons.MatchConditionOwnersCardCountInTrash(card, IsBagraArmyDigimon) >= 3)
                     {
                         Permanent thisPermament = card.PermanentOfThisCard();
                         List<CardSource> selectedCards = new List<CardSource>();
@@ -475,29 +476,32 @@ namespace DCGO.CardEffects.EX10
                                 addedDigivolutionCards: selectedCards,
                                 cardEffect: activateClass));
 
-                            #region Select Enemy Permament to add source
-
-                            SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
-                            int maxCount1 = Math.Min(1, CardEffectCommons.MatchConditionOpponentsPermanentCount(card, IsOpponentPermament));
-
-                            selectPermanentEffect.SetUp(
-                                selectPlayer: card.Owner,
-                                canTargetCondition: IsOpponentPermament,
-                                canTargetCondition_ByPreSelecetedList: null,
-                                canEndSelectCondition: null,
-                                maxCount: maxCount1,
-                                canNoSelect: false,
-                                canEndNotMax: false,
-                                selectPermanentCoroutine: null,
-                                afterSelectPermanentCoroutine: null,
-                                mode: SelectPermanentEffect.Mode.Destroy,
-                                cardEffect: activateClass);
-
-                            selectPermanentEffect.SetUpCustomMessage("Select 1 Digimon or tamer with sources to destroy", "The opponent is selecting 1 Digimon or tamer with sources to destroy");
-                            yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
-
-                            #endregion
-                        }
+                            if (CardEffectCommons.HasMatchConditionOpponentsPermanent(card, IsOpponentPermamentWithSources))
+                            {
+                                #region Select Enemy Permament to delete
+
+                                SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
+                                int maxCount1 = Math.Min(1, CardEffectCommons.MatchConditionOpponentsPermanentCount(card, IsOpponentPermamentWithSources));
+
+                                selectPermanentEffect.SetUp(
+                                    selectPlayer: card.Owner,
+                                    canTargetCondition: IsOpponentPermamentWithSources,
+                                    canTargetCondition_ByPreSelecetedList: null,
+                                    canEndSelectCondition: null,
+                                    maxCount: maxCount1,
+                                    canNoSelect: false,
+                                    canEndNotMax: false,
+                                    selectPermanentCoroutine: null,
+                                    afterSelectPermanentCoroutine: null,
+                                    mode: SelectPermanentEffect.Mode.Destroy,
+                                    cardEffect: activateClass);
+
+                                selectPermanentEffect.SetUpCustomMessage("Select 1 Digimon or tamer with sources to destroy", "The opponent is selecting 1 Digimon or tamer with sources to destroy");
+                                yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
+
+                                #endregion
+                            }
+                        }                        
                     }
                 }
             }

+ 4 - 3
Assets/CardEffect/EX10/Purple/EX10_067.cs

@@ -31,7 +31,7 @@ namespace DCGO.CardEffects.EX10
 
                 string EffectDiscription()
                 {
-                    return "[Your Turn] When any of your Digimon digivolve into a Digimon with <Save> in its text, by suspending this Tamer and placing 1 Digimon card with <Save> in its text from under your Tamers as that Digimon's bottom digivolution card, that Digimon gains <Alliance> for the turn. ";
+                    return "[Your Turn] When any of your Digimon digivolve into a Digimon with <Save> in its text, by suspending this Tamer and placing 1 Digimon card with <Save> in its text from under your Tamers as that Digimon's bottom digivolution card, that Digimon gains <Alliance> for the turn.";
                 }
 
                 bool HasSaveText(CardSource source)
@@ -96,7 +96,7 @@ namespace DCGO.CardEffects.EX10
                         canTargetCondition_ByPreSelecetedList: null,
                         canEndSelectCondition: null,
                         maxCount: 1,
-                        canNoSelect: true,
+                        canNoSelect: false,
                         canEndNotMax: false,
                         selectPermanentCoroutine: SelectPermanentCoroutine,
                         afterSelectPermanentCoroutine: null,
@@ -123,7 +123,7 @@ namespace DCGO.CardEffects.EX10
                             canTargetCondition: HasSaveText,
                             canTargetCondition_ByPreSelecetedList: null,
                             canEndSelectCondition: null,
-                            canNoSelect: () => true,
+                            canNoSelect: () => false,
                             selectCardCoroutine: SelectCardCoroutine,
                             afterSelectCardCoroutine: null,
                             message: "Select 1 card to place on bottom of digivolution cards.",
@@ -155,6 +155,7 @@ namespace DCGO.CardEffects.EX10
                                 hashtable: hashtable,
                                 rootCondition: null);
                             yield return ContinuousController.instance.StartCoroutine(permanents[0].AddDigivolutionCardsBottom(selectedSource, activateClass));
+                            yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.GainAlliance(targetPermanent: permanents[0], effectDuration: EffectDuration.UntilEachTurnEnd, activateClass: activateClass));
                         }
                     }
                 }

+ 1 - 9
Assets/CardEffect/EX10/Red/EX10_006.cs

@@ -88,15 +88,7 @@ namespace DCGO.CardEffects.EX10
             {
                 bool Condition()
                 {
-                    if (CardEffectCommons.IsExistOnBattleArea(card))
-                    {
-                        if (CardEffectCommons.IsOwnerTurn(card))
-                        {
-                            return true;
-                        }
-                    }
-
-                    return false;
+                    return CardEffectCommons.IsExistOnBattleArea(card);
                 }
 
                 cardEffects.Add(CardEffectFactory.ChangeSelfDPStaticEffect(changeValue: 1000, isInheritedEffect: true, card: card, condition: Condition));

+ 3 - 3
Assets/CardEffect/EX10/Red/EX10_008.cs

@@ -80,7 +80,7 @@ namespace DCGO.CardEffects.EX10
                     {
                         yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.GainCollision(
                             targetPermanent: selectedPermanment,
-                            effectDuration: EffectDuration.UntilOpponentTurnEnd,
+                            effectDuration: EffectDuration.UntilOwnerTurnEnd,
                             activateClass: activateClass));
 
                         yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.StartOfMainAttack(
@@ -98,7 +98,7 @@ namespace DCGO.CardEffects.EX10
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Give 1 opponent digimon <Collision> and [Start of Your Main Phase] This Digimon attacks", CanUseCondition, card);
 
-                activateClass.SetUpActivateClass(CanActivateCondition, hashtable => SharedActivateCoroutine(hashtable, activateClass), -1, true, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, hashtable => SharedActivateCoroutine(hashtable, activateClass), -1, false, EffectDiscription());
 
                 cardEffects.Add(activateClass);
 
@@ -128,7 +128,7 @@ namespace DCGO.CardEffects.EX10
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Give 1 opponent digimon <Collision> and [Start of Your Main Phase] This Digimon attacks", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, hashtable => SharedActivateCoroutine(hashtable, activateClass), -1, true, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, hashtable => SharedActivateCoroutine(hashtable, activateClass), -1, false, EffectDiscription());
                 cardEffects.Add(activateClass);
 
                 string EffectDiscription()

+ 32 - 36
Assets/CardEffect/EX10/White/EX10_061.cs

@@ -2,6 +2,7 @@
 using System.Collections.Generic;
 using System.Linq;
 using System;
+using System.Diagnostics;
 
 namespace DCGO.CardEffects.EX10
 {
@@ -35,7 +36,7 @@ namespace DCGO.CardEffects.EX10
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Placing 1 [Dark Masters] to get Play Cost -4", CanUseCondition, card);
                 activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
-                activateClass.SetHashString("PlayCost-12_BT15_102");
+                activateClass.SetHashString("PlayCost-_EX10-061");
                 cardEffects.Add(activateClass);
 
                 string EffectDiscription()
@@ -46,7 +47,7 @@ namespace DCGO.CardEffects.EX10
                 bool CanSelectCardCondition(CardSource cardSource)
                 {
                     return cardSource.IsDigimon &&
-                           cardSource.IsFlipped &&
+                           !cardSource.IsFlipped &&
                            cardSource.HasDarkMastersTrait;
                 }
 
@@ -90,12 +91,14 @@ namespace DCGO.CardEffects.EX10
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
+                    UnityEngine.Debug.Log($"CAN USE: {CardEffectCommons.CanTriggerWhenPermanentWouldPlay(hashtable, CardCondition)}");
                     return CardEffectCommons.CanTriggerWhenPermanentWouldPlay(hashtable, CardCondition);
                 }
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.HasMatchConditionOwnersSecurity(card, CanSelectCardCondition);
+                    UnityEngine.Debug.Log($"CAN ACTIVATE: {CardEffectCommons.HasMatchConditionOwnersSecurity(card, CanSelectCardCondition, false)}");
+                    return CardEffectCommons.HasMatchConditionOwnersSecurity(card, CanSelectCardCondition, false);
                 }
 
                 IEnumerator ActivateCoroutine(Hashtable _hashtable)
@@ -115,7 +118,8 @@ namespace DCGO.CardEffects.EX10
                         return false;
                     }
 
-                    if (CardEffectCommons.HasMatchConditionOwnersSecurity(card, CanSelectSecurityCardCondition))
+                    UnityEngine.Debug.Log($"ACTIVATING: {CardEffectCommons.HasMatchConditionOwnersSecurity(card, CanSelectSecurityCardCondition, false)}");
+                    if (CardEffectCommons.HasMatchConditionOwnersSecurity(card, CanSelectSecurityCardCondition, false))
                     {
                         bool noSelect = CanNoSelect(CardEffectCommons.GetCardFromHashtable(_hashtable));
                         List<CardSource> selectedCards = new List<CardSource>();
@@ -140,14 +144,12 @@ namespace DCGO.CardEffects.EX10
                                 mode: SelectCardEffect.Mode.Custom,
                                 root: SelectCardEffect.Root.Security,
                                 customRootCardList: null,
-                                canLookReverseCard: true,
+                                canLookReverseCard: false,
                                 selectPlayer: card.Owner,
                                 cardEffect: activateClass);
 
                             yield return ContinuousController.instance.StartCoroutine(selectCardEffect.Activate());
 
-                            selectCardEffect.SetUseFaceDown();
-
                             bool CanTargetCondition_ByPreSelecetedList(List<CardSource> cardSources, CardSource cardSource)
                             {
                                 List<string> cardNames = new List<string>();
@@ -306,23 +308,17 @@ namespace DCGO.CardEffects.EX10
                 bool CanSelectCardCondition(CardSource cardSource)
                 {
                     return cardSource.IsDigimon &&
-                           cardSource.IsFlipped &&
+                           !cardSource.IsFlipped &&
                            cardSource.EqualsTraits("Dark Masters");
                 }
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    if (card.Owner.HandCards.Contains(card))
+                    ICardEffect activateClass = card.EffectList(EffectTiming.BeforePayCost).Find(cardEffect => cardEffect.EffectName == "Placing 1 [Dark Masters] to get Play Cost -4");
+                    
+                    if (activateClass != null)
                     {
-                        ICardEffect activateClass = card.EffectList(EffectTiming.BeforePayCost).Find(cardEffect => cardEffect.EffectName == "Placing 1 [Dark Masters] to get Play Cost -4");
-
-                        if (activateClass != null)
-                        {
-                            if (CardEffectCommons.HasMatchConditionOwnersCardInTrash(card, CanSelectCardCondition))
-                            {
-                                return true;
-                            }
-                        }
+                        return CardEffectCommons.HasMatchConditionOwnersSecurity(card, CanSelectCardCondition, false);
                     }
 
                     return false;
@@ -523,14 +519,14 @@ namespace DCGO.CardEffects.EX10
                             Permanent playedPermanent = source.PermanentOfThisCard();
 
                             ActivateClass activateClass1 = new ActivateClass();
-                            activateClass1.SetUpICardEffect("Delete the Digimon", CanUseCondition2, selectedPermanent.TopCard);
+                            activateClass1.SetUpICardEffect("Delete the Digimon", CanUseCondition2, playedPermanent.TopCard);
                             activateClass1.SetUpActivateClass(CanActivateCondition1, ActivateCoroutine1, -1, false, EffectDiscription1());
                             activateClass1.SetEffectSourcePermanent(selectedPermanent);
-                            selectedPermanent.UntilOwnerTurnEndEffects.Add(GetCardEffect);
+                            playedPermanent.UntilOwnerTurnEndEffects.Add(GetCardEffect);
 
-                            if (!selectedPermanent.TopCard.CanNotBeAffected(activateClass))
+                            if (!playedPermanent.TopCard.CanNotBeAffected(activateClass))
                             {
-                                yield return ContinuousController.instance.StartCoroutine(GManager.instance.GetComponent<Effects>().CreateDebuffEffect(selectedPermanent));
+                                yield return ContinuousController.instance.StartCoroutine(GManager.instance.GetComponent<Effects>().CreateDebuffEffect(playedPermanent));
                             }
 
                             string EffectDiscription1()
@@ -542,7 +538,7 @@ namespace DCGO.CardEffects.EX10
                             {
                                 if (CardEffectCommons.IsOwnerTurn(card))
                                 {
-                                    if (CardEffectCommons.IsPermanentExistsOnOwnerBattleArea(selectedPermanent, selectedPermanent.TopCard))
+                                    if (CardEffectCommons.IsPermanentExistsOnOwnerBattleArea(playedPermanent, playedPermanent.TopCard))
                                     {
                                         return true;
                                     }
@@ -553,9 +549,9 @@ namespace DCGO.CardEffects.EX10
 
                             bool CanActivateCondition1(Hashtable hashtable1)
                             {
-                                if (CardEffectCommons.IsPermanentExistsOnBattleArea(selectedPermanent))
+                                if (CardEffectCommons.IsPermanentExistsOnBattleArea(playedPermanent))
                                 {
-                                    if (!selectedPermanent.TopCard.CanNotBeAffected(activateClass))
+                                    if (!playedPermanent.TopCard.CanNotBeAffected(activateClass))
                                     {
                                         return true;
                                     }
@@ -566,10 +562,10 @@ namespace DCGO.CardEffects.EX10
 
                             IEnumerator ActivateCoroutine1(Hashtable _hashtable1)
                             {
-                                if (CardEffectCommons.IsPermanentExistsOnBattleArea(selectedPermanent))
+                                if (CardEffectCommons.IsPermanentExistsOnBattleArea(playedPermanent))
                                 {
                                     yield return ContinuousController.instance.StartCoroutine(new DestroyPermanentsClass(
-                                    new List<Permanent>() { selectedPermanent },
+                                    new List<Permanent>() { playedPermanent },
                                     CardEffectCommons.CardEffectHashtable(activateClass1)).Destroy());
                                 }
                             }
@@ -723,14 +719,14 @@ namespace DCGO.CardEffects.EX10
                             Permanent playedPermanent = source.PermanentOfThisCard();
 
                             ActivateClass activateClass1 = new ActivateClass();
-                            activateClass1.SetUpICardEffect("Delete the Digimon", CanUseCondition2, selectedPermanent.TopCard);
+                            activateClass1.SetUpICardEffect("Delete the Digimon", CanUseCondition2, playedPermanent.TopCard);
                             activateClass1.SetUpActivateClass(CanActivateCondition1, ActivateCoroutine1, -1, false, EffectDiscription1());
                             activateClass1.SetEffectSourcePermanent(selectedPermanent);
-                            selectedPermanent.UntilOwnerTurnEndEffects.Add(GetCardEffect);
+                            playedPermanent.UntilOwnerTurnEndEffects.Add(GetCardEffect);
 
-                            if (!selectedPermanent.TopCard.CanNotBeAffected(activateClass))
+                            if (!playedPermanent.TopCard.CanNotBeAffected(activateClass))
                             {
-                                yield return ContinuousController.instance.StartCoroutine(GManager.instance.GetComponent<Effects>().CreateDebuffEffect(selectedPermanent));
+                                yield return ContinuousController.instance.StartCoroutine(GManager.instance.GetComponent<Effects>().CreateDebuffEffect(playedPermanent));
                             }
 
                             string EffectDiscription1()
@@ -742,7 +738,7 @@ namespace DCGO.CardEffects.EX10
                             {
                                 if (CardEffectCommons.IsOwnerTurn(card))
                                 {
-                                    if (CardEffectCommons.IsPermanentExistsOnOwnerBattleArea(selectedPermanent, selectedPermanent.TopCard))
+                                    if (CardEffectCommons.IsPermanentExistsOnOwnerBattleArea(playedPermanent, playedPermanent.TopCard))
                                     {
                                         return true;
                                     }
@@ -753,9 +749,9 @@ namespace DCGO.CardEffects.EX10
 
                             bool CanActivateCondition1(Hashtable hashtable1)
                             {
-                                if (CardEffectCommons.IsPermanentExistsOnBattleArea(selectedPermanent))
+                                if (CardEffectCommons.IsPermanentExistsOnBattleArea(playedPermanent))
                                 {
-                                    if (!selectedPermanent.TopCard.CanNotBeAffected(activateClass))
+                                    if (!playedPermanent.TopCard.CanNotBeAffected(activateClass))
                                     {
                                         return true;
                                     }
@@ -766,10 +762,10 @@ namespace DCGO.CardEffects.EX10
 
                             IEnumerator ActivateCoroutine1(Hashtable _hashtable1)
                             {
-                                if (CardEffectCommons.IsPermanentExistsOnBattleArea(selectedPermanent))
+                                if (CardEffectCommons.IsPermanentExistsOnBattleArea(playedPermanent))
                                 {
                                     yield return ContinuousController.instance.StartCoroutine(new DestroyPermanentsClass(
-                                    new List<Permanent>() { selectedPermanent },
+                                    new List<Permanent>() { playedPermanent },
                                     CardEffectCommons.CardEffectHashtable(activateClass1)).Destroy());
                                 }
                             }

+ 11 - 7
Assets/CardEffect/EX10/White/EX10_068.cs

@@ -1,6 +1,7 @@
 using System.Collections;
 using System.Collections.Generic;
 using System.Linq;
+using UnityEngine;
 
 namespace DCGO.CardEffects.EX10
 {
@@ -67,12 +68,12 @@ namespace DCGO.CardEffects.EX10
                 bool CanGetCardColour(Permanent permanent)
                 {
                     return CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card)
-                        && CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaTamer(permanent, card);
+                        || CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaTamer(permanent, card);
                 }
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 {
-                    int memoryGain = CardEffectCommons.GetUniqueColourCountOnOpponentsBattleArea(card, CanGetCardColour) / 2;
+                    int memoryGain = Mathf.RoundToInt(CardEffectCommons.GetUniqueColourCountOnOpponentsBattleArea(card, CanGetCardColour) / 2);
 
                     if (memoryGain > 0)
                         yield return ContinuousController.instance.StartCoroutine(card.Owner.AddMemory(memoryGain, activateClass));
@@ -183,14 +184,17 @@ namespace DCGO.CardEffects.EX10
                             {
                                 if (cardSource.IsDigimon)
                                 {
-                                    if (CardEffectCommons.CanPlayAsNewPermanent(cardSource: cardSource, payCost: false, cardEffect: activateClass))
+                                    if(cardSource.HasLevel && cardSource.Level <= 4)
                                     {
-                                        foreach (CardSource item in selectedCards)
+                                        if (CardEffectCommons.CanPlayAsNewPermanent(cardSource: cardSource, payCost: false, cardEffect: activateClass))
                                         {
-                                            if (cardSource.CardColors.Any(x => item.CardColors.Contains(x)))
-                                                return true;
+                                            foreach (CardSource item in selectedCards)
+                                            {
+                                                if (cardSource.CardColors.Any(x => item.CardColors.Contains(x)))
+                                                        return true;
+                                            }
                                         }
-                                    }
+                                    }                                    
                                 }
 
                                 return false;

+ 16 - 44
Assets/CardEffect/EX10/White/EX10_072.cs

@@ -368,30 +368,28 @@ namespace DCGO.CardEffects.EX10
                             Permanent selectedPermanent = selectedCards[0].PermanentOfThisCard();
 
                             ActivateClass activateClass1 = new ActivateClass();
-                            activateClass1.SetUpICardEffect("Delete this Digimon", CanUseCondition1, selectedPermanent.TopCard);
-                            activateClass1.SetUpActivateClass(CanActivateCondition1, ActivateCoroutine1, -1, false, EffectDiscription1());
+                            activateClass1.SetUpICardEffect("Delete this Digimon", CanUseCondition2, card);
+                            activateClass1.SetUpActivateClass(CanActivateCondition1, ActivateCoroutine1, -1, false, "");
                             activateClass1.SetEffectSourcePermanent(selectedPermanent);
-                            selectedPermanent.UntilOwnerTurnEndEffects.Add(GetCardEffect);
+                            CardEffectCommons.AddEffectToPlayer(effectDuration: EffectDuration.UntilEachTurnEnd, card: card, cardEffect: activateClass1, timing: EffectTiming.OnEndTurn);
 
-                            if (!selectedPermanent.TopCard.CanNotBeAffected(activateClass))
+                            bool CanUseCondition2(Hashtable hashtable)
                             {
-                                yield return ContinuousController.instance.StartCoroutine(GManager.instance.GetComponent<Effects>().CreateDebuffEffect(selectedPermanent));
-                            }
-
-                            string EffectDiscription1()
-                            {
-                                return "[End of Your Turn] Delete this Digimon.";
+                                return true;
                             }
 
-                            bool CanUseCondition1(Hashtable hashtable1)
+                            bool CanActivateCondition1(Hashtable hashtable)
                             {
-                                if (CardEffectCommons.IsOpponentTurn(card))
+                                if (selectedPermanent.TopCard != null)
                                 {
-                                    if (CardEffectCommons.IsPermanentExistsOnOwnerBattleArea(selectedPermanent, selectedPermanent.TopCard))
+                                    if (selectedPermanent.TopCard.IsDigimon)
                                     {
-                                        if (CardEffectCommons.CanTriggerOnEndAttack(hashtable1, selectedPermanent.TopCard))
+                                        if (selectedPermanent.CanBeDestroyedBySkill(activateClass1))
                                         {
-                                            return true;
+                                            if (!selectedPermanent.TopCard.CanNotBeAffected(activateClass1))
+                                            {
+                                                return true;
+                                            }
                                         }
                                     }
                                 }
@@ -399,41 +397,15 @@ namespace DCGO.CardEffects.EX10
                                 return false;
                             }
 
-                            bool CanActivateCondition1(Hashtable hashtable1)
-                            {
-                                if (CardEffectCommons.IsPermanentExistsOnBattleArea(selectedPermanent))
-                                {
-                                    if (!selectedPermanent.TopCard.CanNotBeAffected(activateClass))
-                                    {
-                                        return true;
-                                    }
-                                }
-
-                                return false;
-                            }
-
                             IEnumerator ActivateCoroutine1(Hashtable _hashtable1)
                             {
-                                if (CardEffectCommons.IsPermanentExistsOnBattleArea(selectedPermanent))
-                                {
-                                    yield return ContinuousController.instance.StartCoroutine(new DestroyPermanentsClass(
-                                    new List<Permanent>() { selectedPermanent },
-                                    CardEffectCommons.CardEffectHashtable(activateClass1)).Destroy());
-                                }
-                            }
-
-                            ICardEffect GetCardEffect(EffectTiming _timing)
-                            {
-                                if (_timing == EffectTiming.OnEndTurn)
-                                {
-                                    return activateClass1;
-                                }
-
-                                return null;
+                                yield return ContinuousController.instance.StartCoroutine(new DestroyPermanentsClass(new List<Permanent>() { selectedPermanent }, CardEffectCommons.CardEffectHashtable(activateClass1)).Destroy());
                             }
                             #endregion
                         }
                     }
+
+                    yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.AddThisCardToHand(card, activateClass));
                 }
             }
             #endregion

+ 3 - 3
Assets/Scripts/FilterCardList.cs

@@ -385,7 +385,7 @@ public class FilterCardList : MonoBehaviour
             {
                 if (!string.IsNullOrEmpty(text))
                 {
-                    #region カード名
+                    #region card name
                     if (!string.IsNullOrEmpty(cEntity_Base.CardName_JPN))
                     {
                         if (Convert(cEntity_Base.CardName_JPN).Contains(Convert(text)))
@@ -404,7 +404,7 @@ public class FilterCardList : MonoBehaviour
 
                     #endregion
 
-                    #region カード画像名
+                    #region card image name
                     if (cEntity_Base.CardSprite != null)
                     {
                         if (!string.IsNullOrEmpty(cEntity_Base.CardSprite.name))
@@ -417,7 +417,7 @@ public class FilterCardList : MonoBehaviour
                     }
                     #endregion
 
-                    #region カードテキスト
+                    #region card text
                     if (!string.IsNullOrEmpty(cEntity_Base.EffectDiscription_JPN))
                     {
                         if (Convert(cEntity_Base.EffectDiscription_JPN).Contains(Convert(text)))

+ 1 - 1
Assets/Scripts/GManager.cs

@@ -527,7 +527,7 @@ public class GManager : MonoBehaviourPun
         //Place Top Security
         if (Input.GetKey(KeyCode.LeftControl) && Input.GetKeyDown(KeyCode.R))
         {
-            bool keyInput = Input.GetKeyDown(KeyCode.LeftShift);
+            bool keyInput = Input.GetKey(KeyCode.LeftShift);
             photonView.RPC("PlaceInSecurityRPC", RpcTarget.Others, keyInput);
             StartCoroutine(PlaceInSecurity(You, keyInput));
         }