Parcourir la source

Mike updates (9/16)

mbunch_kascope il y a 11 mois
Parent
commit
d22519b64a

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

@@ -54,7 +54,7 @@ namespace DCGO.CardEffects.EX10
                 {
                     if (CardEffectCommons.HasMatchConditionOwnersCardInTrash(card, IsRockOrMineral))
                     {
-                        List<CardSource> selectedCards = null;
+                        List<CardSource> selectedCards = new List<CardSource>();
 
                         int maxCount = Math.Min(2, CardEffectCommons.MatchConditionOwnersCardCountInTrash(card, IsRockOrMineral));
                         SelectCardEffect selectCardEffect = GManager.instance.GetComponent<SelectCardEffect>();

+ 4 - 1
Assets/CardEffect/EX10/Black/EX10_033.cs

@@ -269,11 +269,14 @@ namespace DCGO.CardEffects.EX10
 
                     IEnumerator AfterTrashedCards(Permanent permanent, List<CardSource> cards)
                     {
-                        trashedCount += cards.Count;
+                        UnityEngine.Debug.Log($"AFTER TRASH: {trashedCount}, {cards.Count}");
+                        trashedCount = cards.Count;
 
                         yield return null;
                     }
 
+                    UnityEngine.Debug.Log($"Trash Count: {trashedCount}");
+
                     if (trashedCount > 0)
                     {
                         bool PermanentCondition(Permanent permanent)

+ 7 - 9
Assets/CardEffect/EX10/Black/EX10_036.cs

@@ -46,7 +46,7 @@ namespace DCGO.CardEffects.EX10
 
             #endregion
 
-            #region When Digivolving - Unsuspend
+            #region When Digivolving - Add Sources OPT
             if (timing == EffectTiming.OnEnterFieldAnyone)
             {
                 ActivateClass activateClass = new ActivateClass();
@@ -124,16 +124,15 @@ namespace DCGO.CardEffects.EX10
                         yield return null;
                     }
 
-                    if (selectedCards.Count >= 3)
+                    if (selectedCards.Count >= 1)
                     {
                         yield return ContinuousController.instance.StartCoroutine(card.PermanentOfThisCard().AddDigivolutionCardsBottom(selectedCards, activateClass));
-                        yield return ContinuousController.instance.StartCoroutine(new IUnsuspendPermanents(new List<Permanent>() { card.PermanentOfThisCard() }, activateClass).Unsuspend());
                     }
                 }
             }
             #endregion
 
-            #region When Attacking - Unsuspend
+            #region When Attacking - Add Sources OPT
             if (timing == EffectTiming.OnAllyAttack)
             {
                 ActivateClass activateClass = new ActivateClass();
@@ -211,10 +210,9 @@ namespace DCGO.CardEffects.EX10
                         yield return null;
                     }
 
-                    if (selectedCards.Count >= 3)
+                    if (selectedCards.Count >= 1)
                     {
                         yield return ContinuousController.instance.StartCoroutine(card.PermanentOfThisCard().AddDigivolutionCardsBottom(selectedCards, activateClass));
-                        yield return ContinuousController.instance.StartCoroutine(new IUnsuspendPermanents(new List<Permanent>() { card.PermanentOfThisCard() }, activateClass).Unsuspend());
                     }
                 }
             }
@@ -224,7 +222,7 @@ namespace DCGO.CardEffects.EX10
             if (timing == EffectTiming.OnEnterFieldAnyone)
             {
                 ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("By trashing 3 sources, Unsuspend and gain Security A. +1", CanUseCondition, card);
+                activateClass.SetUpICardEffect("By trashing 3 sources, Delete 1 digimon and trash top security", CanUseCondition, card);
                 activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
                 cardEffects.Add(activateClass);
 
@@ -332,10 +330,10 @@ namespace DCGO.CardEffects.EX10
             #endregion
 
             #region When Attacking - Delete/Trash
-            if (timing == EffectTiming.OnEnterFieldAnyone)
+            if (timing == EffectTiming.OnAllyAttack)
             {
                 ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("By trashing 3 sources, Unsuspend and gain Security A. +1", CanUseCondition, card);
+                activateClass.SetUpICardEffect("By trashing 3 sources, Delete 1 digimon and trash top security", CanUseCondition, card);
                 activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
                 cardEffects.Add(activateClass);
 

+ 13 - 2
Assets/CardEffect/EX10/Purple/EX10_055.cs

@@ -1,6 +1,7 @@
 using System;
 using System.Collections;
 using System.Collections.Generic;
+using System.Diagnostics;
 using System.Linq;
 
 // Tactimon
@@ -182,7 +183,12 @@ namespace DCGO.CardEffects.EX10
 
                             yield return ContinuousController.instance.StartCoroutine(new DestroyPermanentsClass(
                                             destroyTargetPermanents: permanentList,
-                                            hashtable: hashtable).Destroy()
+                                            hashtable: CardEffectCommons.OnDeletionHashtable(
+                                            permanentList,
+                                            activateClass,
+                                            null,
+                                            false
+                                            )).Destroy()
                             );
                         }
                     }
