Albert Vasconcellos 2 лет назад
Родитель
Сommit
ded2a59caf

+ 2 - 2
Assets/CardBaseEntity/ST17/Black/Digimon/Magnamon-ST17-13.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:8e0b7ae77906ab6476a76d2c156e104256fc0fdb1ed689d0c4c18a80a62ada12
-size 1732
+oid sha256:742e5087e7dc6f8f2743619e2cc7271bec37b42e9935c494124ee4bb7cf2dfb8
+size 1724

+ 2 - 2
Assets/CardBaseEntity/ST17/Green/Digimon/MegaGargomon-ST17-08_P1.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:2aae0b4eb41097692d8364ce1d745142f707c992758b6947694798d8e348a768
-size 1716
+oid sha256:a07920fbfbf7f56e505785ebc796181f4b1e6e78e1afc110d181f4467176c68b
+size 1712

+ 2 - 2
Assets/CardBaseEntity/ST17/Green/Digimon/Rapidmon-ST17-06.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:3beb9c37ac7c1bd0eb8ffa0c83724490d83405573ea626da30ae04a96634cde2
-size 1715
+oid sha256:97dfbc162e0151894bd58d7b8c1eb980f7f87630030d1231bc37630e85fe6334
+size 1707

+ 2 - 2
Assets/CardBaseEntity/ST17/Green/Digimon/Rapidmon-ST17-06_P1.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:b59543be1b2bd8192037887c474f7e10f5aaa1d4330ad21676221c7f4489c5dc
-size 1721
+oid sha256:d979f7bf4a4e1806ce922f1010a48ef56b5d5405bba47e49f5f3feedcb216b54
+size 1713

+ 2 - 2
Assets/CardBaseEntity/ST17/Green/Digimon/Rapidmon-ST17-07_P1.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:9f004c8d33286d042d0bda715335ce9c6ac7ac962246ce877434707c47c618ea
-size 1937
+oid sha256:9e436dbf0bc40bc88bc3863d306da6d79011e1e35f03d9502779a49634a6e7ed
+size 1933

+ 21 - 3
Assets/CardEffect/ST17/Blue/Magnamon_ST17_13.cs

@@ -113,12 +113,20 @@ namespace DCGO.CardEffects.ST17
 
                     string EffectDiscription1()
                     {
-                        return "Trigger <De-Digivolve 1> on up to 1 of your opponent's Digimon. (Trash a card from the top of one of your opponent's Digimon. If it has no digivolution cards, or becomes a level 3 Digimon, you can't trash any more cards.)";
+                        return "Trigger <De-Digivolve 1> 1 Digimon. (Trash a card from the top of one of your opponent's Digimon. If it has no digivolution cards, or becomes a level 3 Digimon, you can't trash any more cards.)";
                     }
 
                     bool CanSelectPermanentCondition(Permanent permanent)
                     {
-                        return CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card);
+                        if (CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card))
+                        {
+                            return true;
+                        }
+                        if (CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card))
+                        {
+                            return true;
+                        }
+                        return false;
                     }
 
                     bool CanUseCondition1(Hashtable hashtable)
@@ -247,7 +255,7 @@ namespace DCGO.CardEffects.ST17
                 {
                     if (CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card))
                     {
-                        if (permanent.DigivolutionCards.Count((cardSource) => !cardSource.CanNotTrashFromDigivolutionCards(activateClass)) >= 1)
+                        if (permanent.DigivolutionCards.Count(CanSelectCardCondition) >= 1)
                         {
                             return true;
                         }
@@ -256,6 +264,11 @@ namespace DCGO.CardEffects.ST17
                     return false;
                 }
 
+                bool CanSelectCardCondition(CardSource cardSource)
+                {
+                    return !cardSource.CanNotTrashFromDigivolutionCards(activateClass);
+                }
+
                 bool CanSelectPermanentCondition1(Permanent permanent)
                 {
                     if (CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card))
@@ -282,6 +295,11 @@ namespace DCGO.CardEffects.ST17
                         {
                             return true;
                         }
+
+                        if (CardEffectCommons.HasMatchConditionPermanent(CanSelectPermanentCondition1))
+                        {
+                            return true;
+                        }
                     }
 
                     return false;

+ 94 - 96
Assets/CardEffect/ST17/Green/Cherubimon_ST17_09.cs

