Explorar o código

Blue Bug Fixes

Yovarni Yearwood %!s(int64=2) %!d(string=hai) anos
pai
achega
ab18cd67c9

+ 1 - 1
Assets/CardEffect/BT16/Blue/Divemon_BT16_023.cs

@@ -124,7 +124,7 @@ namespace DCGO.CardEffects.BT16
                                     canEndNotMax: false,
                                     selectPermanentCoroutine: null,
                                     afterSelectPermanentCoroutine: null,
-                                    mode: SelectPermanentEffect.Mode.Bounce,
+                                    mode: SelectPermanentEffect.Mode.PutLibraryBottom,
                                     cardEffect: activateClass);
                                 
                                 yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());

+ 1 - 1
Assets/CardEffect/BT16/Blue/ExVeemon_BT16_018.cs

@@ -53,7 +53,7 @@ namespace DCGO.CardEffects.BT16
                     break;
                 case EffectTiming.OnEnterFieldAnyone:
                     var activateClass = new ActivateClass();
-                    activateClass.SetUpICardEffect("Select 1 of your Digimon to gain effects", CanUseCondition, card);
+                    activateClass.SetUpICardEffect("Select 1 of your Digimon to gain battle protection", CanUseCondition, card);
                     activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
                     cardEffects.Add(activateClass);
 

+ 15 - 3
Assets/CardEffect/BT16/Blue/GaoGamon_BT16_020.cs

@@ -32,12 +32,13 @@ namespace DCGO.CardEffects.BT16
             }
             #endregion
 
-            #region On Play/When Digivolving
+            #region When Digivolving
             if (timing == EffectTiming.OnEnterFieldAnyone)
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Draw 1 card, then Memory +1", CanUseCondition, card);
                 activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
+                activateClass.SetHashString("GaoGamon_BT16_020_When_Digivolving");
                 cardEffects.Add(activateClass);
 
                 string EffectDiscription()
@@ -55,7 +56,7 @@ namespace DCGO.CardEffects.BT16
                 {
                     if (CardEffectCommons.IsExistOnBattleArea(card))
                     {
-                        if (card.Owner.Enemy.HandCards.Count >= 8 || card.PermanentOfThisCard().DigivolutionCards.Count >= 3)
+                        if (GManager.instance.turnStateMachine.gameContext.Players_ForTurnPlayer.Count(player => player.LibraryCards.Count >= 1) >= 1)
                         {
                             return true;
                         }
@@ -66,7 +67,18 @@ namespace DCGO.CardEffects.BT16
                 
                 IEnumerator ActivateCoroutine(Hashtable _hashtable)
                 {
-                    yield return ContinuousController.instance.StartCoroutine(card.Owner.AddMemory(1, activateClass));
+                    foreach (Player player in GManager.instance.turnStateMachine.gameContext.Players_ForTurnPlayer)
+                    {
+                        if (player.LibraryCards.Count >= 1)
+                        {
+                            yield return ContinuousController.instance.StartCoroutine(new DrawClass(player, 1, activateClass).Draw());
+                        }
+                    }
+                    
+                    if (card.Owner.Enemy.HandCards.Count >= 8 || card.PermanentOfThisCard().DigivolutionCards.Count >= 3)
+                    {
+                        yield return ContinuousController.instance.StartCoroutine(card.Owner.AddMemory(1, activateClass));
+                    }
                 }
             }
             #endregion

+ 2 - 1
Assets/CardEffect/BT16/Blue/Mantaraymon_BT16_022.cs

@@ -59,7 +59,8 @@ namespace DCGO.CardEffects.BT16
 
                 bool CanSelectPermanentDebuffCondition(Permanent permanent)
                 {
-                    return CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card);
+                    return CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card) &&
+                           permanent.DigivolutionCards.Count == 0;
                 }
 
                 bool CanSelectCardCondition(CardSource cardSource)

+ 49 - 15
Assets/CardEffect/BT16/Blue/Togemogumon_BT16_021.cs

@@ -44,7 +44,7 @@ namespace DCGO.CardEffects.BT16
             if (timing == EffectTiming.OnTappedAnyone)
             {
                 ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("Trash digivolution cards & stun 1 Digimon", CanUseCondition, card);
+                activateClass.SetUpICardEffect("Trash 1 digivolution card & stun 1 Digimon", CanUseCondition, card);
                 activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, false, EffectDiscription());
                 cardEffects.Add(activateClass);
                 
