Ver código fonte

fixes for 1.8.07

mbunch_kascope 1 ano atrás
pai
commit
2f18570a69

+ 2 - 2
Assets/CardBaseEntity/EX2/Black/Digimon/EX2_038.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:eeedb593c049dbbb7f5a9cfdf2aea69452b16114f930b0beecf9accde971e1bd
-size 2326
+oid sha256:57323366c4bd14f677455d10373fca409ab97691ddb2408f54fb56a68cbc2f41
+size 2331

+ 2 - 2
Assets/CardBaseEntity/EX2/Black/Digimon/EX2_038_P1.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:7da677fe9d52dd3d51bcb7b2e431383594072d7c072ba17245beeb7bcbfca956
-size 2332
+oid sha256:88f73c0480e92a48e852c364bddea7733af7de1192a1384385ef0a0c3875d928
+size 2337

+ 53 - 32
Assets/CardEffect/P/Black/P_179.cs

@@ -57,12 +57,16 @@ namespace DCGO.CardEffects.P
                     => cardSource.IsOption && cardSource.HasDeviceTraits;
 
                 bool CanUseCondition(Hashtable hashtable)
-                    => CardEffectCommons.IsExistOnBattleAreaDigimon(card) &&
-                       CardEffectCommons.CanTriggerWhenDigivolving(hashtable, card);
+                {
+                    return CardEffectCommons.IsExistOnBattleAreaDigimon(card) &&
+                           CardEffectCommons.CanTriggerWhenDigivolving(hashtable, card);
+                }
 
                 bool CanActivateCondition(Hashtable hashtable)
-                    => CardEffectCommons.IsExistOnBattleAreaDigimon(card)
-                    && (CardEffectCommons.HasMatchConditionOwnersHand(card, CanSelectOption) || CardEffectCommons.HasMatchConditionOwnersCardInTrash(card, CanSelectOption));
+                {
+                    return CardEffectCommons.IsExistOnBattleAreaDigimon(card) &&
+                           (CardEffectCommons.HasMatchConditionOwnersHand(card, CanSelectOption) || CardEffectCommons.HasMatchConditionOwnersCardInTrash(card, CanSelectOption));
+                }
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 {
@@ -94,24 +98,49 @@ namespace DCGO.CardEffects.P
                         root = optionInHand ? SelectCardEffect.Root.Hand : SelectCardEffect.Root.Trash;
                     }
 
-                    SelectCardEffect selectCardEffect = GManager.instance.GetComponent<SelectCardEffect>();
-                    selectCardEffect.SetUp(
-                        canTargetCondition: CanSelectOption,
-                        canTargetCondition_ByPreSelecetedList: null,
-                        canEndSelectCondition: null,
-                        canNoSelect: () => true,
-                        selectCardCoroutine: SelectCardCoroutine,
-                        afterSelectCardCoroutine: null,
-                        message: "Select Device to play",
-                        maxCount: 1,
-                        canEndNotMax: true,
-                        isShowOpponent: true,
-                        mode: SelectCardEffect.Mode.Custom,
-                        root: root,
-                        customRootCardList: null,
-                        canLookReverseCard: true,
-                        selectPlayer: card.Owner,
-                        cardEffect: activateClass);
+                    if(root == SelectCardEffect.Root.Hand)
+                    {
+                        SelectHandEffect selectHandEffect = GManager.instance.GetComponent<SelectHandEffect>();
+
+                        selectHandEffect.SetUp(
+                            selectPlayer: card.Owner,
+                            canTargetCondition: CanSelectOption,
+                            canTargetCondition_ByPreSelecetedList: null,
+                            canEndSelectCondition: null,
+                            maxCount: 1,
+                            canNoSelect: false,
+                            canEndNotMax: false,
+                            isShowOpponent: true,
+                            selectCardCoroutine: SelectCardCoroutine,
+                            afterSelectCardCoroutine: null,
+                            mode: SelectHandEffect.Mode.Custom,
+                            cardEffect: activateClass);
+
+                        yield return ContinuousController.instance.StartCoroutine(selectHandEffect.Activate());
+                    }
+                    else
+                    {
+                        SelectCardEffect selectCardEffect = GManager.instance.GetComponent<SelectCardEffect>();
+                        selectCardEffect.SetUp(
+                            canTargetCondition: CanSelectOption,
+                            canTargetCondition_ByPreSelecetedList: null,
+                            canEndSelectCondition: null,
+                            canNoSelect: () => false,
+                            selectCardCoroutine: SelectCardCoroutine,
+                            afterSelectCardCoroutine: null,
+                            message: "Select Device to play",
+                            maxCount: 1,
+                            canEndNotMax: false,
+                            isShowOpponent: true,
+                            mode: SelectCardEffect.Mode.Custom,
+                            root: SelectCardEffect.Root.Trash,
+                            customRootCardList: null,
+                            canLookReverseCard: true,
+                            selectPlayer: card.Owner,
+                            cardEffect: activateClass);
+
+                        yield return ContinuousController.instance.StartCoroutine(selectCardEffect.Activate());
+                    }
 
                     IEnumerator SelectCardCoroutine(CardSource cardSource)
                     {
@@ -119,17 +148,9 @@ namespace DCGO.CardEffects.P
                         yield return null;
                     }
 