@@ -74,12 +74,12 @@ namespace DCGO.CardEffects.ST17
 
                     if (CardEffectCommons.IsExistOnHand(cardSource))
                     {
-                        if (cardSource.Level <= 4 && cardSource.CardColors.Contains(CardColor.Purple))
+                        if (cardSource.Level <= 4 && cardSource.CardColors.Contains(CardColor.Purple) && cardSource.IsDigimon)
                         {
                             return true;
                         }
 
-                        if (cardSource.Level <= 4 && cardSource.CardColors.Contains(CardColor.Green))
+                        if (cardSource.Level <= 4 && cardSource.CardColors.Contains(CardColor.Green) && cardSource.IsDigimon)
                         {
                             return true;
                         }
@@ -92,12 +92,12 @@ namespace DCGO.CardEffects.ST17
                 {
                     if (CardEffectCommons.IsExistOnTrash(cardSource))
                     {
-                        if (cardSource.Level <= 4 && cardSource.CardColors.Contains(CardColor.Purple))
+                        if (cardSource.Level <= 4 && cardSource.CardColors.Contains(CardColor.Purple) && cardSource.IsDigimon)
                         {
                             return true;
                         }
 
-                        if (cardSource.Level <= 4 && cardSource.CardColors.Contains(CardColor.Green))
+                        if (cardSource.Level <= 4 && cardSource.CardColors.Contains(CardColor.Green) && cardSource.IsDigimon)
                         {
                             return true;
                         }
@@ -156,118 +156,116 @@ namespace DCGO.CardEffects.ST17
                             {
                                 yield return null;
                             }
-                        }
-
-
+                        }                        
+                    }
 
-                        bool canSelectHand = card.Owner.HandCards.Count(CanSelectCardCondition) >= 1;
-                        bool canSelectTrash = card.Owner.TrashCards.Count(CanSelectCardCondition1) >= 1;
+                    bool canSelectHand = card.Owner.HandCards.Count(CanSelectCardCondition) >= 1;
+                    bool canSelectTrash = card.Owner.TrashCards.Count(CanSelectCardCondition1) >= 1;
 
