mbunch_kascope 2 лет назад
Родитель
Сommit
97d07feb63

+ 102 - 13
Assets/CardEffect/BT16/Green/Pistmon_BT16_044.cs

@@ -18,45 +18,135 @@ namespace DCGO.CardEffects.BT16
             #region Digivolve Condition
             if (timing == EffectTiming.None)
             {
-                bool PermanentCondition(Permanent targetPermanent)
+                bool HasPulsmonInText(Permanent targetPermanent)
                 {
                     return targetPermanent.TopCard.HasText("Pulsemon") && targetPermanent.TopCard.HasLevel && targetPermanent.TopCard.Level == 4;
                 }
 
-                cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(permanentCondition: PermanentCondition, digivolutionCost: 3, ignoreDigivolutionRequirement: false, card: card, condition: null));
+                cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(permanentCondition: HasPulsmonInText, digivolutionCost: 3, ignoreDigivolutionRequirement: false, card: card, condition: null));
             }
             #endregion
 
-            #region On Play/When Digivolving
+            #region On Play/When Digivolving Shared
+            bool PermanentCondition(Permanent permanent)
+            {
+                if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
+                    return CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card);
+
+                return false;
+            }
+            #endregion
+
+            #region On Play
             if (timing == EffectTiming.OnEnterFieldAnyone)
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Suspend and/or gain memory", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
                 cardEffects.Add(activateClass);
 
                 string EffectDiscription()
                 {
-                    return "[On Play] [When Digivolving] If you have 3 or more security cards, suspend 1 of your opponent's Digimon. If you have 3 or fewer security cards, gain 1 memory.";
+                    return "[On Play] If you have 3 or more security cards, suspend 1 of your opponent's Digimon. If you have 3 or fewer security cards, gain 1 memory.";
                 }
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.CanTriggerWhenDigivolving(hashtable, card) || CardEffectCommons.CanTriggerOnPlay(hashtable, card);
+                    return CardEffectCommons.CanTriggerOnPlay(hashtable, card);
                 }
 
-                bool PermanentCondition(Permanent permanent)
+                bool CanActivateCondition(Hashtable hashtable)
                 {
-                    if (CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card))
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                     {
-                        return true;
+                        if (card.Owner.SecurityCards.Count >= 3)
+                        {
+                            if (CardEffectCommons.HasMatchConditionOpponentsPermanent(card, PermanentCondition))
+                            {
+                                return true;
+                            }
+                        }
+
+                        if (card.Owner.SecurityCards.Count <= 3)
+                        {
+                            return true;
+                        }
                     }
+
                     return false;
                 }
 
