mbunch_kascope 10 місяців тому
батько
коміт
1800bb5809
29 змінених файлів з 147 додано та 288 видалено
  1. 2 2
      Assets/CardBaseEntity/BT23/Green/DigiEgg/BT23_002.asset
  2. 1 1
      Assets/CardEffect/BT23/Black/BT23_049.cs
  3. 1 1
      Assets/CardEffect/BT23/Black/BT23_050.cs
  4. 1 1
      Assets/CardEffect/BT23/Black/BT23_052.cs
  5. 2 2
      Assets/CardEffect/BT23/Black/BT23_055.cs
  6. 3 3
      Assets/CardEffect/BT23/Black/BT23_059.cs
  7. 1 1
      Assets/CardEffect/BT23/Black/BT23_060.cs
  8. 7 2
      Assets/CardEffect/BT23/Black/BT23_085.cs
  9. 9 4
      Assets/CardEffect/BT23/Black/BT23_086.cs
  10. 1 1
      Assets/CardEffect/BT23/Black/BT23_096.cs
  11. 0 1
      Assets/CardEffect/BT23/Blue/BT23_021.cs
  12. 2 159
      Assets/CardEffect/BT23/Blue/BT23_025.cs
  13. 1 1
      Assets/CardEffect/BT23/Green/BT23_040.cs
  14. 1 1
      Assets/CardEffect/BT23/Red/BT23_009.cs
  15. 1 1
      Assets/CardEffect/BT23/Red/BT23_010.cs
  16. 1 1
      Assets/CardEffect/BT23/Red/BT23_048.cs
  17. 6 1
      Assets/CardEffect/BT23/White/BT23_072.cs
  18. 1 1
      Assets/CardEffect/BT23/White/BT23_074.cs
  19. 2 2
      Assets/CardEffect/BT23/White/BT23_076.cs
  20. 1 2
      Assets/CardEffect/BT23/White/BT23_077.cs
  21. 2 1
      Assets/CardEffect/BT23/White/BT23_090.cs
  22. 1 1
      Assets/CardEffect/BT23/White/BT23_099.cs
  23. 1 1
      Assets/CardEffect/BT23/Yellow/BT23_033.cs
  24. 1 1
      Assets/CardEffect/BT23/Yellow/BT23_036.cs
  25. 1 1
      Assets/CardEffect/BT23/Yellow/BT23_102.cs
  26. 1 1
      Assets/CardEffect/P/Green/P_208.cs
  27. 3 1
      Assets/CardEffect/P/White/P_206.cs
  28. 1 1
      Assets/CardEffect/P/Yellow/P_207.cs
  29. 92 92
      Assets/Scenes/Opening.unity

+ 2 - 2
Assets/CardBaseEntity/BT23/Green/DigiEgg/BT23_002.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:293a1411fe330ffa5d20815624f8ee5fda8b27a42e240c1dd61d123626fcace7
-size 1139
+oid sha256:9f053ad471d0f270177005c01687589f15f8e8723b5d1ce48c680de9ccdbc6c4
+size 1145

+ 1 - 1
Assets/CardEffect/BT23/Black/BT23_049.cs

@@ -43,7 +43,7 @@ namespace DCGO.CardEffects.BT23
                 bool CanSelectCardCondition(CardSource cardSource)
                 {
                     return cardSource.EqualsTraits("Dragonkin") ||
-                           cardSource.EqualsTraits("Cybrog") ||
+                           cardSource.EqualsTraits("Cyborg") ||
                            cardSource.HasDeviceTraits ||
                            cardSource.HasCSTraits;
                 }

+ 1 - 1
Assets/CardEffect/BT23/Black/BT23_050.cs

@@ -20,7 +20,7 @@ namespace DCGO.CardEffects.BT23
                 bool PermanentCondition(Permanent targetPermanent)
                 {
                     return targetPermanent.TopCard.EqualsCardName("Armadillomon") ||
-                           (targetPermanent.TopCard.IsLevel5 &&
+                           (targetPermanent.TopCard.IsLevel3 &&
                            targetPermanent.TopCard.HasCSTraits);
                 }
 

+ 1 - 1
Assets/CardEffect/BT23/Black/BT23_052.cs

@@ -20,7 +20,7 @@ namespace DCGO.CardEffects.BT23
                     return targetPermanent.TopCard.HasAppmonTraits;
                 }
 
