Ver código fonte

1.6.1 updates

mbunch_kascope 1 ano atrás
pai
commit
1f304f8b2b
47 arquivos alterados com 357 adições e 303 exclusões
  1. 2 2
      Assets/CardBaseEntity/BT14/Red/Digimon/BT14_007.asset
  2. 2 2
      Assets/CardBaseEntity/BT14/Red/Digimon/BT14_007_P1.asset
  3. 2 2
      Assets/CardBaseEntity/BT16/White/Digimon/BT16_082_P0.asset
  4. 2 2
      Assets/CardBaseEntity/BT16/White/Digimon/BT16_082_P2.asset
  5. 2 2
      Assets/CardBaseEntity/BT16/White/Digimon/BT16_082_P3.asset
  6. 2 2
      Assets/CardBaseEntity/BT16/White/Digimon/BT16_082_P4.asset
  7. 2 2
      Assets/CardBaseEntity/BT16/Yellow/Digimon/BT16_035_P0.asset
  8. 2 2
      Assets/CardBaseEntity/BT17/Blue/Digimon/BT17_025_P0.asset
  9. 2 2
      Assets/CardBaseEntity/EX4/Green/Digimon/EX4_033.asset
  10. 2 2
      Assets/CardBaseEntity/EX4/Green/Digimon/EX4_033_P0.asset
  11. 2 2
      Assets/CardBaseEntity/EX4/Green/Digimon/EX4_033_P1.asset
  12. 2 2
      Assets/CardBaseEntity/EX4/Green/Digimon/EX4_033_P2.asset
  13. 2 2
      Assets/CardBaseEntity/EX4/Green/Digimon/EX4_033_P3.asset
  14. 2 2
      Assets/CardBaseEntity/EX4/Green/Digimon/EX4_033_P4.asset
  15. 2 2
      Assets/CardBaseEntity/EX5/Blue/Digimon/EX5_016.asset
  16. 2 2
      Assets/CardBaseEntity/EX5/Blue/Digimon/EX5_017.asset
  17. 2 2
      Assets/CardBaseEntity/EX5/Blue/Digimon/EX5_018.asset
  18. 2 2
      Assets/CardBaseEntity/EX5/Blue/Digimon/EX5_023.asset
  19. 2 2
      Assets/CardBaseEntity/EX6/Black/Digimon/EX6_042.asset
  20. 2 2
      Assets/CardBaseEntity/P/Black/Digimon/P_101_P1.asset
  21. 2 2
      Assets/CardBaseEntity/P/Black/Digimon/P_101_P2.asset
  22. 2 2
      Assets/CardBaseEntity/P/Black/Digimon/P_101_P3.asset
  23. 1 1
      Assets/CardBaseEntity/P/Blue/Digimon/P_073.asset
  24. 1 1
      Assets/CardBaseEntity/P/Green/Digimon/P_075.asset
  25. 1 1
      Assets/CardBaseEntity/P/Red/Digimon/P_072.asset
  26. 2 2
      Assets/CardBaseEntity/P/White/Digimon/P_123_P2.asset
  27. 2 2
      Assets/CardBaseEntity/P/White/Digimon/P_123_P3.asset
  28. 1 1
      Assets/CardBaseEntity/ST12/White/Digimon/ST12_13.asset
  29. 2 2
      Assets/CardBaseEntity/ST12/White/Digimon/ST12_13_P1.asset
  30. 1 0
      Assets/CardEffect/BT17/Blue/BT17_025.cs
  31. 39 37
      Assets/CardEffect/BT19/Blue/BT19_082.cs
  32. 1 1
      Assets/CardEffect/EX4/Red/EX4_013.cs
  33. 0 0
      Assets/CardEffect/EX4/Red/EX4_013.cs.meta
  34. 27 13
      Assets/CardEffect/EX8/Black/EX8_070.cs
  35. 47 3
      Assets/CardEffect/EX8/Blue/EX8_023.cs
  36. 43 9
      Assets/CardEffect/EX8/Blue/EX8_027.cs
  37. 11 5
      Assets/CardEffect/EX8/Blue/EX8_028.cs
  38. 15 14
      Assets/CardEffect/EX8/Blue/EX8_029.cs
  39. 98 146
      Assets/CardEffect/EX8/Purple/EX8_059.cs
  40. 1 2
      Assets/CardEffect/EX8/Purple/EX8_060.cs
  41. 2 2
      Assets/CardEffect/EX8/Purple/EX8_064.cs
  42. 3 2
      Assets/CardEffect/EX8/Purple/EX8_071.cs
  43. 4 12
      Assets/CardEffect/EX8/Red/EX8_010.cs
  44. 2 2
      Assets/CardEffect/P/Blue/P_164.cs
  45. 1 1
      Assets/CardEffect/P/Blue/P_168.cs
  46. 5 0
      Assets/Scripts/AttackProcess.cs
  47. 3 0
      Assets/Scripts/AutoProcessing.cs

+ 2 - 2
Assets/CardBaseEntity/BT14/Red/Digimon/BT14_007.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:2003fba3be7253d6f7c6a35161913a79e4e98e6f2b9e1a2727e37c931720b5a2
-size 2217
+oid sha256:68562bc9f2daf2ecf818c62fc2f07752d6cac358c7b11454414c2f9633d720d1
+size 2209

+ 2 - 2
Assets/CardBaseEntity/BT14/Red/Digimon/BT14_007_P1.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:6a2e8ffcd7d0135c9667dbebf454cb2776807c4d020148bbece77aef608d69ec
-size 2223
+oid sha256:7c27847f4f8deb82a66887e781e0f9ec912d7bc78fd4aa99cacced6c4f2eaec3
+size 2215

+ 2 - 2
Assets/CardBaseEntity/BT16/White/Digimon/BT16_082_P0.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:035f2bd1bc74c7d7666a6fd6fa7879790a54d413c0ff0fed5e138d7294cd6a22
-size 1585
+oid sha256:bc11266fe57bfd0c5e43fc476a6e5cb6e2555becb636f9a1315b3c3f04cb3c8c
+size 1633

+ 2 - 2
Assets/CardBaseEntity/BT16/White/Digimon/BT16_082_P2.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:d87ca761ac5597084b8ccd713714870497f347522327baf0a54af6f5def572f5
-size 1585
+oid sha256:d990cabb2fa436e04db8e7daed3c38ca205df4260f78e3c8cf3a69ebf1e87390
+size 1633

+ 2 - 2
Assets/CardBaseEntity/BT16/White/Digimon/BT16_082_P3.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:d2b10b5ea18ff0d632579bc642920682caa20fb15d5af3c2f02a770983c37fae
-size 1585
+oid sha256:754d44b6af46c9f2e3557a02b6f45ae9fce938744b11aa62973d6691951207a1
+size 1633

+ 2 - 2
Assets/CardBaseEntity/BT16/White/Digimon/BT16_082_P4.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:cdf938c020eddeafc253cec0a1d1660d52a3d97576166792cae9d3a2a560d9f6
-size 1585
+oid sha256:4989db85d86cfd8ef11d6c5928b147f222dd17bfbb21964722fc2ca05dc2b326
+size 1633