+                IEnumerator ActivateCoroutine(Hashtable hashtable)
+                {
+                    if (card.Owner.SecurityCards.Count >= 3)
+                    {
+                        int maxCount = Math.Min(1, CardEffectCommons.MatchConditionPermanentCount(PermanentCondition));
+
+                        SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
+
+                        selectPermanentEffect.SetUp(
+                            selectPlayer: card.Owner,
+                            canTargetCondition: PermanentCondition,
+                            canTargetCondition_ByPreSelecetedList: null,
+                            canEndSelectCondition: null,
+                            maxCount: maxCount,
+                            canNoSelect: false,
+                            canEndNotMax: false,
+                            selectPermanentCoroutine: null,
+                            afterSelectPermanentCoroutine: AfterSelectPermanentCoroutine,
+                            mode: SelectPermanentEffect.Mode.Tap,
+                            cardEffect: activateClass);
+
+                        selectPermanentEffect.SetUpCustomMessage("Select 1 Digimon to suspend and give effects.", "The opponent is selecting 1 Digimon to suspend and give effects.");
+
+                        yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
+
+                        IEnumerator AfterSelectPermanentCoroutine(List<Permanent> permanents)
+                        {
+                            foreach (Permanent selectedPermanent in permanents)
+                            {
+                                if (CardEffectCommons.HasMatchConditionPermanent(PermanentCondition))
+                                {
+                                    yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.GainCantUnsuspendNextActivePhase(
+                                            targetPermanent: selectedPermanent,
+                                            activateClass: activateClass
+                                        ));
+                                }
+                            }
+                            yield return null;
+                        }
+
+                    }
+                    if (card.Owner.SecurityCards.Count <= 3)
+                    {
+                        yield return ContinuousController.instance.StartCoroutine(card.Owner.AddMemory(2, activateClass));
+                    }
+
+                }
+            }
+            #endregion
+
+            #region When Digivolving
+            if (timing == EffectTiming.OnEnterFieldAnyone)
+            {
+                ActivateClass activateClass = new ActivateClass();
+                activateClass.SetUpICardEffect("Suspend and/or gain memory", CanUseCondition, card);
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
+                cardEffects.Add(activateClass);
+
+                string EffectDiscription()
+                {
+                    return "[When Digivolving] If you have 3 or more security cards, suspend 1 of your opponent's Digimon. If you have 3 or fewer security cards, gain 1 memory.";
+                }
+
+                bool CanUseCondition(Hashtable hashtable)
+                {
+                    return CardEffectCommons.CanTriggerWhenDigivolving(hashtable, card);
+                }
+
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    if (CardEffectCommons.IsExistOnBattleArea(card))
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                     {
                         if (card.Owner.SecurityCards.Count >= 3)
                         {
@@ -75,7 +165,6 @@ namespace DCGO.CardEffects.BT16
                     return false;
                 }
 
-
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 {
                     if (card.Owner.SecurityCards.Count >= 3)
@@ -165,7 +254,7 @@ namespace DCGO.CardEffects.BT16
                     return false;
                 }
 
-                bool PermanentCondition(Permanent permanent)
+                bool PermanentHasPulsemonInText(Permanent permanent)
                 {
                     if (permanent == card.PermanentOfThisCard())
                     {
@@ -188,7 +277,7 @@ namespace DCGO.CardEffects.BT16
                     cardEffect: activateClass,
                     fromTop: true).DestroySecurity());
 
-                    if (CardEffectCommons.HasMatchConditionPermanent(PermanentCondition))
+                    if (CardEffectCommons.HasMatchConditionPermanent(PermanentHasPulsemonInText))
                     {
                         Permanent selectedPermanent = card.PermanentOfThisCard();
 

+ 9 - 1
Assets/CardEffect/BT17/Black/Keramon_BT17_053.cs

@@ -95,7 +95,15 @@ namespace DCGO.CardEffects.BT17
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.CanTriggerOnDeletion(hashtable, card);
+                    if (CardEffectCommons.CanActivateOnDeletion(card))
+                    {
+                        if (card.PermanentJustBeforeRemoveField.CardTraitsJustBeforeRemoveField.Contains("Unidentified"))
+                        {
+                            return true;
+                        }
+                    }
+
+                    return false;
                 }
 
                 bool CanActivateCondition(Hashtable hashtable)

+ 1 - 0
Assets/CardEffect/BT17/Black/Locomon_BT17_056.cs

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

+ 2 - 2
Assets/CardEffect/BT17/Green/Argomon_BT17_048.cs

@@ -169,7 +169,7 @@ namespace DCGO.CardEffects.BT17
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Unsuspend this Digimon", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, false, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, true, EffectDiscription());
                 activateClass.SetIsInheritedEffect(true);
                 activateClass.SetHashString("Unsuspend_BT17_048");
                 cardEffects.Add(activateClass);
@@ -228,7 +228,7 @@ namespace DCGO.CardEffects.BT17
                         canTargetCondition_ByPreSelecetedList: null,
                         canEndSelectCondition: null,
                         maxCount: maxCount,
-                        canNoSelect: true,
+                        canNoSelect: false,
                         canEndNotMax: false,
                         selectPermanentCoroutine: null,
                         afterSelectPermanentCoroutine: SelectPermanentCoroutine,

+ 106 - 100
Assets/CardEffect/BT17/White/Eosmon_BT17_075.cs

@@ -101,6 +101,8 @@ namespace DCGO.CardEffects.BT17
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 {
+                    bool hasSelectedTamerOpponent = false;
+
                     #region Opponent has tamer to play
 
                     if (card.Owner.Enemy.HandCards.Count(CanSelectTamerOpponentCondition) > 0)
@@ -108,7 +110,7 @@ namespace DCGO.CardEffects.BT17
                         List<CardSource> selectedCardsOpponent = new List<CardSource>();
 
                         int maxCount = Math.Min(1, card.Owner.Enemy.HandCards.Count(CanSelectTamerOpponentCondition));
-                        bool hasSelectedTamerOpponent = false;
+                        
 
                         SelectHandEffect selectHandEffectOpponent = GManager.instance.GetComponent<SelectHandEffect>();
 
@@ -154,58 +156,59 @@ namespace DCGO.CardEffects.BT17
                                     root: SelectCardEffect.Root.Hand,
                                     activateETB: true));
                         }
