Эх сурвалжийг харах

redefined card index (promos), card updates/fixes for EX8

mbunch_kascope 1 жил өмнө
parent
commit
b4f27d14c7

+ 19 - 11
Assets/CardEffect/EX8/Black/Gogmamon_EX8_050.cs

@@ -54,18 +54,26 @@ namespace DCGO.CardEffects.EX8
                 {
                     List<CardSource> selectedCards = new List<CardSource>();
 
-                    yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.RevealDeckTopCardsAndProcessForAll(
-                        revealCount: 1,
-                        simplifiedSelectCardCondition:
-                        new SimplifiedSelectCardConditionClass(
-                            canTargetCondition: PlayableMineralorRock,
+                    yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.RevealDeckTopCardsAndSelect(
+                    revealCount: 3,
+                    selectCardConditions:
+                    new SelectCardConditionClass[]
+                    {
+                        new SelectCardConditionClass(
+                            canTargetCondition:PlayableMineralorRock,
+                            canTargetCondition_ByPreSelecetedList:null,
+                            canEndSelectCondition:null,
+                            canNoSelect:true,
+                            selectCardCoroutine: CardToPlay,
                             message: "Select 1 [Mineral] or [Rock] trait digimon with 5 cost or less to play",
-                            mode: SelectCardEffect.Mode.Custom,
-                            maxCount: -1,
-                            selectCardCoroutine: CardToPlay),
-                        remainingCardsPlace: RemainingCardsPlace.Trash,
-                        activateClass: activateClass
-                    ));
+                            maxCount: 1,
+                            canEndNotMax:false,
+                            mode: SelectCardEffect.Mode.Custom
+                            )
+                    },
+                    remainingCardsPlace: RemainingCardsPlace.Trash,
+                    activateClass: activateClass,
+                    canNoAction: false));
 
                     IEnumerator CardToPlay(CardSource source)
                     {

+ 5 - 3
Assets/CardEffect/EX8/Black/ZofrKabus_EX8_070.cs

@@ -13,7 +13,7 @@ namespace DCGO.CardEffects.EX8
             List<ICardEffect> cardEffects = new List<ICardEffect>();
 
             #region Main
-            if (timing == EffectTiming.OnUseOption)
+            if (timing == EffectTiming.OptionSkill)
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("By trashing 1 source, gain collision, piercing, reboot, +3000 DP, and can't be returned to hand or deck by opponent", CanUseCondition, card);
@@ -34,12 +34,14 @@ namespace DCGO.CardEffects.EX8
                 {
                     return CardEffectCommons.IsOwnerPermanent(permanent, card) &&
                            permanent.IsDigimon &&
-                           permanent.DigivolutionCards.Count(HasProperTrait) > 0;
+                           HasProperTrait(permanent.TopCard) &&
+                           permanent.DigivolutionCards.Count() > 0;
                 }
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.HasMatchConditionPermanent(DigimonWithProperSource);
+                    return CardEffectCommons.CanTriggerOptionMainEffect(hashtable, card) && 
+                           CardEffectCommons.HasMatchConditionPermanent(DigimonWithProperSource);
                 }
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)

+ 3 - 2
Assets/CardEffect/EX8/Blue/Plesiomon_EX8_027.cs