@@ -54,7 +54,15 @@ namespace DCGO.CardEffects.BT16
                            "their Digimon. Then, 1 of their Digimon with no digivolution cards can't attack or block until the end of their turn.";
                 }
                 
-                bool CanSelectPermanentCondition(Permanent permanent)
+                bool CanSelectPermanentSourceStripCondition(Permanent permanent)
+                {
+                    
+                    return CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card)
+                           && permanent.DigivolutionCards.Count(cardSource =>
+                               !cardSource.CanNotTrashFromDigivolutionCards(activateClass)) >= 1;
+                }
+                
+                bool CanSelectPermanentStunCondition(Permanent permanent)
                 {
                     if (CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card))
                     {
@@ -92,30 +100,56 @@ namespace DCGO.CardEffects.BT16
 
             IEnumerator ActivateCoroutine(Hashtable _hashtable)
             {
-                if (CardEffectCommons.HasMatchConditionPermanent(CanSelectPermanentCondition))
+                
+                var selectPermanentSourceStripEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
+                
+                selectPermanentSourceStripEffect.SetUp(
+                    selectPlayer: card.Owner,
+                    canTargetCondition: CanSelectPermanentSourceStripCondition,
+                    canTargetCondition_ByPreSelecetedList: null,
+                    canEndSelectCondition: null,
+                    maxCount: 1,
+                    canNoSelect: false,
+                    canEndNotMax: false,
+                    selectPermanentCoroutine: SelectPermanentSourceStripCoroutine,
+                    afterSelectPermanentCoroutine: null,
+                    mode: SelectPermanentEffect.Mode.Custom,
+                    cardEffect: activateClass);
+                
+                selectPermanentSourceStripEffect.SetUpCustomMessage("Select 1 Digimon that will trash digivolution cards.",
+                    "The opponent is selecting 1 Digimon that will trash digivolution cards.");
+                
+                yield return ContinuousController.instance.StartCoroutine(selectPermanentSourceStripEffect.Activate());
+                
+                IEnumerator SelectPermanentSourceStripCoroutine(Permanent permanent)
                 {
-                    int maxCount = Math.Min(1, CardEffectCommons.MatchConditionPermanentCount(CanSelectPermanentCondition));
-
-                    SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
-
-                    selectPermanentEffect.SetUp(
+                    yield return ContinuousController.instance.StartCoroutine(
+                        CardEffectCommons.TrashDigivolutionCardsFromTopOrBottom(targetPermanent: permanent,
+                            trashCount: 1, isFromTop: true, activateClass: activateClass));
+                }
+                
+                if (CardEffectCommons.HasMatchConditionPermanent(CanSelectPermanentStunCondition))
+                {
+                    SelectPermanentEffect selectPermanentStunEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
+                    
+                    selectPermanentStunEffect.SetUp(
                         selectPlayer: card.Owner,
-                        canTargetCondition: CanSelectPermanentCondition,
+                        canTargetCondition: CanSelectPermanentStunCondition,
                         canTargetCondition_ByPreSelecetedList: null,
                         canEndSelectCondition: null,
-                        maxCount: maxCount,
+                        maxCount: 1,
                         canNoSelect: false,
                         canEndNotMax: false,
-                        selectPermanentCoroutine: SelectPermanentCoroutine,
+                        selectPermanentCoroutine: SelectPermanentStunCoroutine,
                         afterSelectPermanentCoroutine: null,
                         mode: SelectPermanentEffect.Mode.Custom,
                         cardEffect: activateClass);
+                    
+                    selectPermanentStunEffect.SetUpCustomMessage("Select 1 Digimon that will get effects.", "The opponent is selecting 1 Digimon that will get effects.");
 
-                    selectPermanentEffect.SetUpCustomMessage("Select 1 Digimon that will get effects.", "The opponent is selecting 1 Digimon that will get effects.");
-
-                    yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
+                    yield return ContinuousController.instance.StartCoroutine(selectPermanentStunEffect.Activate());
 
-                    IEnumerator SelectPermanentCoroutine(Permanent permanent)
+                    IEnumerator SelectPermanentStunCoroutine(Permanent permanent)
                     {
                         yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.GainCanNotAttack(
                             targetPermanent: permanent,