-                cardEffects.Add(CardEffectFactory.AddSelfLinkConditionStaticEffect(permanentCondition: PermanentCondition, linkCost: 1, card: card));
+                cardEffects.Add(CardEffectFactory.AddSelfLinkConditionStaticEffect(permanentCondition: PermanentCondition, linkCost: 2, card: card));
             }
 
             #endregion

+ 2 - 2
Assets/CardEffect/BT23/Black/BT23_055.cs

@@ -104,7 +104,7 @@ namespace DCGO.CardEffects.BT23
             #endregion
 
             #region All Turns - OPT
-            if (timing == EffectTiming.OnRemovedField)
+            if (timing == EffectTiming.WhenRemoveField)
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("By trashing 1 of your Option cards, protect this digimon", CanUseCondition, card);
@@ -184,7 +184,7 @@ namespace DCGO.CardEffects.BT23
             #endregion
 
             #region All Turns - OPT - ESS
-            if (timing == EffectTiming.OnRemovedField)
+            if (timing == EffectTiming.WhenRemoveField)
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("By trashing 1 of your Option cards, protect this digimon", CanUseCondition, card);

+ 3 - 3
Assets/CardEffect/BT23/Black/BT23_059.cs

@@ -142,7 +142,7 @@ namespace DCGO.CardEffects.BT23
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("By trashing 1 option card, delete 1 Digimon", CanUseCondition, card);
-                activateClass.SetUpActivateClass(SharedCanActivateCondition, hash => SharedActivateCoroutine(hash, activateClass), 1, false, SharedEffectDiscription("On Play"));
+                activateClass.SetUpActivateClass(SharedCanActivateCondition, hash => SharedActivateCoroutine(hash, activateClass), 1, true, SharedEffectDiscription("On Play"));
                 activateClass.SetHashString("OPWDWA_BT23-059");
                 cardEffects.Add(activateClass);
 
@@ -159,7 +159,7 @@ namespace DCGO.CardEffects.BT23
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("By trashing 1 option card, delete 1 Digimon", CanUseCondition, card);
-                activateClass.SetUpActivateClass(SharedCanActivateCondition, hash => SharedActivateCoroutine(hash, activateClass), 1, false, SharedEffectDiscription("When Digivolving"));
+                activateClass.SetUpActivateClass(SharedCanActivateCondition, hash => SharedActivateCoroutine(hash, activateClass), 1, true, SharedEffectDiscription("When Digivolving"));
                 activateClass.SetHashString("OPWDWA_BT23-059");
                 cardEffects.Add(activateClass);
 
@@ -176,7 +176,7 @@ namespace DCGO.CardEffects.BT23
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("By trashing 1 option card, delete 1 Digimon", CanUseCondition, card);
-                activateClass.SetUpActivateClass(SharedCanActivateCondition, hash => SharedActivateCoroutine(hash, activateClass), 1, false, SharedEffectDiscription("When Attacking"));
+                activateClass.SetUpActivateClass(SharedCanActivateCondition, hash => SharedActivateCoroutine(hash, activateClass), 1, true, SharedEffectDiscription("When Attacking"));
                 activateClass.SetHashString("OPWDWA_BT23-059");
                 cardEffects.Add(activateClass);
 

+ 1 - 1
Assets/CardEffect/BT23/Black/BT23_060.cs

@@ -22,7 +22,7 @@ namespace DCGO.CardEffects.BT23
                 }
 
                 cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(
-                    permanentCondition: PermanentCondition, digivolutionCost: 4, ignoreDigivolutionRequirement: false,
+                    permanentCondition: PermanentCondition, digivolutionCost: 3, ignoreDigivolutionRequirement: false,
                     card: card, condition: null));
             }
 

+ 7 - 2
Assets/CardEffect/BT23/Black/BT23_085.cs