+ 2 - 2
Assets/CardBaseEntity/BT16/Yellow/Digimon/BT16_035_P0.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:c7887305f127b043437d53ff13daabf5f31a6534b079ba15b720917651f25425
-size 1308
+oid sha256:47e67e329069e11532eab7eede73e6e1cf401aca1ab39381016c9c128c7dc563
+size 1318

+ 2 - 2
Assets/CardBaseEntity/BT17/Blue/Digimon/BT17_025_P0.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:3504774b2cca0bc1759f57258c1a09217128fc543bd90046aa412e4ac4bea1a1
-size 1576
+oid sha256:4549f302f9c7ad01eda364d3458ca7f14e97107bd3fb04045ff3ea17634a97da
+size 1592

+ 2 - 2
Assets/CardBaseEntity/EX4/Green/Digimon/EX4_033.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:5579975727a8577141ea389dfdff26874289530b7699f1862064a62cf7380395
-size 2545
+oid sha256:0345f1303663f16798535012c6955b99efcfa9fe00e015fbce6d53c35af784c4
+size 2555

+ 2 - 2
Assets/CardBaseEntity/EX4/Green/Digimon/EX4_033_P0.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:34d21cd82d0cd17535b08f07c9df4a11556090214e3e5480d63bbe54a0032352
-size 1482
+oid sha256:05e9b19b4fd743f095110360232ae3b1057af410f2167e8d536cfe95d2f10035
+size 1431

+ 2 - 2
Assets/CardBaseEntity/EX4/Green/Digimon/EX4_033_P1.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:39d728148b7ff2a641930bcf50d75bda3e3137b037ea52b2c18069f5472a212f
-size 2551
+oid sha256:2c8f5b73cd5f10716fe8aaa7e2a4f34df84730131538cf4b00dddc86ed8d4109
+size 2561

+ 2 - 2
Assets/CardBaseEntity/EX4/Green/Digimon/EX4_033_P2.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:533856e893f556faa067ed4f3bb178dd7542204794d20a77723b3eff28b89062
-size 1334
+oid sha256:af264d0c51e18c4ec0778bbb30dd1ac1a08f73f47ffa4764df3e34e16aac5ed4
+size 1565

+ 2 - 2
Assets/CardBaseEntity/EX4/Green/Digimon/EX4_033_P3.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:ba1f5a50416416c4e1f39881a63db15555c64acd61d85d89fabf6da8f21192df
-size 1482
+oid sha256:16d6eca537c9d452d28aeedd967093996218f3d2ba4be663a1336ef0361ea3fa
+size 1431

+ 2 - 2
Assets/CardBaseEntity/EX4/Green/Digimon/EX4_033_P4.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:2ac57b2bce2334abc462862a35ca883ff5cba7a68eb83fcecacd7f8f0179072e
-size 1482
+oid sha256:1d536ad37738743fa0f18aa323c1f9460f8f64b661cc12aa8d187fe81c520a00
+size 1431

+ 2 - 2
Assets/CardBaseEntity/EX5/Blue/Digimon/EX5_016.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:ec34d69e36a6df0c8b3474e1c4a51abae8a29f6f3ac336d4b0094f1a51a11fd7
-size 2393
+oid sha256:f3657d805ba51a81ed0571a6007e2e47725f1d7c8b47be8672044eb30dce25c3
+size 2390

+ 2 - 2
Assets/CardBaseEntity/EX5/Blue/Digimon/EX5_017.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:e9e6dc87d4e0cc4e96172ccdd20198cd9a4f235ea5d7b3ccbeb757333d0c7eb4
-size 2377
+oid sha256:709e1f4d99bb3dc3493cee3bbfee8f0d08d22784c97e2cccaf23d4607e64e1b9
+size 2374

+ 2 - 2
Assets/CardBaseEntity/EX5/Blue/Digimon/EX5_018.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:1026809c3e815241b3611c31337d2a9b5fcc563ab358b5f507a1442344f52ffc
-size 2688
+oid sha256:0f004a187bbcd58aa2071b8a788aa15c40db9f1e02aeaa702c78cd14dca145a3
+size 2691

+ 2 - 2
Assets/CardBaseEntity/EX5/Blue/Digimon/EX5_023.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:7663e4c90a8144343e795e1658a4fbb9668ae71db18d23dd031068459f434da1
-size 2926
+oid sha256:9b0748ff2eab6d03242966148063833a2266abcc0f0021d903afdd1995b6834c
+size 2929

+ 2 - 2
Assets/CardBaseEntity/EX6/Black/Digimon/EX6_042.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:53f6620b3ade91d214ecc39d61b3c6691d1275dfe3eacd61d4196a921b786e79
-size 1808
+oid sha256:52e41837c4318d62a4e78ead6e6cfd8c00839ab9cbba997c07708c1b35977d0d
+size 1807

+ 2 - 2
Assets/CardBaseEntity/P/Black/Digimon/P_101_P1.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:5b9d92e29de79e42a44f75292deedc1f370fe9916342c662df4707f4c8847490
-size 1318
+oid sha256:904175a0055b10f8fd3cec5fe8dd26d3309016e2db8076761116482ce0c669c2
+size 1329

+ 2 - 2
Assets/CardBaseEntity/P/Black/Digimon/P_101_P2.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:7f54872ce38ea0233b06d0252c0e0c55ecca65c8b0cbee1bb30dc49910989d15
-size 1318
+oid sha256:abd7664bc9f5840b298d1461787b1af6b2a14c999f7d409ff3f71915c6f39124
+size 1329

+ 2 - 2
Assets/CardBaseEntity/P/Black/Digimon/P_101_P3.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:23c0e0b389ccc5e49c8b921b60db0136ae72d2f5c5cbd3205dcead3c17e969dc
-size 1318
+oid sha256:c75db8add6b3271c38871ffbb06683b53b957d3a38e15f0eece3aff7b6b52481
+size 1329

+ 1 - 1
Assets/CardBaseEntity/P/Blue/Digimon/P_073.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:81f97aaffa855ebc114bf54d0ba244c20464ad42cb2ee0afb1895bd691450368
+oid sha256:5f0b75942dcdd0024ffedcbda021f5a5bd8de86b985b7c90392e77e7cbce7770
 size 2538

+ 1 - 1
Assets/CardBaseEntity/P/Green/Digimon/P_075.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:77bcb82b49d6f4e0ccd131638b7a4c4a1f2c7e03ff39eccb9531ab031c56abc9
+oid sha256:a9cf6e809b1130fca034a5d793d7c0ce4395dcb16bbc9c5eb7d611782787820a
 size 2486

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

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:939a5379c19c35cad197fea395546da859ced5ff21c9782abc05294cefcb1778
+oid sha256:e9dfaae59bd1c119354094b0dc5dd64d5e19b24ad967f69b2c4ffb8e20a34c7b
 size 2743

+ 2 - 2
Assets/CardBaseEntity/P/White/Digimon/P_123_P2.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:3476f695ab75fab4226bf4316a98ed5c3b9f99ae7e43d7d6677d443408297158
-size 1448
+oid sha256:5bf0adf083c2b8c096016369c6112ee2fa9b76627c9378e68d277e492bae75ad
+size 1496