+                    }
+                    #endregion
 
-                        else
+                    #region I play tamer
+                    if(!hasSelectedTamerOpponent)
+                    {
+                        if (card.Owner.HandCards.Count > 0)
                         {
-                            if (card.Owner.HandCards.Count > 0)
+                            List<CardSource> selectedCards = new List<CardSource>();
+                            bool hasSelectedWhiteTamer = false;
+
+                            int maxCount = Math.Min(1, card.Owner.HandCards.Count(CanSelectWhiteTamerCondition));
+
+                            SelectHandEffect selectHandEffect = GManager.instance.GetComponent<SelectHandEffect>();
+
+                            selectHandEffect.SetUp(
+                                selectPlayer: card.Owner,
+                                canTargetCondition: CanSelectWhiteTamerCondition,
+                                canTargetCondition_ByPreSelecetedList: null,
+                                canEndSelectCondition: null,
+                                maxCount: maxCount,
+                                canNoSelect: true,
+                                canEndNotMax: false,
+                                isShowOpponent: true,
+                                selectCardCoroutine: SelectCardCoroutine,
+                                afterSelectCardCoroutine: null,
+                                mode: SelectHandEffect.Mode.Custom,
+                                cardEffect: activateClass);
+
+                            selectHandEffect.SetUpCustomMessage("Select 1 card to play.",
+                                "The opponent is selecting 1 card to play.");
+                            selectHandEffect.SetUpCustomMessage_ShowCard("Played Card");
+
+                            yield return ContinuousController.instance.StartCoroutine(selectHandEffect.Activate());
+
+                            IEnumerator SelectCardCoroutine(CardSource cardSource)
                             {
-                                List<CardSource> selectedCards = new List<CardSource>();
-                                bool hasSelectedWhiteTamer = false;
-
-                                maxCount = Math.Min(1, card.Owner.HandCards.Count(CanSelectWhiteTamerCondition));
-
-                                SelectHandEffect selectHandEffect = GManager.instance.GetComponent<SelectHandEffect>();
-
-                                selectHandEffectOpponent.SetUp(
-                                    selectPlayer: card.Owner,
-                                    canTargetCondition: CanSelectWhiteTamerCondition,
-                                    canTargetCondition_ByPreSelecetedList: null,
-                                    canEndSelectCondition: null,
-                                    maxCount: maxCount,
-                                    canNoSelect: true,
-                                    canEndNotMax: false,
-                                    isShowOpponent: true,
-                                    selectCardCoroutine: SelectCardCoroutine,
-                                    afterSelectCardCoroutine: null,
-                                    mode: SelectHandEffect.Mode.Custom,
-                                    cardEffect: activateClass);
-
-                                selectHandEffect.SetUpCustomMessage("Select 1 card to play.",
-                                    "The opponent is selecting 1 card to play.");
-                                selectHandEffect.SetUpCustomMessage_ShowCard("Played Card");
-
-                                yield return ContinuousController.instance.StartCoroutine(selectHandEffect.Activate());
-
-                                IEnumerator SelectCardCoroutine(CardSource cardSource)
-                                {
-                                    selectedCards.Add(cardSource);
-                                    hasSelectedWhiteTamer = true;
-
-                                    yield return null;
-                                }
-
-                                if (hasSelectedWhiteTamer)
-                                {
-                                    yield return ContinuousController.instance.StartCoroutine(
-                                        CardEffectCommons.PlayPermanentCards(
-                                            cardSources: selectedCardsOpponent,
-                                            activateClass: activateClass,
-                                            payCost: false,
-                                            isTapped: false,
-                                            root: SelectCardEffect.Root.Hand,
-                                            activateETB: true));
-                                }
+                                selectedCards.Add(cardSource);
+                                hasSelectedWhiteTamer = true;
 
+                                yield return null;
+                            }
+
+                            if (hasSelectedWhiteTamer)
+                            {
+                                yield return ContinuousController.instance.StartCoroutine(
+                                    CardEffectCommons.PlayPermanentCards(
+                                        cardSources: selectedCards,
+                                        activateClass: activateClass,
+                                        payCost: false,
+                                        isTapped: false,
+                                        root: SelectCardEffect.Root.Hand,
+                                        activateETB: true));
                             }
                         }
                     }