@@ -58,7 +58,7 @@ namespace DCGO.CardEffects.BT23
             if (timing == EffectTiming.OnEnterFieldAnyone)
             {
                 ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("Opponent's effects can't reduce a DS digimon's DP or de-digivolve it", CanUseCondition, card);
+                activateClass.SetUpICardEffect("Opponent's effects can't reduce DP, and gain <Reboot> and <Blocker>", CanUseCondition, card);
                 activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDescription());
                 cardEffects.Add(activateClass);
 
@@ -160,7 +160,7 @@ namespace DCGO.CardEffects.BT23
             if (timing == EffectTiming.OnTappedAnyone)
             {
                 ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("By suspending this tamer, -3K DP 1 digimon", CanUseCondition, card);
+                activateClass.SetUpICardEffect("By suspending this tamer, use 1 option card", CanUseCondition, card);
                 activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
                 cardEffects.Add(activateClass);
 
@@ -197,6 +197,11 @@ namespace DCGO.CardEffects.BT23
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 {
+                    yield return ContinuousController.instance.StartCoroutine(new SuspendPermanentsClass(
+                        permanents: new List<Permanent>() { card.PermanentOfThisCard() },
+                        hashtable: hashtable).Tap()
+                    );
+
                     if (card.Owner.HandCards.Count(CanSelectOptionCard) >= 1 && CardEffectCommons.IsOwnerTurn(card))
                     {
                         List<CardSource> selectedCards = new List<CardSource>();

+ 9 - 4
Assets/CardEffect/BT23/Black/BT23_086.cs

@@ -76,8 +76,8 @@ namespace DCGO.CardEffects.BT23
                             new SelectionElement<bool>(message: $"From trash", value : false, spriteIndex: 1),
                         };
 
-                            string selectPlayerMessage = "From which area do you play a card?";
-                            string notSelectPlayerMessage = "The opponent is choosing from which area to play a card.";
+                            string selectPlayerMessage = "From which area do you select a card?";
+                            string notSelectPlayerMessage = "The opponent is choosing from which area to select a card.";
 
                             GManager.instance.userSelectionManager.SetBoolSelection(selectionElements: selectionElements, selectPlayer: card.Owner, selectPlayerMessage: selectPlayerMessage, notSelectPlayerMessage: notSelectPlayerMessage);
                         }
@@ -125,7 +125,7 @@ namespace DCGO.CardEffects.BT23
                                 canNoSelect: () => true,
                                 selectCardCoroutine: SelectCardCoroutine,
                                 afterSelectCardCoroutine: null,
-                                message: "Select 1 card to play.",
+                                message: "Select 1 card to add face up in security.",
                                 maxCount: 1,
                                 canEndNotMax: false,
                                 isShowOpponent: true,
@@ -192,11 +192,16 @@ namespace DCGO.CardEffects.BT23
                 {
                     return CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card) &&
                            permanent.TopCard.HasLevel && permanent.TopCard.IsLevel6 &&
-                           (permanent.TopCard.EqualsTraits("Machine") && permanent.TopCard.EqualsTraits("Zaxon"));
+                           (permanent.TopCard.EqualsTraits("Machine") || permanent.TopCard.EqualsTraits("Zaxon"));
                 }
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 {
+                    yield return ContinuousController.instance.StartCoroutine(new SuspendPermanentsClass(
+                        permanents: new List<Permanent>() { card.PermanentOfThisCard() },
+                        hashtable: hashtable).Tap()
+                    );
+
                     if (CardEffectCommons.HasMatchConditionPermanent(PermanentCondition))
                     {
                         Permanent selectedPermanent = null;

+ 1 - 1
Assets/CardEffect/BT23/Black/BT23_096.cs

@@ -78,7 +78,7 @@ namespace DCGO.CardEffects.BT23
                         mode: SelectPermanentEffect.Mode.Custom,
                         cardEffect: activateClass);
 
-                    selectPermanentEffect.SetUpCustomMessage("Select 1 digimon to delete", "Your opponent is choosing 1 digimon to delete");
+                    selectPermanentEffect.SetUpCustomMessage("Select 1 digimon to de-digivolve", "Your opponent is choosing 1 digimon to de-digivolve");
                     yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
 
                     IEnumerator SelectPermanentCoroutine(Permanent permanent)

+ 0 - 1
Assets/CardEffect/BT23/Blue/BT23_021.cs

@@ -314,7 +314,6 @@ namespace DCGO.CardEffects.BT23
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Gain immunity from battle", CanUseCondition, card);
                 activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, false, EffectDiscription());