@@ -299,7 +305,12 @@ namespace DCGO.CardEffects.EX10
 
                             yield return ContinuousController.instance.StartCoroutine(new DestroyPermanentsClass(
                                             destroyTargetPermanents: permanentList,
-                                            hashtable: hashtable).Destroy()
+                                            hashtable: CardEffectCommons.OnDeletionHashtable(
+                                            permanentList,
+                                            activateClass,
+                                            null,
+                                            false
+                                            )).Destroy()
                             );
                         }
                     }

+ 87 - 87
Assets/CardEffect/EX10/Purple/EX10_056.cs

@@ -102,10 +102,9 @@ namespace DCGO.CardEffects.EX10
                 bool HasValidEnemyPermanents()
                 {
                     int digimon = card.Owner.Enemy.GetBattleAreaDigimons().Count;
-                    int tamers = card.Owner.Enemy.GetBattleAreaPermanents().Filter(x => x.IsTamer).Count;
+                    int tamers = card.Owner.Enemy.GetBattleAreaDigimons().Filter(x => x.IsTamer).Count;
 
-                    return digimon >= 1
-                        && (digimon - 1 + tamers) >= 1;
+                    return digimon + tamers >= 1;
                 }
 
                 bool IsEnemyDigimon(Permanent permanent)
@@ -113,60 +112,60 @@ namespace DCGO.CardEffects.EX10
                     return CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card);
                 }
 