@@ -221,7 +224,7 @@ namespace DCGO.CardEffects.BT17
                         SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
 
                         selectPermanentEffect.SetUp(
-                            selectPlayer: card.Owner.Enemy,
+                            selectPlayer: card.Owner,
                             canTargetCondition: CanSelectPermanentDigimonCondition,
                             canTargetCondition_ByPreSelecetedList: null,
                             canEndSelectCondition: null,
@@ -326,6 +329,8 @@ namespace DCGO.CardEffects.BT17
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 {
+                    bool hasSelectedTamerOpponent = false;
+
                     #region Opponent has tamer to play
 
                     if (card.Owner.Enemy.HandCards.Count(CanSelectTamerOpponentCondition) > 0)
@@ -333,7 +338,7 @@ namespace DCGO.CardEffects.BT17
                         List<CardSource> selectedCardsOpponent = new List<CardSource>();
 
                         int maxCount = Math.Min(1, card.Owner.Enemy.HandCards.Count(CanSelectTamerOpponentCondition));
-                        bool hasSelectedTamerOpponent = false;
+
 
                         SelectHandEffect selectHandEffectOpponent = GManager.instance.GetComponent<SelectHandEffect>();
 
@@ -379,58 +384,59 @@ namespace DCGO.CardEffects.BT17
                                     root: SelectCardEffect.Root.Hand,
                                     activateETB: true));
                         }
+                    }
+                    #endregion
 
-                        else
+                    #region I play tamer
+                    if (!hasSelectedTamerOpponent)
+                    {
+                        if (card.Owner.HandCards.Count > 0)
                         {
-                            if (card.Owner.HandCards.Count > 0)
+                            List<CardSource> selectedCards = new List<CardSource>();
+                            bool hasSelectedWhiteTamer = false;
+
+                            int maxCount = Math.Min(1, card.Owner.HandCards.Count(CanSelectWhiteTamerCondition));
+
+                            SelectHandEffect selectHandEffect = GManager.instance.GetComponent<SelectHandEffect>();
+
+                            selectHandEffect.SetUp(
+                                selectPlayer: card.Owner,
+                                canTargetCondition: CanSelectWhiteTamerCondition,
+                                canTargetCondition_ByPreSelecetedList: null,
+                                canEndSelectCondition: null,
+                                maxCount: maxCount,
+                                canNoSelect: true,
+                                canEndNotMax: false,
+                                isShowOpponent: true,
+                                selectCardCoroutine: SelectCardCoroutine,
+                                afterSelectCardCoroutine: null,
+                                mode: SelectHandEffect.Mode.Custom,
+                                cardEffect: activateClass);
+
+                            selectHandEffect.SetUpCustomMessage("Select 1 card to play.",
+                                "The opponent is selecting 1 card to play.");
+                            selectHandEffect.SetUpCustomMessage_ShowCard("Played Card");
+
+                            yield return ContinuousController.instance.StartCoroutine(selectHandEffect.Activate());
+
+                            IEnumerator SelectCardCoroutine(CardSource cardSource)
                             {
-                                List<CardSource> selectedCards = new List<CardSource>();
-                                bool hasSelectedWhiteTamer = false;
-
-                                maxCount = Math.Min(1, card.Owner.HandCards.Count(CanSelectWhiteTamerCondition));
-
-                                SelectHandEffect selectHandEffect = GManager.instance.GetComponent<SelectHandEffect>();
-
-                                selectHandEffectOpponent.SetUp(
-                                    selectPlayer: card.Owner,
-                                    canTargetCondition: CanSelectWhiteTamerCondition,
-                                    canTargetCondition_ByPreSelecetedList: null,
-                                    canEndSelectCondition: null,
-                                    maxCount: maxCount,
-                                    canNoSelect: true,
-                                    canEndNotMax: false,
-                                    isShowOpponent: true,
-                                    selectCardCoroutine: SelectCardCoroutine,
-                                    afterSelectCardCoroutine: null,
-                                    mode: SelectHandEffect.Mode.Custom,
-                                    cardEffect: activateClass);
-
-                                selectHandEffect.SetUpCustomMessage("Select 1 card to play.",
-                                    "The opponent is selecting 1 card to play.");
-                                selectHandEffect.SetUpCustomMessage_ShowCard("Played Card");
-
-                                yield return ContinuousController.instance.StartCoroutine(selectHandEffect.Activate());
-
-                                IEnumerator SelectCardCoroutine(CardSource cardSource)
-                                {
-                                    selectedCards.Add(cardSource);
-                                    hasSelectedWhiteTamer = true;
-
-                                    yield return null;
-                                }
-
-                                if (hasSelectedWhiteTamer)
-                                {
-                                    yield return ContinuousController.instance.StartCoroutine(
-                                        CardEffectCommons.PlayPermanentCards(
-                                            cardSources: selectedCardsOpponent,
-                                            activateClass: activateClass,
-                                            payCost: false,
-                                            isTapped: false,
-                                            root: SelectCardEffect.Root.Hand,
-                                            activateETB: true));
-                                }
+                                selectedCards.Add(cardSource);
+                                hasSelectedWhiteTamer = true;
 
+                                yield return null;
+                            }
+
+                            if (hasSelectedWhiteTamer)
+                            {
+                                yield return ContinuousController.instance.StartCoroutine(
+                                    CardEffectCommons.PlayPermanentCards(
+                                        cardSources: selectedCards,
+                                        activateClass: activateClass,
+                                        payCost: false,
+                                        isTapped: false,
+                                        root: SelectCardEffect.Root.Hand,
+                                        activateETB: true));
                             }
                         }
                     }