-                activateClass.SetIsLinkedEffect(true);
                 activateClass.SetHashString("BT23_021_WL");
                 cardEffects.Add(activateClass);
 

+ 2 - 159
Assets/CardEffect/BT23/Blue/BT23_025.cs

@@ -258,167 +258,10 @@ namespace DCGO.CardEffects.BT23
 
             #endregion
 
-            #region Security
+            #region Security Effect
             if (timing == EffectTiming.SecuritySkill)
             {
-                // Ugh, I don't like doing this, but I think in order to delete the digimon played after the security battle, I have to be able to
-                // activate the deletion effect from within the ActivateCoroutine of the function.  Instead of calling CardEffectFactory.PlaySelfDigimonAfterBattleSecurityEffect,
-                // I need to copy the code from that function here, then modify the necessary sections...
-                ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("Play this card at the end of the battle", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
-                activateClass.SetIsSecurityEffect(true);
-
-                string EffectDiscription()
-                {
-                    return "[Security] At the end of the battle, play this card without paying its memory cost.";
-                }
-
-                bool CanUseCondition(Hashtable hashtable)
-                {
-                    return CardEffectCommons.CanTriggerSecurityEffect(hashtable, card);
-                }
-
-                bool CanActivateCondition(Hashtable hashtable)
-                {
-                    if (CardEffectCommons.IsExistOnExecutingArea(card))
-                    {
-                        return true;
-                    }
-
-                    return false;
-                }
-
-                IEnumerator ActivateCoroutine(Hashtable _hashtable)
-                {
-                    yield return null;
-
-                    ContinuousController.instance.PlaySE(GManager.instance.GetComponent<Effects>().BuffSE);
-
-                    ActivateClass activateClass1 = new ActivateClass();
-                    activateClass1.SetUpICardEffect("Play this card", CanUseCondition1, card);
-                    activateClass1.SetUpActivateClass(CanActivateCondition1, ActivateCoroutine1, -1, false, EffectDiscription1());
-                    card.Owner.UntilEndBattleEffects.Add(GetCardEffect1);
-
-                    string EffectDiscription1()
-                    {
-                        return "Play this card without paying its memory cost.";
-                    }
-
-                    bool CanUseCondition1(Hashtable hashtable)
-                    {
-                        return true;
-                    }
-
-                    bool CanActivateCondition1(Hashtable hashtable)
-                    {
-                        if (CardEffectCommons.CanPlayAsNewPermanent(cardSource: card, payCost: false, cardEffect: activateClass1, root: SelectCardEffect.Root.Security))
-                        {
-                            if (!card.Owner.LibraryCards.Contains(card) && !card.Owner.SecurityCards.Contains(card))
-                            {
-                                return true;
-                            }
-                        }
-
-                        return false;
-                    }
-
-                    ICardEffect GetCardEffect1(EffectTiming _timing)
-                    {
-                        if (_timing == EffectTiming.OnEndBattle)
-                        {
-                            return activateClass1;
-                        }
-
-                        return null;
-                    }
-
-                    IEnumerator ActivateCoroutine1(Hashtable _hashtable1)
-                    {
-                        if (CardEffectCommons.CanPlayAsNewPermanent(cardSource: card, payCost: false, cardEffect: activateClass1, root: SelectCardEffect.Root.Security))
-                        {
-                            if (!card.Owner.LibraryCards.Contains(card) && !card.Owner.SecurityCards.Contains(card))
-                            {
-                                yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.PlayPermanentCards(
-                                    cardSources: new List<CardSource>() { card },
-                                    activateClass: activateClass1,
-                                    payCost: false,
-                                    isTapped: false,
-                                    root: SelectCardEffect.Root.Security,
-                                    activateETB: true));
-
-                                #region Delete Played Digimon
-                                Permanent selectedPermanent = card.PermanentOfThisCard();
-
-                                ActivateClass activateClassDeleteSelf = new ActivateClass();
-                                activateClassDeleteSelf.SetUpICardEffect("Delete this Digimon", CanUseDeleteSelfCondition, selectedPermanent.TopCard);
-                                activateClassDeleteSelf.SetUpActivateClass(CanActivateDeleteSelfCondition, ActivateDeleteSelfCoroutine, -1, false, EffectDiscription2());
-                                activateClassDeleteSelf.SetEffectSourcePermanent(selectedPermanent);
-                                selectedPermanent.UntilOwnerTurnEndEffects.Add(GetDeleteSelfCardEffect);
-
-                                if (!selectedPermanent.TopCard.CanNotBeAffected(activateClass1))
-                                {
-                                    yield return ContinuousController.instance.StartCoroutine(GManager.instance.GetComponent<Effects>().CreateDebuffEffect(selectedPermanent));
-                                }
-
-                                string EffectDiscription2()
-                                {
-                                    return "[End of Your Turn] Delete this Digimon.";
-                                }
-
-                                bool CanUseDeleteSelfCondition(Hashtable hashtable2)
-                                {
-                                    if (CardEffectCommons.IsOpponentTurn(card))
-                                    {
-                                        if (CardEffectCommons.IsPermanentExistsOnOwnerBattleArea(selectedPermanent, selectedPermanent.TopCard))
-                                        {
-                                            if (CardEffectCommons.CanTriggerOnEndAttack(hashtable2, selectedPermanent.TopCard))
-                                            {
-                                                return true;
-                                            }
-                                        }
-                                    }
-
-                                    return false;
-                                }
-
-                                bool CanActivateDeleteSelfCondition(Hashtable hashtable2)
-                                {
-                                    if (CardEffectCommons.IsPermanentExistsOnBattleArea(selectedPermanent))
-                                    {
-                                        if (!selectedPermanent.TopCard.CanNotBeAffected(activateClass1))
-                                        {
-                                            return true;
-                                        }
-                                    }
-
-                                    return false;
-                                }
-
-                                IEnumerator ActivateDeleteSelfCoroutine(Hashtable _hashtable2)
-                                {
-                                    if (CardEffectCommons.IsPermanentExistsOnBattleArea(selectedPermanent))
-                                    {
-                                        yield return ContinuousController.instance.StartCoroutine(new DestroyPermanentsClass(
-                                        new List<Permanent>() { selectedPermanent },
-                                        CardEffectCommons.CardEffectHashtable(activateClassDeleteSelf)).Destroy());
-                                    }
-                                }
-
-                                ICardEffect GetDeleteSelfCardEffect(EffectTiming _timing)
-                                {
-                                    if (_timing == EffectTiming.OnEndTurn)
-                                    {
-                                        return activateClassDeleteSelf;
-                                    }
-
-                                    return null;
-                                }
-                                #endregion
-                            }
-                        }
-                    }                    
-                }
+                cardEffects.Add(CardEffectFactory.PlaySelfDigimonAfterBattleSecurityEffect(card: card));
             }
             #endregion
 