+ 2 - 2
Assets/CardBaseEntity/P/White/Digimon/P_123_P3.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:0ea92764772b551f0598329fe0758063d305899594e8f86f3c5d98a346ad173a
-size 1448
+oid sha256:8077452d1218c2f0b0b5ba0ce45650e5a8a9f7be9b4a7d3490059222f5ad3f6f
+size 1496

+ 1 - 1
Assets/CardBaseEntity/ST12/White/Digimon/ST12_13.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:beb2d1c6568d0fa9afb642e5e51e762678751baef2e3e2530b20dffa88bd6af2
+oid sha256:924cf4dfcb782a40e116dd80cd7c3306aa0ea9fd97be287ce0c8e5ed6a41460f
 size 2733

+ 2 - 2
Assets/CardBaseEntity/ST12/White/Digimon/ST12_13_P1.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:c2e94831af749791400fb84127eeb97a12f5c48b00c51cf88b40816249d6c2e4
-size 1376
+oid sha256:1411b68b8f7973d3ad113d045774713fbb39019f0f4509c34ff94b61a21219ef
+size 1386

+ 1 - 0
Assets/CardEffect/BT17/Blue/BT17_025.cs

@@ -285,6 +285,7 @@ namespace DCGO.CardEffects.BT17
                 activateClass.SetUpICardEffect("Return 1 of your opponent's level 3 Digimon to the hand", CanUseCondition, card);
                 activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, false, EffectDescription());
                 activateClass.SetIsInheritedEffect(true);
+                activateClass.SetHashString("Return_BT17-025");
                 cardEffects.Add(activateClass);
 
                 string EffectDescription()

+ 39 - 37
Assets/CardEffect/BT19/Blue/BT19_082.cs

@@ -57,8 +57,7 @@ namespace DCGO.CardEffects.BT19
                 bool CanActivateCondition(Hashtable hashtable)
                 {
                     return CardEffectCommons.IsExistOnBattleArea(card) &&
-                           CardEffectCommons.CanActivateSuspendCostEffect(card) &&
-                           CardEffectCommons.HasMatchConditionOwnersHand(card, CanSelectHandCardCondition);
+                           CardEffectCommons.CanActivateSuspendCostEffect(card);
                 }
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
@@ -67,42 +66,45 @@ namespace DCGO.CardEffects.BT19
                         new SuspendPermanentsClass(new List<Permanent>() { card.PermanentOfThisCard() },
                             CardEffectCommons.CardEffectHashtable(activateClass)).Tap());
 
-                    List<CardSource> selectedCards = new List<CardSource>();
-
-                    SelectHandEffect selectHandEffect = GManager.instance.GetComponent<SelectHandEffect>();
-
-                    selectHandEffect.SetUp(
-                        selectPlayer: card.Owner,
-                        canTargetCondition: CanSelectHandCardCondition,
-                        canTargetCondition_ByPreSelecetedList: null,
-                        canEndSelectCondition: null,
-                        maxCount: 1,
-                        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)
-                    {
-                        selectedCards.Add(cardSource);
-
-                        yield return null;
-                    }
-
-                    if (selectedCards.Count >= 1)
+                    if(CardEffectCommons.HasMatchConditionOwnersHand(card, CanSelectHandCardCondition))
                     {
-                        yield return ContinuousController.instance.StartCoroutine(GManager.instance.attackProcess.AttackingPermanent
-                            .AddDigivolutionCardsBottom(selectedCards, activateClass));
-                    }
+                        List<CardSource> selectedCards = new List<CardSource>();
+
+                        SelectHandEffect selectHandEffect = GManager.instance.GetComponent<SelectHandEffect>();
+
+                        selectHandEffect.SetUp(
+                            selectPlayer: card.Owner,
+                            canTargetCondition: CanSelectHandCardCondition,
+                            canTargetCondition_ByPreSelecetedList: null,
+                            canEndSelectCondition: null,
+                            maxCount: 1,
+                            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)
+                        {
+                            selectedCards.Add(cardSource);
+
+                            yield return null;
+                        }
+
+                        if (selectedCards.Count >= 1)
+                        {
+                            yield return ContinuousController.instance.StartCoroutine(GManager.instance.attackProcess.AttackingPermanent
+                                .AddDigivolutionCardsBottom(selectedCards, activateClass));
+                        }
+                    }                    
                 }
             }
 

+ 1 - 1
Assets/CardEffect/EX4/Red/EX4_01.cs → Assets/CardEffect/EX4/Red/EX4_013.cs