-                bool IsEnemyPermanent(Permanent permanent, Permanent targetPermament)
-                {
-                    return (CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card)
-                        || CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaTamer(permanent, card))
-                        && permanent != targetPermament;
-                }
-
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 {
-                    if (HasValidEnemyPermanents())
+                    Permanent selectedPermamentToSource = null;
+
+                    #region Select Enemy Digimon to add as Source
+
+                    SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
+                    int maxCount = Math.Min(1, CardEffectCommons.MatchConditionOwnersPermanentCount(card, IsEnemyDigimon));
+
+                    selectPermanentEffect.SetUp(
+                        selectPlayer: card.Owner,
+                        canTargetCondition: IsEnemyDigimon,
+                        canTargetCondition_ByPreSelecetedList: null,
+                        canEndSelectCondition: null,
+                        maxCount: maxCount,
+                        canNoSelect: true,
+                        canEndNotMax: false,
+                        selectPermanentCoroutine: SelectPermanentCoroutine,
+                        afterSelectPermanentCoroutine: null,
+                        mode: SelectPermanentEffect.Mode.Custom,
+                        cardEffect: activateClass);
+
+                    IEnumerator SelectPermanentCoroutine(Permanent permanent)
                     {
-                        Permanent selectedPermamentToSource = null;
-
-                        #region Select Enemy Digimon to add as Source
-
-                        SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
-                        int maxCount = Math.Min(1, CardEffectCommons.MatchConditionOwnersPermanentCount(card, IsEnemyDigimon));
-
-                        selectPermanentEffect.SetUp(
-                            selectPlayer: card.Owner,
-                            canTargetCondition: IsEnemyDigimon,
-                            canTargetCondition_ByPreSelecetedList: null,
-                            canEndSelectCondition: null,
-                            maxCount: maxCount,
-                            canNoSelect: true,
-                            canEndNotMax: false,
-                            selectPermanentCoroutine: SelectPermanentCoroutine,
-                            afterSelectPermanentCoroutine: null,
-                            mode: SelectPermanentEffect.Mode.Custom,
-                            cardEffect: activateClass);
-
-                        IEnumerator SelectPermanentCoroutine(Permanent permanent)
-                        {
-                            selectedPermamentToSource = permanent;
-                            yield return null;
-                        }
+                        selectedPermamentToSource = permanent;
+                        yield return null;
+                    }
 
-                        selectPermanentEffect.SetUpCustomMessage("Select 1 Digimon to move under a digimon/tamer", "The opponent is selecting 1 Digimon move under a digimon/tamer");
-                        yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
+                    selectPermanentEffect.SetUpCustomMessage("Select 1 Digimon to move under a digimon/tamer", "The opponent is selecting 1 Digimon move under a digimon/tamer");
+                    yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
 
-                        #endregion
+                    #endregion
+
+                    if (selectedPermamentToSource != null)
+                    {
+                        bool IsEnemyPermanent(Permanent permanent)
+                        {
+                            return (CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card)
+                                || CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaTamer(permanent, card))
+                                && permanent != selectedPermamentToSource;
+                        }
 
-                        if (selectedPermamentToSource != null && CardEffectCommons.HasMatchConditionOpponentsPermanent(card, permament => IsEnemyPermanent(permament, selectedPermamentToSource)))
+                        if (CardEffectCommons.HasMatchConditionPermanent(IsEnemyPermanent))
                         {
                             Permanent selectedPermanent = null;
 
                             #region Select Enemy Permament to add source
 
                             SelectPermanentEffect selectPermanentEffect1 = GManager.instance.GetComponent<SelectPermanentEffect>();
-                            int maxCount1 = Math.Min(1, CardEffectCommons.MatchConditionOwnersPermanentCount(card, permament => IsEnemyPermanent(permament, selectedPermamentToSource)));
+                            int maxCount1 = Math.Min(1, CardEffectCommons.MatchConditionPermanentCount(IsEnemyPermanent));
 
                             selectPermanentEffect1.SetUp(
                                 selectPlayer: card.Owner,
-                                canTargetCondition: permament => IsEnemyPermanent(permament, selectedPermamentToSource),
+                                canTargetCondition: IsEnemyPermanent,
                                 canTargetCondition_ByPreSelecetedList: null,
                                 canEndSelectCondition: null,
                                 maxCount: maxCount1,
@@ -231,9 +230,9 @@ namespace DCGO.CardEffects.EX10
                 bool HasValidEnemyPermanents()
                 {
                     int digimon = card.Owner.Enemy.GetBattleAreaDigimons().Count;
-                    int tamers = card.Owner.Enemy.GetBattleAreaPermanents().Filter(x => x.IsTamer).Count;
+                    int tamers = card.Owner.Enemy.GetBattleAreaDigimons().Filter(x => x.IsTamer).Count;
 
-                    return digimon >= 1 && digimon + tamers >= 2;
+                    return digimon + tamers >= 1;
                 }
 
                 bool IsEnemyDigimon(Permanent permanent)
@@ -241,59 +240,60 @@ namespace DCGO.CardEffects.EX10
                     return CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card);
                 }
 
-                bool IsEnemyPermanent(Permanent permanent, Permanent targetPermament)
-                {
-                    return CardEffectCommons.IsPermanentExistsOnOpponentBattleArea(permanent, card)
-                        && permanent != targetPermament;
-                }
-
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 {
-                    if (HasValidEnemyPermanents())
+                    Permanent selectedPermamentToSource = null;
+
+                    #region Select Enemy Digimon to add as Source
+
+                    SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
+                    int maxCount = Math.Min(1, CardEffectCommons.MatchConditionOwnersPermanentCount(card, IsEnemyDigimon));
+
+                    selectPermanentEffect.SetUp(
+                        selectPlayer: card.Owner,
+                        canTargetCondition: IsEnemyDigimon,
+                        canTargetCondition_ByPreSelecetedList: null,
+                        canEndSelectCondition: null,
+                        maxCount: maxCount,
+                        canNoSelect: true,
+                        canEndNotMax: false,
+                        selectPermanentCoroutine: SelectPermanentCoroutine,
+                        afterSelectPermanentCoroutine: null,
+                        mode: SelectPermanentEffect.Mode.Custom,
+                        cardEffect: activateClass);
+
+                    IEnumerator SelectPermanentCoroutine(Permanent permanent)
                     {
-                        Permanent selectedPermamentToSource = null;
-
-                        #region Select Enemy Digimon to add as Source
-
-                        SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
-                        int maxCount = Math.Min(1, CardEffectCommons.MatchConditionOwnersPermanentCount(card, IsEnemyDigimon));
-
-                        selectPermanentEffect.SetUp(
-                            selectPlayer: card.Owner,
-                            canTargetCondition: IsEnemyDigimon,
-                            canTargetCondition_ByPreSelecetedList: null,
-                            canEndSelectCondition: null,
-                            maxCount: maxCount,
-                            canNoSelect: true,
-                            canEndNotMax: false,
-                            selectPermanentCoroutine: SelectPermanentCoroutine,
-                            afterSelectPermanentCoroutine: null,
-                            mode: SelectPermanentEffect.Mode.Custom,
-                            cardEffect: activateClass);
-
-                        IEnumerator SelectPermanentCoroutine(Permanent permanent)
-                        {
-                            selectedPermamentToSource = permanent;
-                            yield return null;
-                        }
+                        selectedPermamentToSource = permanent;
+                        yield return null;
+                    }
 
-                        selectPermanentEffect.SetUpCustomMessage("Select 1 Digimon to move under a digimon/tamer", "The opponent is selecting 1 Digimon move under a digimon/tamer");
-                        yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
+                    selectPermanentEffect.SetUpCustomMessage("Select 1 Digimon to move under a digimon/tamer", "The opponent is selecting 1 Digimon move under a digimon/tamer");
+                    yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
 
-                        #endregion
+                    #endregion
+
+                    if (selectedPermamentToSource != null)
+                    {
+                        bool IsEnemyPermanent(Permanent permanent)
+                        {
+                            return (CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card)
+                                || CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaTamer(permanent, card))
+                                && permanent != selectedPermamentToSource;
+                        }
 
-                        if (selectedPermamentToSource != null && CardEffectCommons.HasMatchConditionOpponentsPermanent(card, permament => IsEnemyPermanent(permament, selectedPermamentToSource)))
+                        if (CardEffectCommons.HasMatchConditionPermanent(IsEnemyPermanent))
                         {
                             Permanent selectedPermanent = null;
 
                             #region Select Enemy Permament to add source
 
                             SelectPermanentEffect selectPermanentEffect1 = GManager.instance.GetComponent<SelectPermanentEffect>();
-                            int maxCount1 = Math.Min(1, CardEffectCommons.MatchConditionOwnersPermanentCount(card, permament => IsEnemyPermanent(permament, selectedPermamentToSource)));
+                            int maxCount1 = Math.Min(1, CardEffectCommons.MatchConditionPermanentCount(IsEnemyPermanent));
 
                             selectPermanentEffect1.SetUp(
                                 selectPlayer: card.Owner,
-                                canTargetCondition: permament => IsEnemyPermanent(permament, selectedPermamentToSource),
+                                canTargetCondition: IsEnemyPermanent,
                                 canTargetCondition_ByPreSelecetedList: null,
                                 canEndSelectCondition: null,
                                 maxCount: maxCount1,
@@ -349,7 +349,7 @@ namespace DCGO.CardEffects.EX10
                 bool CanUseCondition(Hashtable hashtable)
                 {
                     return CardEffectCommons.IsExistOnBattleAreaDigimon(card)
-                        && CardEffectCommons.CanTriggerWhenPermanentWouldDigivolve(hashtable, PermamentCondition, null);
+                        && CardEffectCommons.CanTriggerWhenPermanentDigivolving(hashtable, PermamentCondition);
                 }
 
                 bool PermamentCondition(Permanent permanent)
@@ -360,12 +360,12 @@ namespace DCGO.CardEffects.EX10
                 bool CanActivateCondition(Hashtable hashtable)
                 {
                     return CardEffectCommons.IsExistOnBattleAreaDigimon(card)
-                        && card.PermanentOfThisCard().StackCards.Count >= 2;
+                        && card.PermanentOfThisCard().DigivolutionCards.Count >= 2;
                 }
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 {
-                    if (card.PermanentOfThisCard().StackCards.Count >= 2)
+                    if (card.PermanentOfThisCard().DigivolutionCards.Count >= 2)
                     {
                         Permanent thisPermanent = card.PermanentOfThisCard();
                         List<CardSource> selectedCards = new List<CardSource>();
@@ -457,12 +457,12 @@ namespace DCGO.CardEffects.EX10
                 bool CanActivateCondition(Hashtable hashtable)
                 {
                     return CardEffectCommons.IsExistOnBattleAreaDigimon(card)
-                        && card.PermanentOfThisCard().StackCards.Count >= 2;
+                        && card.PermanentOfThisCard().DigivolutionCards.Count >= 2;
                 }
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 {
-                    if (card.PermanentOfThisCard().StackCards.Count >= 2)
+                    if (card.PermanentOfThisCard().DigivolutionCards.Count >= 2)
                     {
                         Permanent thisPermanent = card.PermanentOfThisCard();
                         List<CardSource> selectedCards = new List<CardSource>();

+ 49 - 43
Assets/CardEffect/EX10/Red/EX10_010.cs

@@ -119,59 +119,66 @@ namespace DCGO.CardEffects.EX10
 
             #region All Turns
 
-            if (timing == EffectTiming.OnRemovedField || timing == EffectTiming.OnEnterFieldAnyone || timing == EffectTiming.WhenTopCardTrashed)
-            {
-                if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
-                {
-                    Permanent thisPermanent = card.PermanentOfThisCard();
+            #region All Turns - Immunity
 
-                    #region Setup Immunity
+            if (timing == EffectTiming.None)
+            {
+                CanNotAffectedClass canNotAffectedClass = new CanNotAffectedClass();
+                canNotAffectedClass.SetUpICardEffect("Isn't affected by opponent's Digimon's effects", CanUseCondition, card);
+                canNotAffectedClass.SetUpCanNotAffectedClass(CardCondition: CardCondition, SkillCondition: SkillCondition);
+                cardEffects.Add(canNotAffectedClass);
 
-                    bool CanUseCondition(Hashtable hashtable)
-                    {
-                        return FieldCondition();
-                    }
+                bool CanUseCondition(Hashtable hashtable)
+                {
+                    return CardEffectCommons.IsExistOnBattleAreaDigimon(card) &&
+                           CardEffectCommons.HasMatchConditionPermanent(OpponentsPermanent);
+                }
 
-                    bool CardCondition(CardSource cardSource)
+                bool CardCondition(CardSource cardSource)
+                {
+                    if (cardSource == card)
                     {
-                        if (cardSource == card)
+                        if (CardEffectCommons.IsExistOnBattleArea(card))
                         {
-                            if (CardEffectCommons.IsExistOnBattleArea(card))
+                            if (cardSource == card.PermanentOfThisCard().TopCard)
                             {
-                                if (cardSource == card.PermanentOfThisCard().TopCard)
-                                {
-                                    return true;
-                                }
+                                return true;
                             }
                         }
-
-                        return false;
                     }
 
-                    bool SkillCondition(ICardEffect cardEffect)
+                    return false;
+                }
+
+                bool SkillCondition(ICardEffect cardEffect)
+                {
+                    if (CardEffectCommons.IsOpponentEffect(cardEffect, card))
                     {
-                        if (CardEffectCommons.IsOpponentEffect(cardEffect, card))
+                        if (cardEffect.IsDigimonEffect)
                         {
-                            if (cardEffect.IsDigimonEffect)
-                            {
-                                return true;
-                            }
+                            return true;
                         }
-
-                        return false;
                     }
 
-                    bool FieldCondition()
-                    {
-                        return CardEffectCommons.IsExistOnBattleAreaDigimon(card) &&
-                               CardEffectCommons.HasMatchConditionPermanent(OpponentsPermanent);
-                    }
+                    return false;
+                }
+
+                bool OpponentsPermanent(Permanent permanent)
+                {
+                    return CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card) &&
+                           card.PermanentOfThisCard().Boosts.Exists(x => x.ID == "AT_EX10-010");
+                }
+            }
+
+            #endregion
 
-                    CanNotAffectedClass canNotAffectedClass = new CanNotAffectedClass();
-                    canNotAffectedClass.SetUpICardEffect("Isn't affected by opponent's Digimon's effects", CanUseCondition, card);
-                    canNotAffectedClass.SetUpCanNotAffectedClass(CardCondition: CardCondition, SkillCondition: SkillCondition);
+            #region All Turns - DP
 
-                    #endregion
+            if (timing == EffectTiming.OnRemovedField || timing == EffectTiming.OnEnterFieldAnyone || timing == EffectTiming.WhenTopCardTrashed)
+            {
+                if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
+                {
+                    Permanent thisPermanent = card.PermanentOfThisCard();
 
                     bool OpponentsPermanent(Permanent permanent)
                     {
@@ -182,26 +189,25 @@ namespace DCGO.CardEffects.EX10
                     if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                     {
                         if (CardEffectCommons.HasMatchConditionPermanent(OpponentsPermanent))
-                        {
                             thisPermanent.AddBoost(new Permanent.DPBoost("AT_EX10-010", 3000, null));
-                            cardEffects.Add(canNotAffectedClass);
-                        }
                         else
                         {
-                            if (thisPermanent.Boosts.Exists(x => x.ID == "AT_EX10-010")) thisPermanent.RemoveBoost("AT_EX10-010");
-                            if (cardEffects.Contains(canNotAffectedClass)) cardEffects.Remove(canNotAffectedClass);
+                            if (thisPermanent.Boosts.Exists(x => x.ID == "AT_EX10-010"))
+                                thisPermanent.RemoveBoost("AT_EX10-010");
                         }
                     }
                     else
                     {
-                        if (thisPermanent.Boosts.Exists(x => x.ID == "AT_EX10-010")) thisPermanent.RemoveBoost("AT_EX10-010");
-                        if (cardEffects.Contains(canNotAffectedClass)) cardEffects.Remove(canNotAffectedClass);
+                        if (thisPermanent.Boosts.Exists(x => x.ID == "AT_EX10-010")) 
+                            thisPermanent.RemoveBoost("AT_EX10-010");
                     }
                 }
             }
 
             #endregion
 
+            #endregion
+
             return cardEffects;
         }
     }

+ 2 - 2
Assets/CardEffect/EX8/Black/EX8_055.cs

@@ -90,7 +90,7 @@ namespace DCGO.CardEffects.EX8
 
                     IEnumerator AfterTrashedCards(Permanent permanent, List<CardSource> cards)
                     {
-                        trashedCount += cards.Count;
+                        trashedCount = cards.Count;
 
                         yield return null;
                     }
@@ -172,7 +172,7 @@ namespace DCGO.CardEffects.EX8
 
                     IEnumerator AfterTrashedCards(Permanent permanent, List<CardSource> cards)
                     {
-                        trashedCount += cards.Count;
+                        trashedCount = cards.Count;
 
                         yield return null;
                     }

+ 7 - 2
Assets/Scripts/CardEffectCommons/TrashDigivolutionCards.cs

@@ -84,6 +84,8 @@ public partial class CardEffectCommons
             }
             else
             {
+                Permanent selectedPermanent = null;
+
                 permanentSelectedCount++;
                 maxCount = Math.Min(1, permanentSum);
 
@@ -108,7 +110,7 @@ public partial class CardEffectCommons
 
                 IEnumerator SelectPermanentCoroutine(Permanent permanent)
                 {
-                    Permanent selectedPermanent = permanent;
+                    selectedPermanent = permanent;
 
                     if (selectedPermanent.DigivolutionCards.Count(CanSelectCardCondition) >= 1)
                     {
@@ -161,7 +163,7 @@ public partial class CardEffectCommons
                                 selectedCards,
                                 activateClass).TrashDigivolutionCards());
 
-                        digivolutionDiscardedCount += selectedCards.Count;
+                        digivolutionDiscardedCount = selectedCards.Count;
 
                         if (canNoTrash && NotSelectYet())
                         {
@@ -185,6 +187,9 @@ public partial class CardEffectCommons
 
                     yield return null;
                 }
+
+                if (canEndNotMax && selectedPermanent == null)
+                    break;
             }
         }
     }