+ 1 - 1
Assets/CardEffect/BT23/Green/BT23_040.cs

@@ -38,7 +38,7 @@ namespace DCGO.CardEffects.BT23
             if (timing == EffectTiming.OnStartMainPhase)
             {
                 ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("By placing 1 [Erika Mishima] as bottom digivolution card, this digimon may digiolve", CanUseCondition, card);
+                activateClass.SetUpICardEffect("By placing 1 [Erika Mishima] as bottom digivolution card, this digimon may digivolve", CanUseCondition, card);
                 activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
                 cardEffects.Add(activateClass);
 

+ 1 - 1
Assets/CardEffect/BT23/Red/BT23_009.cs

@@ -128,7 +128,7 @@ namespace DCGO.CardEffects.BT23
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("This digimon may attack a player", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, true, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, false, EffectDiscription());
                 activateClass.SetIsLinkedEffect(true);
                 activateClass.SetHashString("BT23-009_OET");
                 cardEffects.Add(activateClass);

+ 1 - 1
Assets/CardEffect/BT23/Red/BT23_010.cs

@@ -55,7 +55,7 @@ namespace DCGO.CardEffects.BT23
 
             if (timing == EffectTiming.None)
             {
-                cardEffects.Add(CardEffectFactory.BlockerSelfStaticEffect(isInheritedEffect: false, card: card, condition: null));
+                cardEffects.Add(CardEffectFactory.BlockerSelfStaticEffect(isInheritedEffect: true, card: card, condition: null));
             }
 
             #endregion

+ 1 - 1
Assets/CardEffect/BT23/Red/BT23_048.cs

@@ -53,7 +53,7 @@ namespace DCGO.CardEffects.BT23
                 bool CanSelectCardCondition1(CardSource cardSource)
                 {
                     return cardSource.HasCSTraits
-                        && cardSource.IsTamer || cardSource.IsOption;
+                        && (cardSource.IsTamer || cardSource.IsOption);
                 }
 
                 bool CanUseCondition(Hashtable hashtable)

+ 6 - 1
Assets/CardEffect/BT23/White/BT23_072.cs

@@ -60,7 +60,7 @@ namespace DCGO.CardEffects.BT23
             if (timing == EffectTiming.OnEnterFieldAnyone)
             { 
                 ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("<Draw 1> and gain 1 memory", CanUseCondition, card);
+                activateClass.SetUpICardEffect("Gain <Rush>, <Raid>, <Reboot> and <Blocker>", CanUseCondition, card);
                 activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDescription());
                 cardEffects.Add(activateClass);
 
@@ -89,6 +89,11 @@ namespace DCGO.CardEffects.BT23
 
                 IEnumerator ActivateCoroutine(Hashtable _hashtable)
                 {
+                    yield return ContinuousController.instance.StartCoroutine(new SuspendPermanentsClass(
+                        permanents: new List<Permanent>() { card.PermanentOfThisCard() },
+                        hashtable: _hashtable).Tap()
+                    );
+
                     List<Permanent> playedPermanents = new List<Permanent>();
                     List<Hashtable> hashtables = CardEffectCommons.GetHashtablesFromHashtable(_hashtable);
 

+ 1 - 1
Assets/CardEffect/BT23/White/BT23_074.cs

@@ -208,7 +208,7 @@ namespace DCGO.CardEffects.BT23
                         canEndSelectCondition: null,
                         maxCount: maxCount,
                         canNoSelect: true,
-                        canEndNotMax: false,
+                        canEndNotMax: true,
                         isShowOpponent: true,
                         selectCardCoroutine: null,
                         afterSelectCardCoroutine: AfterSelectCardCoroutine,

+ 2 - 2
Assets/CardEffect/BT23/White/BT23_076.cs

@@ -16,13 +16,13 @@ namespace DCGO.CardEffects.BT23
             if (timing == EffectTiming.OnEnterFieldAnyone)
             {
                 ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("By adding your top security, you may place 1 digimon face up in security", CanUseCondition, card);
+                activateClass.SetUpICardEffect("Add your top security, <Recovery +1 (Deck)>", CanUseCondition, card);
                 activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDescription());
                 cardEffects.Add(activateClass);
 
                 string EffectDescription()
                 {
-                    return "[On Play] Add your top security card to the hand. Then, <Recovery +1 (Deck)";
+                    return "[On Play] Add your top security card to the hand. Then, <Recovery +1 (Deck)>";
                 }
 
                 bool CanUseCondition(Hashtable hashtable)

+ 1 - 2
Assets/CardEffect/BT23/White/BT23_077.cs

@@ -103,7 +103,7 @@ namespace DCGO.CardEffects.BT23
             if (timing == EffectTiming.OnTappedAnyone)
             {
                 ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("1 of your other Digimon digivolves without paying the cost", CanUseCondition, card);
+                activateClass.SetUpICardEffect("<De-Digivolve 1> 1 of your opponent's Digimon", CanUseCondition, card);
                 activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDescription());
                 cardEffects.Add(activateClass);
 
@@ -120,7 +120,6 @@ namespace DCGO.CardEffects.BT23
                 bool CanUseCondition(Hashtable hashtable)
                 {
                     return CardEffectCommons.IsExistOnBattleAreaDigimon(card) &&
-                           CardEffectCommons.IsOwnerTurn(card) &&
                            CardEffectCommons.CanTriggerWhenSelfPermanentSuspends(hashtable, card);
                 }
 

+ 2 - 1
Assets/CardEffect/BT23/White/BT23_090.cs

@@ -74,7 +74,8 @@ namespace DCGO.CardEffects.BT23
                 {
                     return CardEffectCommons.IsExistOnBattleArea(card)
                         && CardEffectCommons.IsOwnerTurn(card)
-                        && CardEffectCommons.CanActivateSuspendCostEffect(card);
+                        && CardEffectCommons.CanActivateSuspendCostEffect(card) &&
+                           CardEffectCommons.HasMatchConditionPermanent(PermanentCondition);
                 }
 
                 bool PermanentCondition(Permanent permanent)

+ 1 - 1
Assets/CardEffect/BT23/White/BT23_099.cs

@@ -2,7 +2,7 @@
 using System.Collections.Generic;
 using System.Linq;
 
-namespace DCGO.CardEffects
+namespace DCGO.CardEffects.BT23
 {
     public class BT23_099 : CEntity_Effect
     {

+ 1 - 1
Assets/CardEffect/BT23/Yellow/BT23_033.cs

@@ -245,7 +245,7 @@ namespace DCGO.CardEffects.BT23
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("If 5 or less security, <Recovery +1(Deck)>. then -1k DP for each security card", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, true, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, false, EffectDiscription());
                 activateClass.SetHashString("BT23_033_YT");
                 cardEffects.Add(activateClass);
 

+ 1 - 1
Assets/CardEffect/BT23/Yellow/BT23_036.cs

@@ -19,7 +19,7 @@ namespace DCGO.CardEffects.BT23
                 bool PermanentCondition(Permanent targetPermanent)
                 {
                     return targetPermanent.TopCard.IsLevel5
-                        && targetPermanent.TopCard.ContainsCardName("Leomon") || targetPermanent.TopCard.HasCSTraits;
+                        && (targetPermanent.TopCard.ContainsCardName("Leomon") || targetPermanent.TopCard.HasCSTraits);
                 }
 
                 cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(

+ 1 - 1
Assets/CardEffect/BT23/Yellow/BT23_102.cs

@@ -181,7 +181,7 @@ namespace DCGO.CardEffects.BT23
                 {
                     return cardSource.IsDigimon
                         && cardSource.HasLevel && cardSource.Level <= 5
-                        && cardSource.CardColors.Contains(CardColor.Yellow) || cardSource.CardColors.Contains(CardColor.Purple)
+                        && (cardSource.CardColors.Contains(CardColor.Yellow) || cardSource.CardColors.Contains(CardColor.Purple))
                         && CardEffectCommons.CanPlayAsNewPermanent(cardSource, false, activateClass);
                 }
 

+ 1 - 1
Assets/CardEffect/P/Green/P_208.cs

@@ -41,7 +41,7 @@ namespace DCGO.CardEffects.P
             {
                 return cardSource.IsDigimon
                     && cardSource.HasLevel && cardSource.Level <= 4
-                    && cardSource.HasAvianBeastAnimalTraits || cardSource.HasTSTraits
+                    && (cardSource.HasAvianBeastAnimalTraits || cardSource.HasTSTraits)
                     && CardEffectCommons.CanPlayAsNewPermanent(cardSource, false, activateClass);
             }
 

+ 3 - 1
Assets/CardEffect/P/White/P_206.cs

@@ -109,7 +109,9 @@ namespace DCGO.CardEffects.P
 
                 bool CanSelectCardCondition(CardSource cardSource)
                 {
-                    var digimonColours = card.Owner.GetBattleAreaDigimons().SelectMany(digimon => digimon.TopCard.BaseCardColors).Distinct();
+                    var digimonColours = card.Owner.GetFieldPermanents()
+                        .Filter(x => x.IsDigimon)
+                        .SelectMany(digimon => digimon.TopCard.BaseCardColors).Distinct();
 
                     return cardSource.IsTamer
                         && cardSource.BaseCardColors.Exists(x => digimonColours.Contains(x))

+ 1 - 1
Assets/CardEffect/P/Yellow/P_207.cs

@@ -41,7 +41,7 @@ namespace DCGO.CardEffects.P
             {
                 return cardSource.IsDigimon
                     && cardSource.HasLevel && cardSource.Level <= 4
-                    && cardSource.HasAvianBeastAnimalTraits || cardSource.HasTSTraits
+                    && (cardSource.HasAvianBeastAnimalTraits || cardSource.HasTSTraits)
                     && CardEffectCommons.CanPlayAsNewPermanent(cardSource, false, activateClass);
             }
 

+ 92 - 92
Assets/Scenes/Opening.unity

@@ -27504,6 +27504,97 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 570828733}
   m_CullTransparentMesh: 0
+--- !u!21 &571153014
+Material:
+  serializedVersion: 8
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: Shapes2D Material
+  m_Shader: {fileID: 4800000, guid: 44f74e30da9814584b2fdcdbe799e51a, type: 3}
+  m_ValidKeywords:
+  - FILL_SOLID_COLOR
+  - RECTANGLE
+  m_InvalidKeywords:
+  - _EMISSION
+  m_LightmapFlags: 1
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Ints: []
+    m_Floats:
+    - _BumpScale: 1
+    - _ColorMask: 15
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _Shapes2D_DstAlpha: 1
+    - _Shapes2D_DstBlend: 10
+    - _Shapes2D_SrcAlpha: 1
+    - _Shapes2D_SrcBlend: 1
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _Stencil: 0
+    - _StencilComp: 8
+    - _StencilOp: 0
+    - _StencilReadMask: 255
+    - _StencilWriteMask: 255
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+  m_BuildTextureStacks: []
 --- !u!1001 &571901942
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -37415,97 +37506,6 @@ MonoBehaviour:
   m_Spacing: {x: 133.6, y: 0}
   m_Constraint: 2
   m_ConstraintCount: 1
---- !u!21 &830001284
-Material:
-  serializedVersion: 8
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_Name: Shapes2D Material
-  m_Shader: {fileID: 4800000, guid: 44f74e30da9814584b2fdcdbe799e51a, type: 3}
-  m_ValidKeywords:
-  - FILL_SOLID_COLOR
-  - RECTANGLE
-  m_InvalidKeywords:
-  - _EMISSION
-  m_LightmapFlags: 1
-  m_EnableInstancingVariants: 0
-  m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 3000
-  stringTagMap: {}
-  disabledShaderPasses: []
-  m_SavedProperties:
-    serializedVersion: 3
-    m_TexEnvs:
-    - _BumpMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _DetailAlbedoMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _DetailMask:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _DetailNormalMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _EmissionMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _MainTex:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _MetallicGlossMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _OcclusionMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _ParallaxMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    m_Ints: []
-    m_Floats:
-    - _BumpScale: 1
-    - _ColorMask: 15
-    - _Cutoff: 0.5
-    - _DetailNormalMapScale: 1
-    - _DstBlend: 0
-    - _GlossMapScale: 1
-    - _Glossiness: 0.5
-    - _GlossyReflections: 1
-    - _Metallic: 0
-    - _Mode: 0
-    - _OcclusionStrength: 1
-    - _Parallax: 0.02
-    - _Shapes2D_DstAlpha: 1
-    - _Shapes2D_DstBlend: 10
-    - _Shapes2D_SrcAlpha: 1
-    - _Shapes2D_SrcBlend: 1
-    - _SmoothnessTextureChannel: 0
-    - _SpecularHighlights: 1
-    - _SrcBlend: 1
-    - _Stencil: 0
-    - _StencilComp: 8
-    - _StencilOp: 0
-    - _StencilReadMask: 255
-    - _StencilWriteMask: 255
-    - _UVSec: 0
-    - _ZWrite: 1
-    m_Colors:
-    - _Color: {r: 1, g: 1, b: 1, a: 1}
-    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
-  m_BuildTextureStacks: []
 --- !u!1 &832792738
 GameObject:
   m_ObjectHideFlags: 0
@@ -117891,7 +117891,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  m_Material: {fileID: 830001284}
+  m_Material: {fileID: 571153014}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
   m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}