-                        if (canSelectHand || canSelectTrash)
+                    if (canSelectHand || canSelectTrash)
+                    {
+                        if (canSelectHand && canSelectTrash)
                         {
-                            if (canSelectHand && canSelectTrash)
-                            {
-                                List<SelectionElement<bool>> selectionElements = new List<SelectionElement<bool>>()
+                            List<SelectionElement<bool>> selectionElements = new List<SelectionElement<bool>>()
                         {
                             new SelectionElement<bool>(message: $"From hand", value : true, spriteIndex: 0),
                             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.";
-
-                                GManager.instance.userSelectionManager.SetBoolSelection(selectionElements: selectionElements, selectPlayer: card.Owner, selectPlayerMessage: selectPlayerMessage, notSelectPlayerMessage: notSelectPlayerMessage);
-                            }
+                            string selectPlayerMessage = "From which area do you play a card?";
+                            string notSelectPlayerMessage = "The opponent is choosing from which area to play a card.";
 
-                            else
-                            {
-                                GManager.instance.userSelectionManager.SetBool(canSelectHand);
-                            }
+                            GManager.instance.userSelectionManager.SetBoolSelection(selectionElements: selectionElements, selectPlayer: card.Owner, selectPlayerMessage: selectPlayerMessage, notSelectPlayerMessage: notSelectPlayerMessage);
+                        }
 
-                            yield return ContinuousController.instance.StartCoroutine(GManager.instance.userSelectionManager.WaitForEndSelect());
+                        else
+                        {
+                            GManager.instance.userSelectionManager.SetBool(canSelectHand);
+                        }
 
-                            bool fromHand = GManager.instance.userSelectionManager.SelectedBoolValue;
+                        yield return ContinuousController.instance.StartCoroutine(GManager.instance.userSelectionManager.WaitForEndSelect());
 
-                            List<CardSource> selectedCards = new List<CardSource>();
+                        bool fromHand = GManager.instance.userSelectionManager.SelectedBoolValue;
 
-                            IEnumerator SelectCardCoroutine(CardSource cardSource)
-                            {
-                                selectedCards.Add(cardSource);
+                        List<CardSource> selectedCards = new List<CardSource>();
 
-                                yield return null;
-                            }
+                        IEnumerator SelectCardCoroutine(CardSource cardSource)
+                        {
+                            selectedCards.Add(cardSource);
 
-                            if (fromHand)
-                            {
-                                int maxCount1 = 1;
-
-                                SelectHandEffect selectHandEffect = GManager.instance.GetComponent<SelectHandEffect>();
-
-                                selectHandEffect.SetUp(
-                                    selectPlayer: card.Owner,
-                                    canTargetCondition: CanSelectCardCondition,
-                                    canTargetCondition_ByPreSelecetedList: null,
-                                    canEndSelectCondition: null,
-                                    maxCount: maxCount,
-                                    canNoSelect: true,
-                                    canEndNotMax: false,
-                                    isShowOpponent: true,
-                                    selectCardCoroutine: SelectCardCoroutine,
-                                    afterSelectCardCoroutine: null,
-                                    mode: SelectHandEffect.Mode.Custom,
-                                    cardEffect: activateClass);
-
-                                selectHandEffect.SetUpCustomMessage("Select 1 card to play.", "The opponent is selecting 1 card to play.");
-                                selectHandEffect.SetUpCustomMessage_ShowCard("Played Card");
-
-                                yield return StartCoroutine(selectHandEffect.Activate());
-                            }
+                            yield return null;
+                        }
 
-                            else
-                            {
-                                int maxCount1 = 1;
-
-                                SelectCardEffect selectCardEffect = GManager.instance.GetComponent<SelectCardEffect>();
-
-                                selectCardEffect.SetUp(
-                                            canTargetCondition: CanSelectCardCondition1,
-                                            canTargetCondition_ByPreSelecetedList: null,
-                                            canEndSelectCondition: null,
-                                            canNoSelect: () => true,
-                                            selectCardCoroutine: SelectCardCoroutine,
-                                            afterSelectCardCoroutine: null,
-                                            message: "Select 1 card to play.",
-                                            maxCount: maxCount,
-                                            canEndNotMax: false,
-                                            isShowOpponent: true,
-                                            mode: SelectCardEffect.Mode.Custom,
-                                            root: SelectCardEffect.Root.Custom,
-                                            customRootCardList: card.Owner.TrashCards,
-                                            canLookReverseCard: true,
-                                            selectPlayer: card.Owner,
-                                            cardEffect: activateClass);
-
-                                selectCardEffect.SetUpCustomMessage("Select 1 trash card to play.", "The opponent is selecting 1 trash card to play.");
-                                selectCardEffect.SetUpCustomMessage_ShowCard("Played Card");
-
-                                yield return StartCoroutine(selectCardEffect.Activate());
-                            }
+                        if (fromHand)
+                        {
+                            int maxCount1 = 1;
+
+                            SelectHandEffect selectHandEffect = GManager.instance.GetComponent<SelectHandEffect>();
+
+                            selectHandEffect.SetUp(
+                                selectPlayer: card.Owner,
+                                canTargetCondition: CanSelectCardCondition,
+                                canTargetCondition_ByPreSelecetedList: null,
+                                canEndSelectCondition: null,
+                                maxCount: maxCount1,
+                                canNoSelect: true,
+                                canEndNotMax: false,
+                                isShowOpponent: true,
+                                selectCardCoroutine: SelectCardCoroutine,
+                                afterSelectCardCoroutine: null,
+                                mode: SelectHandEffect.Mode.Custom,
+                                cardEffect: activateClass);
+
+                            selectHandEffect.SetUpCustomMessage("Select 1 card to play.", "The opponent is selecting 1 card to play.");
+                            selectHandEffect.SetUpCustomMessage_ShowCard("Played Card");
+
+                            yield return StartCoroutine(selectHandEffect.Activate());
+                        }
 
-                            SelectCardEffect.Root root = SelectCardEffect.Root.Hand;
+                        else
+                        {
+                            int maxCount1 = 1;
+
+                            SelectCardEffect selectCardEffect = GManager.instance.GetComponent<SelectCardEffect>();
+
+                            selectCardEffect.SetUp(
+                                        canTargetCondition: CanSelectCardCondition1,
+                                        canTargetCondition_ByPreSelecetedList: null,
+                                        canEndSelectCondition: null,
+                                        canNoSelect: () => true,
+                                        selectCardCoroutine: SelectCardCoroutine,
+                                        afterSelectCardCoroutine: null,
+                                        message: "Select 1 card to play.",
+                                        maxCount: maxCount1,
+                                        canEndNotMax: false,
+                                        isShowOpponent: true,
+                                        mode: SelectCardEffect.Mode.Custom,
+                                        root: SelectCardEffect.Root.Custom,
+                                        customRootCardList: card.Owner.TrashCards,
+                                        canLookReverseCard: true,
+                                        selectPlayer: card.Owner,
+                                        cardEffect: activateClass);
+
+                            selectCardEffect.SetUpCustomMessage("Select 1 trash card to play.", "The opponent is selecting 1 trash card to play.");
+                            selectCardEffect.SetUpCustomMessage_ShowCard("Played Card");
+
+                            yield return StartCoroutine(selectCardEffect.Activate());
+                        }
 
-                            if (!fromHand)
-                            {
-                                root = SelectCardEffect.Root.Trash;
-                            }
+                        SelectCardEffect.Root root = SelectCardEffect.Root.Hand;
 
-                            yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.PlayPermanentCards(
-                                cardSources: selectedCards,
-                                activateClass: activateClass,
-                                payCost: false,
-                                isTapped: false,
-                                root: root,
-                                activateETB: true));
+                        if (!fromHand)
+                        {
+                            root = SelectCardEffect.Root.Trash;
                         }
+
+                        yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.PlayPermanentCards(
+                            cardSources: selectedCards,
+                            activateClass: activateClass,
+                            payCost: false,
+                            isTapped: false,
+                            root: root,
+                            activateETB: true));
                     }
                 }
             }