@@ -446,7 +452,7 @@ namespace DCGO.CardEffects.BT17
                         SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
 
                         selectPermanentEffect.SetUp(
-                            selectPlayer: card.Owner.Enemy,
+                            selectPlayer: card.Owner,
                             canTargetCondition: CanSelectPermanentDigimonCondition,
                             canTargetCondition_ByPreSelecetedList: null,
                             canEndSelectCondition: null,

+ 13 - 46
Assets/CardEffect/BT17/Yellow/Kazuchimon_BT17_040.cs

@@ -33,7 +33,7 @@ namespace DCGO.CardEffects.BT17
 
                 string EffectDiscription()
                 {
-                    return "[When Digivolving] Suspend 1 of your opponent's Digimon.";
+                    return "[When Digivolving] Suspend 1 of your opponent's Digimon. If [Leon Alexander] is in this Digimon's digivolution cards, all of your opponent's Digimon gain <Security A. -1> until the end of their turn.";
                 }
 
                 bool CanSelectPermanentCondition(Permanent permanent)
@@ -48,12 +48,7 @@ namespace DCGO.CardEffects.BT17
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    if (CardEffectCommons.IsExistOnBattleArea(card))
-                    {
-                        return true;
-                    }
-
-                    return false;
+                    return CardEffectCommons.IsExistOnBattleAreaDigimon(card);
                 }
 
                 IEnumerator ActivateCoroutine(Hashtable _hashtable)
@@ -78,52 +73,24 @@ namespace DCGO.CardEffects.BT17
                             cardEffect: activateClass);
 
                         yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