-                    yield return ContinuousController.instance.StartCoroutine(selectCardEffect.Activate());
-
                     if (selectedDevice != null)
                     {
-                        yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.PlayPermanentCards(
-                            cardSources: new List<CardSource> { selectedDevice },
-                            activateClass: activateClass,
-                            payCost: false,
-                            isTapped: false,
-                            root: SelectCardEffect.Root.Trash,
-                            activateETB: true));
+                        yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.PlaceDelayOptionCards(card: selectedDevice, cardEffect: activateClass));
 
                         ChangeBaseDPClass changeDPClass = new ChangeBaseDPClass();
                         changeDPClass.SetUpICardEffect("+3000 DP", (hashtable) => true, card);
@@ -153,7 +174,7 @@ namespace DCGO.CardEffects.P
                 => permanent.TopCard.IsOption && permanent.TopCard.HasDeviceTraits;
 
             bool CanSelectPermanentDigimonCondition(Permanent permanent)
-                => CardEffectCommons.IsPermanentExistsOnBattleAreaDigimon(permanent)
+                => CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card)
                 && permanent.TopCard.HasPlayCost
                 && permanent.TopCard.GetCostItself <= 9;
 

+ 19 - 8
Assets/CardEffect/P/Green/P_181.cs

@@ -1,3 +1,4 @@
+using Mono.Cecil;
 using System.Collections;
 using System.Collections.Generic;
 
@@ -23,16 +24,25 @@ namespace DCGO.CardEffects.P
                 string EffectDiscription()
                     => "[Security] [Your Turn] [Once Per Turn] When any of your Digimon would digivolve into a Digimon card with the [Royal Base] trait, reduce the digivolution cost by 1.";
                 bool CanUseCondition(Hashtable hashtable)
-                    => CardEffectCommons.IsExistInSecurity(card, false)
-                    && CardEffectCommons.IsOwnerTurn(card)
-                    && CardEffectCommons.CanTriggerWhenPermanentDigivolving(hashtable, DigivolveCondition);
+                {
+                    UnityEngine.Debug.Log($"CAN USE: {CardEffectCommons.IsExistInSecurity(card, false)}, {CardEffectCommons.IsOwnerTurn(card)}, {CardEffectCommons.CanTriggerWhenPermanentWouldDigivolve(hashtable, DigivolveTargetCondition, DigivolveCondition)}");
+                    return CardEffectCommons.IsExistInSecurity(card, false) &&
+                           CardEffectCommons.IsOwnerTurn(card) &&
+                           CardEffectCommons.CanTriggerWhenPermanentWouldDigivolve(hashtable, DigivolveTargetCondition, DigivolveCondition);
+                }
 
                 bool CanActivateCondition(Hashtable hashtable)
-                    => CardEffectCommons.IsExistInSecurity(card, false);
+                {
+                    UnityEngine.Debug.Log($"CAN ACTIVATE: {CardEffectCommons.IsExistInSecurity(card, false)}");
+                    return CardEffectCommons.IsExistInSecurity(card, false);
+                }
+
+                bool DigivolveTargetCondition(Permanent permanent)
+                    => CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card);
 
-                bool DigivolveCondition(Permanent permanent)
-                    => CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card)
-                    && permanent.TopCard.HasRoyalBaseTraits;
+                bool DigivolveCondition(CardSource source)
+                    => source.IsDigimon
+                    && source.HasRoyalBaseTraits;
 
                 IEnumerator ActivateCoroutine(Hashtable _hashtable)
                 {
@@ -65,7 +75,8 @@ namespace DCGO.CardEffects.P
                     {
                         if (cardSource != null)
                         {
-                            return cardSource.Owner == card.Owner;
+                            return cardSource.Owner == card.Owner &&
+                                   cardSource.HasRoyalBaseTraits; 
                         }
 
                         return false;