+ 7 - 4
Assets/CardEffect/ST17/Green/DoubleTyphoon_ST17_11.cs

@@ -91,7 +91,7 @@ namespace DCGO.CardEffects.ST17
                     },
                     remainingCardsPlace: RemainingCardsPlace.DeckBottom,
                     activateClass: activateClass,
-                    canNoAction: true));
+                    canNoAction: false));
 
                     IEnumerator SelectCardCoroutine(CardSource cardSource)
                     {
@@ -262,13 +262,16 @@ namespace DCGO.CardEffects.ST17
 
                         yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
                     }
-
-                    cardEffects.Add(CardEffectFactory.PlaceSelfDelayOptionSecurityEffect(card));
                 }
             }
+
+            if (timing == EffectTiming.SecuritySkill)
+            {
+                cardEffects.Add(CardEffectFactory.PlaceSelfDelayOptionSecurityEffect(card));
+            }
             #endregion
 
-            
+
             return cardEffects;
         }
     }

+ 4 - 1
Assets/CardEffect/ST17/Green/Gargomon_ST17_05.cs

@@ -75,7 +75,10 @@ public class Gargomon_ST17_05 : CEntity_Effect
             {
                 if (CardEffectCommons.IsExistOnBattleArea(card))
                 {
-                    return true;
+                    if (CardEffectCommons.IsOwnerTurn(card))
+                    {
+                        return true;
+                    }
                 }
 
                 return false;

+ 10 - 4
Assets/CardEffect/ST17/Green/MegaGargomonAce_ST17_08.cs

@@ -266,7 +266,10 @@ namespace DCGO.CardEffects.ST17
                 {
                     if (CardEffectCommons.IsExistOnBattleArea(card))
                     {
-                        return true;
+                        if (CardEffectCommons.CanTriggerWhenDigivolving(hashtable,card))
+                        {
+                            return true;
+                        }
                     }
 
                     return false;
@@ -326,11 +329,14 @@ namespace DCGO.CardEffects.ST17
                 {
                     if (CardEffectCommons.IsExistOnBattleArea(card))
                     {
-                        if (CardEffectCommons.CanTriggerOnAttack(hashtable, card))
+                        if (CardEffectCommons.IsOwnerTurn(card))
                         {
-                            if (CardEffectCommons.CanUnsuspend(card.PermanentOfThisCard()))
+                            if (CardEffectCommons.CanTriggerOnAttack(hashtable, card))
                             {
-                                return true;
+                                if (CardEffectCommons.CanUnsuspend(card.PermanentOfThisCard()))
+                                {
+                                    return true;
+                                }
                             }
                         }
                     }

+ 2 - 2
Assets/CardEffect/ST17/Green/Rapidmon_ST17_06.cs

@@ -77,7 +77,7 @@ namespace DCGO.CardEffects.ST17
 
                 bool CanSelectPermanentCondition(Permanent permanent)
                 {
-                    return CardEffectCommons.IsPermanentExistsOnOpponentBattleArea(permanent, card);
+                    return CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card);
                 }
 
                 bool CanUseCondition(Hashtable hashtable)
@@ -132,7 +132,7 @@ namespace DCGO.CardEffects.ST17
 
                             yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.ChangeSecurityDigimonCardDPPlayerEffect(
                                 cardCondition: cardSource => cardSource.Owner == card.Owner.Enemy,
-                                changeValue: -2000,
+                                changeValue: -4000,
                                 effectDuration: EffectDuration.UntilOpponentTurnEnd,
                                 activateClass: activateClass));
                         }