-                    }                 
-                }
-            }
-
-            if (timing == EffectTiming.OnEnterFieldAnyone)
-            {
-                ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("Security Attack -1", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
-                cardEffects.Add(activateClass);
-
-                string EffectDiscription()
-                {
-                    return "[When Digivolving] Then, if [Leon Alexander] is in this Digimon's digivolution cards, all of your opponent's Digimon gain Security Attack -1 until the end of their turn.";
-                }
-
-                bool CanUseCondition(Hashtable hashtable)
-                {
-                    return CardEffectCommons.CanTriggerWhenDigivolving(hashtable, card);
-                }
-
-                bool CanActivateCondition(Hashtable hashtable)
-                {
-                    return CardEffectCommons.IsExistOnBattleArea(card);
-                }
+                    }
 
-                IEnumerator ActivateCoroutine(Hashtable _hashtable)
-                {
-                    if (CardEffectCommons.IsExistOnBattleArea(card))
+                    if (card.PermanentOfThisCard().DigivolutionCards.Some(cardSource => cardSource.CardNames.Contains("Leon Alexander")) || card.PermanentOfThisCard().DigivolutionCards.Some(cardSource => cardSource.CardNames.Contains("LeonAlexander")))
                     {
-                        if (card.PermanentOfThisCard().DigivolutionCards.Some(cardSource => cardSource.CardNames.Contains("Leon Alexander")) || card.PermanentOfThisCard().DigivolutionCards.Some(cardSource => cardSource.CardNames.Contains("LeonAlexander")))
+                        bool PermanentCondition(Permanent permanent)
                         {
-                            bool PermanentCondition(Permanent permanent)
-                            {
-                                return CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card);
-                            }
-
-                            yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.ChangeDigimonSAttackPlayerEffect(
-                                permanentCondition: PermanentCondition,
-                                changeValue: -1,
-                                effectDuration: EffectDuration.UntilOpponentTurnEnd,
-                                activateClass: activateClass));
+                            return CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card);
                         }
+
+                        yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.ChangeDigimonSAttackPlayerEffect(
+                            permanentCondition: PermanentCondition,
+                            changeValue: -1,
+                            effectDuration: EffectDuration.UntilOpponentTurnEnd,
+                            activateClass: activateClass));
                     }
                 }
             }
+
             #endregion
 
             #region End of Your Turn

+ 1 - 1
Assets/CardEffect/P/Black/MameTyramon_P_141.cs

@@ -138,7 +138,7 @@ namespace DCGO.CardEffects.P
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Unsuspend this Digimon", CanUseCondition, card);
                 activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, true, EffectDiscription());
-                activateClass.SetHashString("Unsuspend_P_141");
+                activateClass.SetHashString("UnsuspendESS_P_141");
                 activateClass.SetIsInheritedEffect(true);
                 cardEffects.Add(activateClass);
 

+ 1 - 4
Assets/Scripts/CardEffectCommons/GameContextDeterminarion.cs

@@ -361,10 +361,7 @@ public partial class CardEffectCommons
     #region Whether there is at least 1 card in the owner's hand that satisfies the condition
     public static bool HasMatchConditionOwnersHand(CardSource card, Func<CardSource, bool> CanSelectCardCondition)
     {
-        return GManager.instance.turnStateMachine.gameContext.Players
-        .Map(player => player.HandCards)
-        .Flat()
-        .Some(source => CanSelectCardCondition(source) && IsExistOnHand(source));
+        return card.Owner.HandCards.Some(source => CanSelectCardCondition(source));
     }
     #endregion
 

+ 1 - 1
Assets/Scripts/Permanent.cs

@@ -692,7 +692,7 @@ public class Permanent
                 {
                     if (addedDigivolutionCard.PermanentOfThisCard().TopCard == addedDigivolutionCard)
                     {
-                        IPlacePermanentToDigivolutionCards placePermanent = new IPlacePermanentToDigivolutionCards(new List<Permanent[]>() { new Permanent[] { addedDigivolutionCard.PermanentOfThisCard(), this } }, false, cardEffect, skipEffectAndActivateSkill = true);
+                        IPlacePermanentToDigivolutionCards placePermanent = new IPlacePermanentToDigivolutionCards(new List<Permanent[]>() { new Permanent[] { addedDigivolutionCard.PermanentOfThisCard(), this } }, false, cardEffect, skipEffectAndActivateSkill);
 
                         yield return ContinuousController.instance.StartCoroutine(placePermanent.PlacePermanentToDigivolutionCards());
 

+ 1 - 1
ProjectSettings/ProjectSettings.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:d9da409295c1a9c270f9df925d8ea578aa8bb32711b1220f2b9ad998e39fc8c6
+oid sha256:4aaeddb92278c0b46279dfe5c04655129c553ab36097e1022a3043ffab614029
 size 20166