@@ -4,7 +4,7 @@ using System.Collections.Generic;
 
 namespace DCGO.CardEffects.EX4
 {
-    public class EX4_01 : CEntity_Effect
+    public class EX4_013 : CEntity_Effect
     {
         public override List<ICardEffect> CardEffects(EffectTiming timing, CardSource card)
         {

+ 0 - 0
Assets/CardEffect/EX4/Red/EX4_01.cs.meta → Assets/CardEffect/EX4/Red/EX4_013.cs.meta


+ 27 - 13
Assets/CardEffect/EX8/Black/EX8_070.cs

@@ -84,15 +84,7 @@ namespace DCGO.CardEffects.EX8
 
                         bool CardSourceCondition(CardSource cardSource)
                         {
-                            if (PermanentCondition(selectedPermanent))
-                            {
-                                if (cardSource == selectedPermanent.TopCard)
-                                {
-                                    return true;
-                                }
-                            }
-
-                            return false;
+                            return PermanentCondition(selectedPermanent);
                         }
 
                         bool PermanentCondition(Permanent permanent)
@@ -101,7 +93,8 @@ namespace DCGO.CardEffects.EX8
                             {
                                 if (!permanent.TopCard.CanNotBeAffected(activateClass))
                                 {
-                                    return true;
+                                    if(permanent == selectedPermanent)
+                                        return true;
                                 }
                             }
 
@@ -119,14 +112,14 @@ namespace DCGO.CardEffects.EX8
                         }
 
                         yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.GainCanNotReturnToHand(
-                            targetPermanent: card.PermanentOfThisCard(),
+                            targetPermanent: selectedPermanent,
                             cardEffectCondition: CardEffectCondition,
                             effectDuration: EffectDuration.UntilOpponentTurnEnd,
                             activateClass: activateClass,
                             effectName: "Can't return to hand by opponent's effects"));
 
                         yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.GainCanNotReturnToDeck(
-                            targetPermanent: card.PermanentOfThisCard(),
+                            targetPermanent: selectedPermanent,
                             cardEffectCondition: CardEffectCondition,
                             effectDuration: EffectDuration.UntilOpponentTurnEnd,
                             activateClass: activateClass,
@@ -136,7 +129,28 @@ namespace DCGO.CardEffects.EX8
                         {
                             if (_timing == EffectTiming.OnCounterTiming)
                             {
-                                cardEffects.Add(CardEffectFactory.CollisionSelfStaticEffect(false, cardSource, null));
+                                bool CardSourceCondition(CardSource cardSource)
+                                {
+                                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(cardSource))
+                                    {
+                                        if (cardSource == selectedPermanent.TopCard)
+                                        {
+                                            if (PermanentCondition(selectedPermanent))
+                                            {
+                                                return true;
+                                            }
+                                        }
+                                    }
+
+                                    return false;
+                                }
+
+                                bool Condition()
+                                {
+                                    return CardSourceCondition(cardSource);
+                                }
+
+                                cardEffects.Add(CardEffectFactory.CollisionSelfStaticEffect(false, cardSource, Condition));
                             }
 
                             return cardEffects;

+ 47 - 3
Assets/CardEffect/EX8/Blue/EX8_023.cs

@@ -84,6 +84,8 @@ namespace DCGO.CardEffects.EX8
 
                     if (CardEffectCommons.HasMatchConditionPermanent(OpponentsDigimonWithoutSources))
                     {
+                        Permanent selectedPermanent = null;
+
                         SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
 
                         selectPermanentEffect.SetUp(
@@ -107,6 +109,14 @@ namespace DCGO.CardEffects.EX8
                         {
                             Permanent selectedPermanent = permanent;
 
+                            if (permanent != null)
+                                selectedPermanent = permanent;
+
+                            yield return null;
+                        }
+
+                        if (selectedPermanent != null)
+                        {
                             CanNotSuspendClass canNotSuspendClass = new CanNotSuspendClass();
                             canNotSuspendClass.SetUpICardEffect("Can't Suspend", CanUseCondition1, card);
                             canNotSuspendClass.SetUpCanNotSuspendClass(PermanentCondition: PermanentCondition);
@@ -179,7 +189,7 @@ namespace DCGO.CardEffects.EX8
             if (timing == EffectTiming.OnEnterFieldAnyone)
             {
                 ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("Trash any 2 digivolution sources of your opponents digimon. Then Digimon with no sources can unsuspend or activate [When Digivolving] effects", CanUseCondition, card);
+                activateClass.SetUpICardEffect("Trash bottom 2 sources of 1 opponents digimon. Then, 1 of your opponent's Digimon can't suspend or activate [When Digivolving]", CanUseCondition, card);
                 activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
                 cardEffects.Add(activateClass);
 
@@ -229,6 +239,8 @@ namespace DCGO.CardEffects.EX8
 
                     if (CardEffectCommons.HasMatchConditionPermanent(OpponentsDigimonWithoutSources))
                     {
+                        Permanent selectedPermanent = null;
+
                         SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
 
                         selectPermanentEffect.SetUp(
@@ -252,6 +264,14 @@ namespace DCGO.CardEffects.EX8
                         {
                             Permanent selectedPermanent = permanent;
 
+                            if (permanent != null)
+                                selectedPermanent = permanent;
+
+                            yield return null;
+                        }
+
+                        if(selectedPermanent != null)
+                        {
                             CanNotSuspendClass canNotSuspendClass = new CanNotSuspendClass();
                             canNotSuspendClass.SetUpICardEffect("Can't Suspend", CanUseCondition1, card);
                             canNotSuspendClass.SetUpCanNotSuspendClass(PermanentCondition: PermanentCondition);
@@ -329,7 +349,9 @@ namespace DCGO.CardEffects.EX8
                     {
                         if (CardEffectCommons.IsOwnerTurn(card))
                         {
-                            if (!CardEffectCommons.HasMatchConditionOpponentsPermanent(card, (permanent) => permanent.IsDigimon && !permanent.HasNoDigivolutionCards))
+                            if (!CardEffectCommons.HasMatchConditionOpponentsPermanent(card, (permanent) =>
+                                permanent.IsDigimon && !permanent.HasNoDigivolutionCards &&
+                                permanent.TopCard.EqualsTraits("Ice-Snow")))
                             {
                                 return true;
                             }
@@ -339,9 +361,31 @@ namespace DCGO.CardEffects.EX8
                     return false;
                 }
 
-                cardEffects.Add(CardEffectFactory.PierceSelfEffect(isInheritedEffect: true, card: card, condition: Condition));
                 cardEffects.Add(CardEffectFactory.ChangeSelfSAttackStaticEffect(1, true, card, Condition));
             }
+
+            if (timing == EffectTiming.OnSecurityCheck)
+            {
+                bool Condition()
+                {
+                    if (CardEffectCommons.IsExistOnBattleArea(card))
+                    {
+                        if (CardEffectCommons.IsOwnerTurn(card))
+                        {
+                            if (!CardEffectCommons.HasMatchConditionOpponentsPermanent(card, (permanent) =>
+                                permanent.IsDigimon && !permanent.HasNoDigivolutionCards &&
+                                permanent.TopCard.EqualsTraits("Ice-Snow")))
+                            {
+                                return true;
+                            }
+                        }
+                    }
+
+                    return false;
+                }
+
+                cardEffects.Add(CardEffectFactory.PierceSelfEffect(isInheritedEffect: true, card: card, condition: Condition));
+            }
             #endregion
 
             return cardEffects;

+ 43 - 9
Assets/CardEffect/EX8/Blue/EX8_027.cs

@@ -185,6 +185,8 @@ namespace DCGO.CardEffects.EX8
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 {
+                    bool DNADigivolved = false;
+
                     // DNA digivolve
                     if (card.Owner.GetBattleAreaDigimons().Count >= 2)
                     {
@@ -286,20 +288,52 @@ namespace DCGO.CardEffects.EX8
                                                 activateETB: true);
 
                                             playCard.SetJogress(_jogressEvoRootsFrameIDs);
-
+                                            DNADigivolved = true;
                                             yield return ContinuousController.instance.StartCoroutine(playCard.PlayCard());
+                                        }
 
-                                            if (CardEffectCommons.IsExistOnBattleArea(selectedCard))
+                                        if (DNADigivolved)
+                                        {
+                                            List<SelectionElement<bool>> selectionElements = new List<SelectionElement<bool>>()
                                             {
-                                                SelectAttackEffect selectAttackEffect = GManager.instance.GetComponent<SelectAttackEffect>();
+                                                new SelectionElement<bool>(message: $"Yes", value: true, spriteIndex: 0),
+                                                new SelectionElement<bool>(message: $"No", value: false, spriteIndex: 1),
+                                            };
+
+                                            string selectPlayerMessage = "Attack?";
+                                            string notSelectPlayerMessage = "The opponent is choosing effects.";
 
-                                                selectAttackEffect.SetUp(
-                                                    attacker: card.PermanentOfThisCard(),
-                                                    canAttackPlayerCondition: () => true,
-                                                    defenderCondition: (permanent) => true,
-                                                    cardEffect: activateClass);
+                                            GManager.instance.userSelectionManager.SetBoolSelection(
+                                                selectionElements: selectionElements, selectPlayer: card.Owner,
+                                                selectPlayerMessage: selectPlayerMessage,
+                                                notSelectPlayerMessage: notSelectPlayerMessage);
 
-                                                yield return ContinuousController.instance.StartCoroutine(selectAttackEffect.Activate());
+                                            yield return ContinuousController.instance.StartCoroutine(GManager.instance
+                                                .userSelectionManager.WaitForEndSelect());
+
+                                            bool willAttack = GManager.instance.userSelectionManager.SelectedBoolValue;
+
+                                            if (willAttack)
+                                            {
+                                                if (selectedCard.PermanentOfThisCard() != null)
+                                                {
+                                                    if (selectedCard.PermanentOfThisCard().CanAttack(activateClass))
+                                                    {
+                                                        SelectAttackEffect selectAttackEffect =
+                                                            GManager.instance.GetComponent<SelectAttackEffect>();
+
+                                                        selectAttackEffect.SetUp(
+                                                            attacker: selectedCard.PermanentOfThisCard(),
+                                                            canAttackPlayerCondition: () => true,
+                                                            defenderCondition: (permanent) => true,
+                                                            cardEffect: activateClass);
+
+                                                        selectAttackEffect.SetCanNotSelectNotAttack();
+
+                                                        yield return ContinuousController.instance.StartCoroutine(selectAttackEffect
+                                                            .Activate());
+                                                    }
+                                                }
                                             }
                                         }
                                     }

+ 11 - 5
Assets/CardEffect/EX8/Blue/EX8_028.cs

@@ -175,7 +175,7 @@ namespace DCGO.CardEffects.EX8
                 bool CanUseCondition(Hashtable hashtable)
                 {
                     return CardEffectCommons.CanTriggerWhenDigivolving(hashtable, card) &&
-                           CardEffectCommons.IsExistOnBattleAreaDigimon(card);
+                           CardEffectCommons.IsExistOnBattleAreaDigimon(card);                           
                 }
 
                 bool CanActivateCondition(Hashtable hashtable)
@@ -224,12 +224,15 @@ namespace DCGO.CardEffects.EX8
 
                     if (selectedCard != null)
                     {
-                        yield return ContinuousController.instance.StartCoroutine(new IPutSecurityPermanent(
+                        if (!selectedCard.TopCard.CanNotBeAffected(activateClass))
+                        {
+                            yield return ContinuousController.instance.StartCoroutine(new IPutSecurityPermanent(
                                     selectedCard,
                                     CardEffectCommons.CardEffectHashtable(activateClass),
                                     false).PutSecurity());
 
-                        yield return ContinuousController.instance.StartCoroutine(new IUnsuspendPermanents(new List<Permanent>() { card.PermanentOfThisCard() }, activateClass).Unsuspend());
+                            yield return ContinuousController.instance.StartCoroutine(new IUnsuspendPermanents(new List<Permanent>() { card.PermanentOfThisCard() }, activateClass).Unsuspend());
+                        }
                     }
                 }
             }
@@ -315,12 +318,15 @@ namespace DCGO.CardEffects.EX8
 
                     if (selectedCard != null)
                     {
-                        yield return ContinuousController.instance.StartCoroutine(new IPutSecurityPermanent(
+                        if (!selectedCard.TopCard.CanNotBeAffected(activateClass))
+                        {
+                            yield return ContinuousController.instance.StartCoroutine(new IPutSecurityPermanent(
                                     selectedCard,
                                     CardEffectCommons.CardEffectHashtable(activateClass),
                                     false).PutSecurity());
 
-                        yield return ContinuousController.instance.StartCoroutine(new IUnsuspendPermanents(new List<Permanent>() { card.PermanentOfThisCard() }, activateClass).Unsuspend());
+                            yield return ContinuousController.instance.StartCoroutine(new IUnsuspendPermanents(new List<Permanent>() { card.PermanentOfThisCard() }, activateClass).Unsuspend());
+                        }
                     }
                 }
             }

+ 15 - 14
Assets/CardEffect/EX8/Blue/EX8_029.cs

@@ -28,17 +28,16 @@ namespace DCGO.CardEffects.EX8
                 {
                     if (cardSource == card)
                     {
-                        bool PermanentCondition1(Permanent permanent) => (permanent.TopCard.CardColors.Contains(CardColor.Blue) || permanent.TopCard.CardColors.Contains(CardColor.Purple)) &&
-                                                                         permanent.Levels_ForJogress(card).Contains(6);
+                        bool PermanentCondition1(Permanent permanent) => permanent.TopCard.EqualsCardName("Plesiomon");
 
-                        bool PermanentCondition2(Permanent permanent) => (permanent.TopCard.CardColors.Contains(CardColor.Black) || permanent.TopCard.CardColors.Contains(CardColor.Yellow)) &&
-                                                                         permanent.Levels_ForJogress(card).Contains(6);
+                        bool PermanentCondition2(Permanent permanent) => permanent.TopCard.ContainsCardName("Seadramon") &&
+                                                                         permanent.Levels_ForJogress(card).Any(value => value >= 5);
 
                         JogressConditionElement[] elements = new JogressConditionElement[]
                         {
-                        new JogressConditionElement(PermanentCondition1, "a level 6 blue/purple Digimon"),
+                        new JogressConditionElement(PermanentCondition1, "Plesiomon"),
 
-                        new JogressConditionElement(PermanentCondition2, "a level 6 black/yellow Digimon"),
+                        new JogressConditionElement(PermanentCondition2, "a level 5 or higher w/[Seadramon] in name"),
                         };
 
                         JogressCondition jogressCondition = new JogressCondition(elements, 0);
@@ -69,16 +68,17 @@ namespace DCGO.CardEffects.EX8
                 {
                     if (cardSource == card)
                     {
-                        bool PermanentCondition1(Permanent permanent) => permanent.TopCard.EqualsCardName("Plesiomon");
+                        bool PermanentCondition1(Permanent permanent) => (permanent.TopCard.CardColors.Contains(CardColor.Blue) || permanent.TopCard.CardColors.Contains(CardColor.Purple)) &&
+                                                                         permanent.Levels_ForJogress(card).Contains(6);
 
-                        bool PermanentCondition2(Permanent permanent) => permanent.TopCard.ContainsCardName("Seadramon") &&
-                                                                         permanent.Levels_ForJogress(card).Any(value => value >= 5);
+                        bool PermanentCondition2(Permanent permanent) => (permanent.TopCard.CardColors.Contains(CardColor.Black) || permanent.TopCard.CardColors.Contains(CardColor.Yellow)) &&
+                                                                         permanent.Levels_ForJogress(card).Contains(6);
 
                         JogressConditionElement[] elements = new JogressConditionElement[]
                         {
-                        new JogressConditionElement(PermanentCondition1, "Plesiomon"),
+                        new JogressConditionElement(PermanentCondition1, "a level 6 blue/purple Digimon"),
 
-                        new JogressConditionElement(PermanentCondition2, "a level 5 or higher w/[Seadramon] in name"),
+                        new JogressConditionElement(PermanentCondition2, "a level 6 black/yellow Digimon"),
                         };
 
                         JogressCondition jogressCondition = new JogressCondition(elements, 0);
@@ -367,7 +367,7 @@ namespace DCGO.CardEffects.EX8
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    if (CardEffectCommons.IsExistOnBattleArea(card))
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                     {
                         return card.Owner.MemoryForPlayer <= 1;
                     }
@@ -383,13 +383,14 @@ namespace DCGO.CardEffects.EX8
                         {
                             if (cardEffect.EffectSourceCard != null)
                             {
-                                if (CardEffectCommons.IsPermanentExistsOnOpponentBattleArea(cardEffect.EffectSourceCard.PermanentOfThisCard(), card))
+                                if (CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(cardEffect.EffectSourceCard.PermanentOfThisCard(), card))
                                 {
                                     if (!cardEffect.EffectSourceCard.PermanentOfThisCard().TopCard.CanNotBeAffected(invalidationClass))
                                     {
                                         if (cardEffect.IsOnPlay)
                                         {
-                                            return true;
+
+                                            return card.Owner.MemoryForPlayer <= 1;
                                         }
                                     }
                                 }

+ 98 - 146
Assets/CardEffect/EX8/Purple/EX8_059.cs

@@ -140,96 +140,72 @@ namespace DCGO.CardEffects.EX8
 
                                 if (selectedPermanent != null)
                                 {
-                                    if (!selectedPermanent.TopCard.CanNotBeAffected(activateClass))
-                                    {
-                                        yield return ContinuousController.instance.StartCoroutine(GManager.instance
-                                            .GetComponent<Effects>().CreateDebuffEffect(selectedPermanent));
-                                    }
-
-                                    AddSkillClass addSkillClass = new AddSkillClass();
-                                    addSkillClass.SetUpICardEffect("Trash 1 card in your hand", CanUseCondition1, card);
-                                    addSkillClass.SetUpAddSkillClass(cardSourceCondition: CardSourceCondition, getEffects: GetEffects);
+                                    ActivateClass activateClass1 = new ActivateClass();
+                                    activateClass1.SetUpICardEffect("Trash 1 card in your hand.", GivenEffectCanUseCondition, selectedPermanent.TopCard);
+                                    activateClass1.SetUpActivateClass(GivenEffectCanActivateCondition, GivenEffectActivateCoroutine, -1, false, GivenEffectDescription());
+                                    activateClass1.SetEffectSourcePermanent(selectedPermanent);
+                                    selectedPermanent.UntilOwnerTurnEndEffects.Add(GetCardEffect);
 
-                                    selectedPermanent.UntilOwnerTurnEndEffects.Add((_timing) => addSkillClass);
+                                    if (!selectedPermanent.TopCard.CanNotBeAffected(activateClass))
+                                        yield return ContinuousController.instance.StartCoroutine(GManager.instance.GetComponent<Effects>().CreateDebuffEffect(selectedPermanent));
 
-                                    bool CanUseCondition1(Hashtable hashtable)
+                                    string GivenEffectDescription()
                                     {
-                                        return true;
+                                        return "[On Deletion] Trash 1 card in your hand.";
                                     }
 
-                                    bool CardSourceCondition(CardSource cardSource)
+                                    bool GivenEffectCanUseCondition(Hashtable hashtable)
                                     {
-                                        return (cardSource == selectedPermanent.TopCard) &&
-                                               !selectedPermanent.TopCard.CanNotBeAffected(activateClass);
+                                        return CardEffectCommons.CanTriggerOnDeletion(hashtable, selectedPermanent.TopCard);
                                     }
 
-                                    List<ICardEffect> GetEffects(CardSource cardSource, List<ICardEffect> cardEffects, EffectTiming _timing)
+                                    bool GivenEffectCanActivateCondition(Hashtable hashtable1)
                                     {
-
-                                        if (_timing == EffectTiming.OnDestroyedAnyone)
+                                        if (CardEffectCommons.CanActivateOnDeletion(selectedPermanent.TopCard))
                                         {
-                                            ActivateClass activateClass1 = new ActivateClass();
-                                            activateClass1.SetUpICardEffect("Trash 1 card in your hand.", GivenEffectCanUseCondition, cardSource);
-                                            activateClass1.SetUpActivateClass(GivenEffectCanActivateCondition, GivenEffectActivateCoroutine, -1, false, GivenEffectDescription());
-                                            activateClass1.SetEffectSourceCard(cardSource);
-                                            cardEffects.Add(activateClass1);
-
-                                            if (cardSource.PermanentOfThisCard() != null)
-                                            {
-                                                activateClass1.SetEffectSourcePermanent(cardSource.PermanentOfThisCard());
-                                            }
-
-                                            string GivenEffectDescription()
+                                            if (!selectedPermanent.TopCard.CanNotBeAffected(activateClass))
                                             {
-                                                return "[On Deletion] Trash 1 card in your hand.";
+                                                return true;
                                             }
+                                        }
 
-                                            bool GivenEffectCanUseCondition(Hashtable hashtable)
-                                            {
-                                                return CardEffectCommons.CanTriggerOnDeletion(hashtable, cardSource);
-                                            }
+                                        return false;
+                                    }
 
-                                            bool GivenEffectCanActivateCondition(Hashtable hashtable1)
-                                            {
-                                                if (CardEffectCommons.CanActivateOnDeletion(cardSource))
-                                                {
-                                                    if (!cardSource.CanNotBeAffected(activateClass))
-                                                    {
-                                                        return true;
-                                                    }
-                                                }
-
-                                                return false;
-                                            }
+                                    IEnumerator GivenEffectActivateCoroutine(Hashtable _hashtable)
+                                    {
+                                        if (selectedPermanent.TopCard.Owner.HandCards.Count >= 1)
+                                        {
+                                            int discardCount = 1;
+
+                                            SelectHandEffect selectHandEffect = GManager.instance.GetComponent<SelectHandEffect>();
+
+                                            selectHandEffect.SetUp(
+                                                selectPlayer: selectedPermanent.TopCard.Owner,
+                                                canTargetCondition: (cardSource) => true,
+                                                canTargetCondition_ByPreSelecetedList: null,
+                                                canEndSelectCondition: null,
+                                                maxCount: discardCount,
+                                                canNoSelect: false,
+                                                canEndNotMax: false,
+                                                isShowOpponent: true,
+                                                selectCardCoroutine: null,
+                                                afterSelectCardCoroutine: null,
+                                                mode: SelectHandEffect.Mode.Discard,
+                                                cardEffect: activateClass);
+
+                                            yield return StartCoroutine(selectHandEffect.Activate());
+                                        }
+                                    }
 
-                                            IEnumerator GivenEffectActivateCoroutine(Hashtable _hashtable)
-                                            {
-                                                if (cardSource.Owner.HandCards.Count >= 1)
-                                                {
-                                                    int discardCount = 1;
-
-                                                    SelectHandEffect selectHandEffect = GManager.instance.GetComponent<SelectHandEffect>();
-
-                                                    selectHandEffect.SetUp(
-                                                        selectPlayer: cardSource.Owner,
-                                                        canTargetCondition: (cardSource) => true,
-                                                        canTargetCondition_ByPreSelecetedList: null,
-                                                        canEndSelectCondition: null,
-                                                        maxCount: discardCount,
-                                                        canNoSelect: false,
-                                                        canEndNotMax: false,
-                                                        isShowOpponent: true,
-                                                        selectCardCoroutine: null,
-                                                        afterSelectCardCoroutine: null,
-                                                        mode: SelectHandEffect.Mode.Discard,
-                                                        cardEffect: activateClass);
-
-                                                    yield return StartCoroutine(selectHandEffect.Activate());
-                                                }
-                                            }
+                                    ICardEffect GetCardEffect(EffectTiming _timing)
+                                    {
+                                        if (_timing == EffectTiming.OnDestroyedAnyone)
+                                        {
+                                            return activateClass1;
                                         }
 
-                                        return cardEffects;
+                                        return null;
                                     }
                                 }
                             }
@@ -342,96 +318,72 @@ namespace DCGO.CardEffects.EX8
 
                                 if (selectedPermanent != null)
                                 {
-                                    if (!selectedPermanent.TopCard.CanNotBeAffected(activateClass))
-                                    {
-                                        yield return ContinuousController.instance.StartCoroutine(GManager.instance
-                                            .GetComponent<Effects>().CreateDebuffEffect(selectedPermanent));
-                                    }
-
-                                    AddSkillClass addSkillClass = new AddSkillClass();
-                                    addSkillClass.SetUpICardEffect("Trash 1 card in your hand", CanUseCondition1, card);
-                                    addSkillClass.SetUpAddSkillClass(cardSourceCondition: CardSourceCondition, getEffects: GetEffects);
+                                    ActivateClass activateClass1 = new ActivateClass();
+                                    activateClass1.SetUpICardEffect("Trash 1 card in your hand.", GivenEffectCanUseCondition, selectedPermanent.TopCard);
+                                    activateClass1.SetUpActivateClass(GivenEffectCanActivateCondition, GivenEffectActivateCoroutine, -1, false, GivenEffectDescription());
+                                    activateClass1.SetEffectSourcePermanent(selectedPermanent);
+                                    selectedPermanent.UntilOwnerTurnEndEffects.Add(GetCardEffect);
 
-                                    selectedPermanent.UntilOwnerTurnEndEffects.Add((_timing) => addSkillClass);
+                                    if (!selectedPermanent.TopCard.CanNotBeAffected(activateClass))
+                                        yield return ContinuousController.instance.StartCoroutine(GManager.instance.GetComponent<Effects>().CreateDebuffEffect(selectedPermanent));
 
-                                    bool CanUseCondition1(Hashtable hashtable)
+                                    string GivenEffectDescription()
                                     {
-                                        return true;
+                                        return "[On Deletion] Trash 1 card in your hand.";
                                     }
 
-                                    bool CardSourceCondition(CardSource cardSource)
+                                    bool GivenEffectCanUseCondition(Hashtable hashtable)
                                     {
-                                        return (cardSource == selectedPermanent.TopCard) &&
-                                               !selectedPermanent.TopCard.CanNotBeAffected(activateClass);
+                                        return CardEffectCommons.CanTriggerOnDeletion(hashtable, selectedPermanent.TopCard);
                                     }
 
-                                    List<ICardEffect> GetEffects(CardSource cardSource, List<ICardEffect> cardEffects, EffectTiming _timing)
+                                    bool GivenEffectCanActivateCondition(Hashtable hashtable1)
                                     {
-
-                                        if (_timing == EffectTiming.OnDestroyedAnyone)
+                                        if (CardEffectCommons.CanActivateOnDeletion(selectedPermanent.TopCard))
                                         {
-                                            ActivateClass activateClass1 = new ActivateClass();
-                                            activateClass1.SetUpICardEffect("Trash 1 card in your hand.", GivenEffectCanUseCondition, cardSource);
-                                            activateClass1.SetUpActivateClass(GivenEffectCanActivateCondition, GivenEffectActivateCoroutine, -1, false, GivenEffectDescription());
-                                            activateClass1.SetEffectSourceCard(cardSource);
-                                            cardEffects.Add(activateClass1);
-
-                                            if (cardSource.PermanentOfThisCard() != null)
-                                            {
-                                                activateClass1.SetEffectSourcePermanent(cardSource.PermanentOfThisCard());
-                                            }
-
-                                            string GivenEffectDescription()
+                                            if (!selectedPermanent.TopCard.CanNotBeAffected(activateClass))
                                             {
-                                                return "[On Deletion] Trash 1 card in your hand.";
+                                                return true;
                                             }
+                                        }
 
-                                            bool GivenEffectCanUseCondition(Hashtable hashtable)
-                                            {
-                                                return CardEffectCommons.CanTriggerOnDeletion(hashtable, cardSource);
-                                            }
+                                        return false;
+                                    }
 
-                                            bool GivenEffectCanActivateCondition(Hashtable hashtable1)
-                                            {
-                                                if (CardEffectCommons.CanActivateOnDeletion(cardSource))
-                                                {
-                                                    if (!cardSource.CanNotBeAffected(activateClass))
-                                                    {
-                                                        return true;
-                                                    }
-                                                }
-
-                                                return false;
-                                            }
+                                    IEnumerator GivenEffectActivateCoroutine(Hashtable _hashtable)
+                                    {
+                                        if (selectedPermanent.TopCard.Owner.HandCards.Count >= 1)
+                                        {
+                                            int discardCount = 1;
+
+                                            SelectHandEffect selectHandEffect = GManager.instance.GetComponent<SelectHandEffect>();
+
+                                            selectHandEffect.SetUp(
+                                                selectPlayer: selectedPermanent.TopCard.Owner,
+                                                canTargetCondition: (cardSource) => true,
+                                                canTargetCondition_ByPreSelecetedList: null,
+                                                canEndSelectCondition: null,
+                                                maxCount: discardCount,
+                                                canNoSelect: false,
+                                                canEndNotMax: false,
+                                                isShowOpponent: true,
+                                                selectCardCoroutine: null,
+                                                afterSelectCardCoroutine: null,
+                                                mode: SelectHandEffect.Mode.Discard,
+                                                cardEffect: activateClass);
+
+                                            yield return StartCoroutine(selectHandEffect.Activate());
+                                        }
+                                    }
 
-                                            IEnumerator GivenEffectActivateCoroutine(Hashtable _hashtable)
-                                            {
-                                                if (cardSource.Owner.HandCards.Count >= 1)
-                                                {
-                                                    int discardCount = 1;
-
-                                                    SelectHandEffect selectHandEffect = GManager.instance.GetComponent<SelectHandEffect>();
-
-                                                    selectHandEffect.SetUp(
-                                                        selectPlayer: cardSource.Owner,
-                                                        canTargetCondition: (cardSource) => true,
-                                                        canTargetCondition_ByPreSelecetedList: null,
-                                                        canEndSelectCondition: null,
-                                                        maxCount: discardCount,
-                                                        canNoSelect: false,
-                                                        canEndNotMax: false,
-                                                        isShowOpponent: true,
-                                                        selectCardCoroutine: null,
-                                                        afterSelectCardCoroutine: null,
-                                                        mode: SelectHandEffect.Mode.Discard,
-                                                        cardEffect: activateClass);
-
-                                                    yield return StartCoroutine(selectHandEffect.Activate());
-                                                }
-                                            }
+                                    ICardEffect GetCardEffect(EffectTiming _timing)
+                                    {
+                                        if (_timing == EffectTiming.OnDestroyedAnyone)
+                                        {
+                                            return activateClass1;
                                         }
 
-                                        return cardEffects;
+                                        return null;
                                     }
                                 }
                             }

+ 1 - 2
Assets/CardEffect/EX8/Purple/EX8_060.cs

@@ -67,8 +67,7 @@ namespace DCGO.CardEffects.EX8
                 bool CanActivateCondition(Hashtable hashtable)
                 {
                     return CardEffectCommons.IsExistOnBattleAreaDigimon(card) &&
-                           CardEffectCommons.HasMatchConditionOwnersCardInTrash(card, DigimonToPlay) &&
-                           card.Owner.MemoryForPlayer >= 1;
+                           CardEffectCommons.HasMatchConditionOwnersCardInTrash(card, DigimonToPlay);
                 }
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)

+ 2 - 2
Assets/CardEffect/EX8/Purple/EX8_064.cs

@@ -92,8 +92,8 @@ namespace DCGO.CardEffects.EX8
 
                         JogressConditionElement[] elements =
                         {
-                            new(PermanentConditionPurpleBlack, "a level 5 Purple or Black Digimon"),
-                            new(PermanentConditionYellowGreen, "a level 5 Yellow or Green Digimon")
+                            new(PermanentConditionPurpleBlack, "a level 6 Purple or Black Digimon"),
+                            new(PermanentConditionYellowGreen, "a level 6 Yellow or Green Digimon")
                         };
 
                         JogressCondition jogressCondition = new JogressCondition(elements, 0);

+ 3 - 2
Assets/CardEffect/EX8/Purple/EX8_071.cs

@@ -44,12 +44,13 @@ namespace DCGO.CardEffects.EX8
                 bool CanUseCondition(Hashtable hashtable)
                 {
                     return CardEffectCommons.IsExistInSecurity(card, false) &&
-                        CardEffectCommons.HasMatchConditionPermanent(PermanentCondition);
+                           CardEffectCommons.HasMatchConditionPermanent(PermanentCondition);
                 }
 
                 bool PermanentCondition(Permanent permanent)
                 {
-                    return CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card) &&
+                    return card.Owner == permanent.TopCard.Owner &&
+                           CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card) &&
                            permanent.TopCard.HasLevel && permanent.TopCard.Level >= 4 &&
                            permanent.TopCard.EqualsTraits("NSo");
                 }

+ 4 - 12
Assets/CardEffect/EX8/Red/EX8_010.cs

@@ -103,7 +103,7 @@ namespace DCGO.CardEffects.EX8
             #endregion
 
             #region When Digivolving
-            if (timing == EffectTiming.OnEnterFieldAnyone)
+            if (timing == EffectTiming.OnDestroyedAnyone)
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Delete 1 Digimon with 4000 DP or less", CanUseCondition, card);
@@ -112,7 +112,7 @@ namespace DCGO.CardEffects.EX8
 
                 string EffectDiscription()
                 {
-                    return "[When Digivolving] Delete 1 of your opponent's Digimon with 4000 DP or less.";
+                    return "[On Deletion] Delete 1 of your opponent's Digimon with 4000 DP or less.";
                 }
 
                 bool CanSelectPermanentCondition(Permanent permanent)
@@ -130,20 +130,12 @@ namespace DCGO.CardEffects.EX8
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
-                    {
-                        if (CardEffectCommons.CanTriggerWhenDigivolving(hashtable, card))
-                        {
-                            return true;
-                        }
-                    }
-
-                    return false;
+                    return CardEffectCommons.CanTriggerOnDeletion(hashtable, card);
                 }
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
+                    if (CardEffectCommons.CanActivateOnDeletion(card))
                     {
                         if (CardEffectCommons.HasMatchConditionPermanent(CanSelectPermanentCondition))
                         {

+ 2 - 2
Assets/CardEffect/P/Blue/P_164.cs

@@ -27,7 +27,7 @@ namespace DCGO.CardEffects.P
 
                 bool CanSelectCardCondition(CardSource cardSource)
                 {
-                    if (cardSource.HasAquaTraits)
+                    if (cardSource.ContainsTraits("Aqua") || cardSource.ContainsTraits("Sea Animal"))
                     {
                         if (cardSource.HasLevel)
                         {
@@ -134,7 +134,7 @@ namespace DCGO.CardEffects.P
 
                 bool CanSelectCardCondition(CardSource cardSource)
                 {
-                    if (cardSource.HasAquaTraits)
+                    if(cardSource.ContainsTraits("Aqua") || cardSource.ContainsTraits("Sea Animal"))
                     {
                         if (cardSource.HasLevel)
                         {

+ 1 - 1
Assets/CardEffect/P/Blue/P_168.cs

@@ -64,7 +64,7 @@ namespace DCGO.CardEffects.P
                 bool IsValidPermanentToDigivolveCondition(Permanent permanent)
                 {
                     return CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card) &&
-                           (permanent.TopCard.EqualsTraits("Aqua") || permanent.TopCard.EqualsTraits("Sea Animal"));
+                           (permanent.TopCard.ContainsTraits("Aqua") || permanent.TopCard.ContainsTraits("Sea Animal"));
                 }
 
                 bool IsValidCardToDigivolveIntoCondition(CardSource cardSource)

+ 5 - 0
Assets/Scripts/AttackProcess.cs

@@ -12,6 +12,7 @@ public class AttackProcess : MonoBehaviourPunCallbacks
     public Permanent DefendingPermanent { get; private set; } = null;
     public int AttackCount { get; set; } = 0;
     public bool IsAttacking { get; set; } = false;
+    public bool HasDefender { get; set; } = false;
     public bool IsBlocking { get; set; } = false;
     public CardSource SecurityDigimon { get; set; } = null;
     public bool DoSecurityCheck { get; set; } = false;
@@ -23,6 +24,9 @@ public class AttackProcess : MonoBehaviourPunCallbacks
     {
         AttackingPermanent = attackingPermanent;
         DefendingPermanent = defendingPermanent;
+
+        if (defendingPermanent != null)
+            HasDefender = true;
     }
 
     public IEnumerator Attack(Permanent attackingPermanent, Permanent defendingPermanent, ICardEffect attackEffect, bool withoutTap = false, Func<IEnumerator> beforeOnAttackCoroutine = null)
@@ -44,6 +48,7 @@ public class AttackProcess : MonoBehaviourPunCallbacks
         IsBlocking = false;
         SecurityDigimon = null;
         IsAttacking = false;
+        HasDefender = false;
         IsEndAttack = false;
 
         SetAttackerDefender(attackingPermanent, defendingPermanent);

+ 3 - 0
Assets/Scripts/AutoProcessing.cs

@@ -319,6 +319,9 @@ public class AutoProcessing : MonoBehaviourPunCallbacks
 
         if(!GManager.instance.attackProcess.AttackingPermanent.IsDigimon)
             GManager.instance.attackProcess.IsEndAttack = true;
+
+        if(GManager.instance.attackProcess.DefendingPermanent == null && GManager.instance.attackProcess.HasDefender)
+            GManager.instance.attackProcess.IsEndAttack = true;
     }
     #endregion