@@ -56,12 +56,13 @@ namespace DCGO.CardEffects.EX8
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.CanTriggerOnAttack(hashtable, card);
+                    return CardEffectCommons.IsExistOnBattleAreaDigimon(card) &&
+                           CardEffectCommons.CanTriggerWhenDigivolving(hashtable, card);
                 }
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    if (CardEffectCommons.IsExistOnBattleArea(card))
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                     {
                         if (card.PermanentOfThisCard().DigivolutionCards.Count(CanSelectCardCondition) >= 1)
                         {

+ 2 - 0
Assets/CardEffect/EX8/Green/MedievalGallantmon_EX8_074.cs

@@ -20,6 +20,8 @@ namespace DCGO.CardEffects.EX8
                 activateClass.SetHashString("PlayCost-4_EX8_074");
                 cardEffects.Add(activateClass);
 
+                activateClass.SetIsDigimonEffect(true);
+
                 string EffectDescription()
                 {
                     return

+ 5 - 21
Assets/CardEffect/EX8/Purple/BarbamonXAntibody_EX8_063.cs

@@ -59,15 +59,7 @@ namespace DCGO.CardEffects.EX8
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    if (CardEffectCommons.IsExistOnBattleArea(card))
-                    {
-                        if (card.Owner.Enemy.HandCards.Count >= 1)
-                        {
-                            return true;
-                        }
-                    }
-
-                    return false;
+                    return CardEffectCommons.IsExistOnBattleArea(card);
                 }
                 
                 bool CanSelectCardInTrash(CardSource cardSource)
@@ -211,26 +203,18 @@ namespace DCGO.CardEffects.EX8
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    if (CardEffectCommons.IsExistOnBattleArea(card))
-                    {
-                        if (card.Owner.Enemy.HandCards.Count >= 1)
-                        {
-                            return true;
-                        }
-                    }
-
-                    return false;
+                    return CardEffectCommons.IsExistOnBattleArea(card);
                 }
-                
+
                 bool CanSelectCardInTrash(CardSource cardSource)
                 {
                     if (CardEffectCommons.CanPlayAsNewPermanent(cardSource: cardSource, payCost: false, cardEffect: activateClass))
                     {
                         if (cardSource.IsDigimon)
                         {
-                            if (cardSource.GetCostItself == 7)
+                            if (cardSource.GetCostItself <= 7)
                             {
-                                if (cardSource.EqualsTraits("Fallen Angel") || cardSource.EqualsTraits("FallenAngel"))
+                                if (cardSource.EqualsTraits("Fallen Angel"))
                                 {
                                     return true;
                                 }

+ 3 - 3
Assets/CardEffect/EX8/Purple/Devimon_EX8_059.cs

@@ -164,7 +164,7 @@ namespace DCGO.CardEffects.EX8
 
                                         bool GivenEffectCanActivateCondition(Hashtable hashtable1)
                                         {
-                                            if (CardEffectCommons.IsPermanentExistsOnBattleArea(permanent))
+                                            if (CardEffectCommons.CanActivateOnDeletion(permanent.TopCard))
                                             {
                                                 if (!permanent.TopCard.CanNotBeAffected(activateClass))
                                                 {
@@ -177,14 +177,14 @@ namespace DCGO.CardEffects.EX8
                                         
                                         IEnumerator GivenEffectActivateCoroutine(Hashtable _hashtable)
                                         {
-                                            if (card.Owner.HandCards.Count >= 1)
+                                            if (permanent.TopCard.Owner.HandCards.Count >= 1)
                                             {
                                                 int discardCount = 1;
 
                                                 SelectHandEffect selectHandEffect = GManager.instance.GetComponent<SelectHandEffect>();
 
                                                 selectHandEffect.SetUp(
-                                                    selectPlayer: card.Owner,
+                                                    selectPlayer: permanent.TopCard.Owner,
                                                     canTargetCondition: (cardSource) => true,
                                                     canTargetCondition_ByPreSelecetedList: null,
                                                     canEndSelectCondition: null,

+ 1 - 1
Assets/CardEffect/EX8/Purple/Myotismon_EX8_060.cs

@@ -59,7 +59,7 @@ namespace DCGO.CardEffects.EX8
                 bool CanUseCondition(Hashtable hashtable)
                 {
                     if(CardEffectCommons.IsExistOnBattleAreaDigimon(card))
-                        return CardEffectCommons.CanTriggerWhenDigivolving(hashtable, card);
+                        return CardEffectCommons.CanTriggerOnAttack(hashtable, card);
 
                     return false;
                 }

+ 2 - 2
Assets/CardEffect/EX8/Red/Agumon_EX8_007.cs

@@ -36,7 +36,7 @@ namespace DCGO.CardEffects.EX8
 
                 bool CanSelectCardCondition(CardSource cardSource)
                 {
-                    if (cardSource.ContainsTraits("Reptile") || cardSource.ContainsTraits("Dinosaur") || cardSource.ContainsCardName("Tyrannomon"))
+                    if (cardSource.EqualsTraits("Reptile") || cardSource.EqualsTraits("Dinosaur") || cardSource.ContainsCardName("Tyrannomon"))
                     {
                         return true;
                     }
@@ -46,7 +46,7 @@ namespace DCGO.CardEffects.EX8
 
                 bool CanSelectCardCondition1(CardSource cardSource)
                 {
-                    if (cardSource.EqualsCardName("Ryutaro William"))
+                    if (cardSource.EqualsCardName("Ryutaro Williams"))
                     {
                         return true;
                     }

+ 2 - 2
Assets/CardEffect/EX8/Red/Dinomon_EX8_016.cs

@@ -227,11 +227,11 @@ namespace DCGO.CardEffects.EX8
                     {
                         if (permanent.IsSuspended)
                         {
-                            return true;
+                            return false;
                         }
                     }
 
-                    return false;
+                    return true;
                 }
 
                 bool Condition()

+ 1 - 1
Assets/CardEffect/EX8/Red/GrowlmonXAntibody_EX8_012.cs

@@ -107,7 +107,7 @@ namespace DCGO.CardEffects.EX8
 
                         bool CanSelectCardCondition(CardSource cardSource)
                         {
-                            if (cardSource.CardNames.Contains("Guilmon"))
+                            if (cardSource.ContainsCardName("Guilmon"))
                             {
                                 if (CardEffectCommons.CanPlayAsNewPermanent(cardSource: cardSource, payCost: false, cardEffect: activateClass))
                                 {

+ 5 - 1
Assets/CardEffect/P/Black/Coelamon_P_162.cs

@@ -47,7 +47,7 @@ namespace DCGO.CardEffects.P
 
             bool CanActivateCondition(Hashtable hashtable)
             {
-                if (CardEffectCommons.IsExistOnBattleArea(card))
+                if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                 {
                     return CardEffectCommons.HasMatchConditionPermanent(CanSelectPermanentCondition);
                 }
@@ -99,6 +99,8 @@ namespace DCGO.CardEffects.P
 
                     selectPermanentEffect.SetUpCustomMessage("Select 1 Digimon that will gain effects.", "The opponent is selecting 1 Digimon that will gain effects.");
 
+                    yield return StartCoroutine(selectPermanentEffect.Activate());
+
                     IEnumerator SelectPermanentCoroutine(Permanent permanent)
                     {
                         selectedPermanent = permanent;
@@ -184,6 +186,8 @@ namespace DCGO.CardEffects.P
 
                     selectPermanentEffect.SetUpCustomMessage("Select 1 Digimon that will digivolve.", "The opponent is selecting 1 Digimon that will digivolve.");
 
+                    yield return StartCoroutine(selectPermanentEffect.Activate());
+
                     IEnumerator SelectPermanentCoroutine(Permanent permanent)
                     {
                         selectedPermanent = permanent;

+ 92 - 101
Assets/CardEffect/P/Blue/Shellmon_P_164.cs

@@ -48,7 +48,7 @@ namespace DCGO.CardEffects.P
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    if (CardEffectCommons.IsExistOnBattleArea(card))
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                     {
                         if(CardEffectCommons.HasMatchConditionOwnersHand(card, CanSelectCardCondition))
                         {
@@ -61,61 +61,56 @@ namespace DCGO.CardEffects.P
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 {
-                    if (CardEffectCommons.IsExistOnBattleArea(card))
+                    CardSource selectedCard = null;
+                    int maxCount = Math.Min(1, card.Owner.HandCards.Count((cardSource) => CanSelectCardCondition(cardSource)));
+
+                    SelectHandEffect selectHandEffect = GManager.instance.GetComponent<SelectHandEffect>();
+
+                    selectHandEffect.SetUp(
+                        selectPlayer: card.Owner,
+                        canTargetCondition: CanSelectCardCondition,
+                        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 place on bottom of digivolution cards.",
+                        "The opponent is selecting 1 card to place on bottom of digivolution cards.");
+                    selectHandEffect.SetUpCustomMessage_ShowCard("Digivolution Card");
+
+                    yield return StartCoroutine(selectHandEffect.Activate());
+
+                    IEnumerator SelectCardCoroutine(CardSource cardSource)
                     {
-                        yield return ContinuousController.instance.StartCoroutine(GManager.instance.userSelectionManager.WaitForEndSelect());
-                        
-                        CardSource selectedCard = null;
-                        int maxCount = Math.Min(1, card.Owner.HandCards.Count((cardSource) => CanSelectCardCondition(cardSource)));
-
-                        SelectHandEffect selectHandEffect = GManager.instance.GetComponent<SelectHandEffect>();
-
-                        selectHandEffect.SetUp(
-                            selectPlayer: card.Owner,
-                            canTargetCondition: CanSelectCardCondition,
-                            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 place on bottom of digivolution cards.",
-                            "The opponent is selecting 1 card to place on bottom of digivolution cards.");
-                        selectHandEffect.SetUpCustomMessage_ShowCard("Digivolution Card");
-
-                        yield return StartCoroutine(selectHandEffect.Activate());
-                        
-                        IEnumerator SelectCardCoroutine(CardSource cardSource)
-                        {
-                            selectedCard = cardSource;
+                        selectedCard = cardSource;
 
-                            yield return null;
-                        }
+                        yield return null;
+                    }
 
-                        if (selectedCard != null)
+                    if (selectedCard != null)
+                    {
+                        if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                         {
-                            if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
-                            {
-                                yield return ContinuousController.instance.StartCoroutine(card.PermanentOfThisCard().AddDigivolutionCardsBottom(
-                                    new List<CardSource> {  selectedCard },
-                                    activateClass));
-                            }
+                            yield return ContinuousController.instance.StartCoroutine(card.PermanentOfThisCard().AddDigivolutionCardsBottom(
+                                new List<CardSource> { selectedCard },
+                                activateClass));
+                        }
 
-                            List<ICardEffect> candidateEffects = selectedCard.EffectList_ForCard(EffectTiming.OnEnterFieldAnyone, card)
-                                    .Clone()
-                                    .Filter(cardEffect => cardEffect != null && cardEffect is ActivateICardEffect && !cardEffect.IsSecurityEffect && cardEffect.IsOnPlay);
+                        List<ICardEffect> candidateEffects = selectedCard.EffectList_ForCard(EffectTiming.OnEnterFieldAnyone, card)
+                                .Clone()
+                                .Filter(cardEffect => cardEffect != null && cardEffect is ActivateICardEffect && !cardEffect.IsSecurityEffect && cardEffect.IsOnPlay);
 
-                            if (candidateEffects.Count >= 1)
-                            {
-                                yield return ContinuousController.instance.StartCoroutine(
-                                    new DrawClass(card.Owner, 1, activateClass).Draw());
-                            }
+                        if (candidateEffects.Count >= 1)
+                        {
+                            yield return ContinuousController.instance.StartCoroutine(
+                                new DrawClass(card.Owner, 1, activateClass).Draw());
                         }
                     }
                 }
@@ -155,12 +150,13 @@ namespace DCGO.CardEffects.P
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.CanTriggerWhenDigivolving(hashtable, card);
+                    return CardEffectCommons.IsExistOnBattleAreaDigimon(card) &&
+                           CardEffectCommons.CanTriggerWhenDigivolving(hashtable, card);
                 }
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    if (CardEffectCommons.IsExistOnBattleArea(card))
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                     {
                         if(CardEffectCommons.HasMatchConditionOwnersHand(card, CanSelectCardCondition))
                         {
@@ -173,61 +169,56 @@ namespace DCGO.CardEffects.P
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 {
-                    if (CardEffectCommons.IsExistOnBattleArea(card))
+                    CardSource selectedCard = null;
+                    int maxCount = Math.Min(1, card.Owner.HandCards.Count((cardSource) => CanSelectCardCondition(cardSource)));
+
+                    SelectHandEffect selectHandEffect = GManager.instance.GetComponent<SelectHandEffect>();
+
+                    selectHandEffect.SetUp(
+                        selectPlayer: card.Owner,
+                        canTargetCondition: CanSelectCardCondition,
+                        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 place on bottom of digivolution cards.",
+                        "The opponent is selecting 1 card to place on bottom of digivolution cards.");
+                    selectHandEffect.SetUpCustomMessage_ShowCard("Digivolution Card");
+
+                    yield return StartCoroutine(selectHandEffect.Activate());
+
+                    IEnumerator SelectCardCoroutine(CardSource cardSource)
                     {
-                        yield return ContinuousController.instance.StartCoroutine(GManager.instance.userSelectionManager.WaitForEndSelect());
-                        
-                        CardSource selectedCard = null;
-                        int maxCount = Math.Min(1, card.Owner.HandCards.Count((cardSource) => CanSelectCardCondition(cardSource)));
-
-                        SelectHandEffect selectHandEffect = GManager.instance.GetComponent<SelectHandEffect>();
-
-                        selectHandEffect.SetUp(
-                            selectPlayer: card.Owner,
-                            canTargetCondition: CanSelectCardCondition,
-                            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 place on bottom of digivolution cards.",
-                            "The opponent is selecting 1 card to place on bottom of digivolution cards.");
-                        selectHandEffect.SetUpCustomMessage_ShowCard("Digivolution Card");
-
-                        yield return StartCoroutine(selectHandEffect.Activate());
-                        
-                        IEnumerator SelectCardCoroutine(CardSource cardSource)
-                        {
-                            selectedCard = cardSource;
+                        selectedCard = cardSource;
 
-                            yield return null;
-                        }
+                        yield return null;
+                    }
 
-                        if (selectedCard != null)
+                    if (selectedCard != null)
+                    {
+                        if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                         {
-                            if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
-                            {
-                                yield return ContinuousController.instance.StartCoroutine(card.PermanentOfThisCard().AddDigivolutionCardsBottom(
-                                    new List<CardSource> {  selectedCard },
-                                    activateClass));
-                            }
+                            yield return ContinuousController.instance.StartCoroutine(card.PermanentOfThisCard().AddDigivolutionCardsBottom(
+                                new List<CardSource> { selectedCard },
+                                activateClass));
+                        }
 
-                            List<ICardEffect> candidateEffects = selectedCard.EffectList_ForCard(EffectTiming.OnEnterFieldAnyone, card)
-                                    .Clone()
-                                    .Filter(cardEffect => cardEffect != null && cardEffect is ActivateICardEffect && !cardEffect.IsSecurityEffect && cardEffect.IsOnPlay);
+                        List<ICardEffect> candidateEffects = selectedCard.EffectList_ForCard(EffectTiming.OnEnterFieldAnyone, card)
+                                .Clone()
+                                .Filter(cardEffect => cardEffect != null && cardEffect is ActivateICardEffect && !cardEffect.IsSecurityEffect && cardEffect.IsOnPlay);
 
-                            if (candidateEffects.Count >= 1)
-                            {
-                                yield return ContinuousController.instance.StartCoroutine(
-                                    new DrawClass(card.Owner, 1, activateClass).Draw());
-                            }
+                        if (candidateEffects.Count >= 1)
+                        {
+                            yield return ContinuousController.instance.StartCoroutine(
+                                new DrawClass(card.Owner, 1, activateClass).Draw());
                         }
                     }
                 }

+ 88 - 91
Assets/CardEffect/P/Yellow/SelfDeleteFamiliar_P_165_token.cs

@@ -1,123 +1,120 @@
 using System.Collections;
 using System.Collections.Generic;
 
-namespace DCGO.CardEffects.P
+public class SelfDeleteFamiliar_P_165_token : CEntity_Effect
 {
-    public class SelfDeleteFamiliar_P_165_token : CEntity_Effect
+    public override List<ICardEffect> CardEffects(EffectTiming timing, CardSource card)
     {
-        public override List<ICardEffect> CardEffects(EffectTiming timing, CardSource card)
-        {
-            List<ICardEffect> cardEffects = new List<ICardEffect>();
+        List<ICardEffect> cardEffects = new List<ICardEffect>();
+
+        #region On Deletion
 
-            #region On Deletion
+        if (timing == EffectTiming.OnDestroyedAnyone)
+        {
+            ActivateClass activateClass = new ActivateClass();
+            activateClass.SetUpICardEffect("DP -3000", CanUseCondition, card);
+            activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDescription());
+            cardEffects.Add(activateClass);
 
-            if (timing == EffectTiming.OnDestroyedAnyone)
+            string EffectDescription()
             {
-                ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("DP -3000", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDescription());
-                cardEffects.Add(activateClass);
+                return "[On Deletion] 1 of your opponent's Digimon gets -3000 DP for the turn.";
+            }
 
-                string EffectDescription()
-                {
-                    return "[On Deletion] 1 of your opponent's Digimon gets -3000 DP for the turn.";
-                }
+            bool CanSelectPermanentCondition(Permanent permanent)
+            {
+                return CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card);
+            }
 
-                bool CanSelectPermanentCondition(Permanent permanent)
-                {
-                    return CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card);
-                }
+            bool CanUseCondition(Hashtable hashtable)
+            {
+                return CardEffectCommons.CanTriggerOnDeletion(hashtable, card);
+            }
 
-                bool CanUseCondition(Hashtable hashtable)
-                {
-                    return CardEffectCommons.CanTriggerOnDeletion(hashtable, card);
-                }
-                
-                bool CanActivateCondition(Hashtable hashtable)
-                {
-                    return CardEffectCommons.HasMatchConditionPermanent(CanSelectPermanentCondition);
-                }
+            bool CanActivateCondition(Hashtable hashtable)
+            {
+                return CardEffectCommons.HasMatchConditionPermanent(CanSelectPermanentCondition);
+            }
 
-                IEnumerator ActivateCoroutine(Hashtable hashtable)
+            IEnumerator ActivateCoroutine(Hashtable hashtable)
+            {
+                if (CardEffectCommons.HasMatchConditionPermanent(CanSelectPermanentCondition))
                 {
-                    if (CardEffectCommons.HasMatchConditionPermanent(CanSelectPermanentCondition))
+                    SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
+
+                    selectPermanentEffect.SetUp(
+                        selectPlayer: card.Owner,
+                        canTargetCondition: CanSelectPermanentCondition,
+                        canTargetCondition_ByPreSelecetedList: null,
+                        canEndSelectCondition: null,
+                        maxCount: 1,
+                        canNoSelect: false,
+                        canEndNotMax: false,
+                        selectPermanentCoroutine: SelectPermanentCoroutine,
+                        afterSelectPermanentCoroutine: null,
+                        mode: SelectPermanentEffect.Mode.Custom,
+                        cardEffect: activateClass);
+
+                    yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
+
+                    IEnumerator SelectPermanentCoroutine(Permanent permanent)
                     {
-                        SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
-
-                        selectPermanentEffect.SetUp(
-                            selectPlayer: card.Owner,
-                            canTargetCondition: CanSelectPermanentCondition,
-                            canTargetCondition_ByPreSelecetedList: null,
-                            canEndSelectCondition: null,
-                            maxCount: 1,
-                            canNoSelect: false,
-                            canEndNotMax: false,
-                            selectPermanentCoroutine: SelectPermanentCoroutine,
-                            afterSelectPermanentCoroutine: null,
-                            mode: SelectPermanentEffect.Mode.Custom,
-                            cardEffect: activateClass);
-
-                        yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
-
-                        IEnumerator SelectPermanentCoroutine(Permanent permanent)
-                        {
-                            yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.ChangeDigimonDP(
-                                targetPermanent: permanent,
-                                changeValue: -3000,
-                                effectDuration: EffectDuration.UntilEachTurnEnd,
-                                activateClass: activateClass));
-                        }
+                        yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.ChangeDigimonDP(
+                            targetPermanent: permanent,
+                            changeValue: -3000,
+                            effectDuration: EffectDuration.UntilEachTurnEnd,
+                            activateClass: activateClass));
                     }
                 }
             }
+        }
 
-            #endregion
-            
-            #region End of Opponents Turn
+        #endregion
 
-            if (timing == EffectTiming.OnEndTurn)
-            {
-                ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("Delete this Digimon.", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDescription());
-                cardEffects.Add(activateClass);
+        #region End of Opponents Turn
 
-                string EffectDescription()
-                {
-                    return "[End of Opponent's Turn] Delete this Digimon.";
-                }
+        if (timing == EffectTiming.OnEndTurn)
+        {
+            ActivateClass activateClass = new ActivateClass();
+            activateClass.SetUpICardEffect("Delete this Digimon.", CanUseCondition, card);
+            activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDescription());
+            cardEffects.Add(activateClass);
+
+            string EffectDescription()
+            {
+                return "[End of Opponent's Turn] Delete this Digimon.";
+            }
 
-                bool CanUseCondition(Hashtable hashtable)
+            bool CanUseCondition(Hashtable hashtable)
+            {
+                if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                 {
-                    if (CardEffectCommons.IsExistOnBattleArea(card))
+                    if (CardEffectCommons.IsOpponentTurn(card))
                     {
-                        if (CardEffectCommons.IsOpponentTurn(card))
-                        {
-                            return true;
-                        }
+                        return true;
                     }
-
-                    return false;
                 }
 
-                bool CanActivateCondition(Hashtable hashtable)
-                {
-                    return CardEffectCommons.IsExistOnBattleArea(card);
-                }
+                return false;
+            }
 
-                IEnumerator ActivateCoroutine(Hashtable _hashtable)
-                {
-                    yield return ContinuousController.instance.StartCoroutine(
-                        new DestroyPermanentsClass(
-                            new List<Permanent>() { card.PermanentOfThisCard() },
-                            CardEffectCommons.CardEffectHashtable(activateClass)
-                        ).Destroy());
-                }
+            bool CanActivateCondition(Hashtable hashtable)
+            {
+                return CardEffectCommons.IsExistOnBattleAreaDigimon(card);
             }
-            
-            #endregion
 
-            return cardEffects;
+            IEnumerator ActivateCoroutine(Hashtable _hashtable)
+            {
+                yield return ContinuousController.instance.StartCoroutine(
+                    new DestroyPermanentsClass(
+                        new List<Permanent>() { card.PermanentOfThisCard() },
+                        CardEffectCommons.CardEffectHashtable(activateClass)
+                    ).Destroy());
+            }
         }
+
+        #endregion
+
+        return cardEffects;
     }
 }

+ 3 - 2
Assets/Editor/Fixing Scripts/AdjustSetSpecificCardIndex.cs

@@ -10,7 +10,7 @@ namespace DCGO.Tools.Repair
         [MenuItem("Window/DCGO/Repair/Fix Entity Card Index")]
         static void FixEntityCardIndex()
         {
-            int startingIndex = 3977;
+            int startingIndex = 10352;
             int adjustment = 0;
             string path = "Assets/CardBaseEntity/";
 
@@ -20,7 +20,8 @@ namespace DCGO.Tools.Repair
             Debug.Log($"ASSET PATH: {path}");
 
             List<CEntity_Base> List = GetAsset.LoadAll<CEntity_Base>(path)
-                .OrderBy(x => x.name.Substring(x.name.LastIndexOf("-")+1, 2)).ToList();
+                .OrderBy(x => x.name.Substring(x.name.LastIndexOf("-")+1, 2)).ToList()
+                .Filter(x => x.CardIndex >= startingIndex);
 
             foreach (CEntity_Base card in List)
             {