Переглянути джерело

Barbamon, Creepymon and Belphemon fix

Albert Vasconcellos 2 роки тому
батько
коміт
a47d3e152a

+ 17 - 5
Assets/CardEffect/EX6/Purple/Barbamon_EX6_059.cs

@@ -208,7 +208,7 @@ namespace DCGO.CardEffects.EX6
                 {
                     int maxCost = 10 - card.Owner.Enemy.HandCards.Count();
 
-                    if (cardSource.GetCostItself <= maxCost)
+                    if (cardSource.GetCostItself <= maxCost || cardSource.BasePlayCostFromEntity <= maxCost)
                     {
                         return true;
                     }
@@ -265,13 +265,25 @@ namespace DCGO.CardEffects.EX6
                             yield return null;
                         }
 
-                        yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.PlayPermanentCards(
+                        if (selectedCards[0].IsOption)
+                        {
+                            yield return ContinuousController.instance.StartCoroutine(
+                            CardEffectCommons.PlayOptionCards(
                             cardSources: selectedCards,
                             activateClass: activateClass,
                             payCost: false,
-                            isTapped: false,
-                            root: SelectCardEffect.Root.Trash,
-                            activateETB: true));
+                            root: SelectCardEffect.Root.Trash));
+                        }
+                        else
+                        {
+                            yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.PlayPermanentCards(
+                                cardSources: selectedCards,
+                                activateClass: activateClass,
+                                payCost: false,
+                                isTapped: false,
+                                root: SelectCardEffect.Root.Trash,
+                                activateETB: true));
+                        }
                     }
                 }
             }

+ 10 - 13
Assets/CardEffect/EX6/Purple/Belphemon_Rage_Mode_EX6_060.cs

@@ -42,13 +42,12 @@ namespace DCGO.CardEffects.EX6
 
                 bool OpponentsSuspendableTargets(Permanent permanent)
                 {
-                    if (permanent.TopCard.CanNotBeAffected(activateClass))
+
+                    if (permanent.TopCard.HasLevel && permanent.Level <= 5)
                     {
-                        if(permanent.TopCard.HasLevel && permanent.Level <= 5)
-                        {
-                            return true;
-                        }
+                        return true;
                     }
+                   
 
                     return false;
                 }
@@ -76,7 +75,7 @@ namespace DCGO.CardEffects.EX6
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.IsExistOnBreedingAreaDigimon(card);
+                    return CardEffectCommons.IsExistOnBattleArea(card);
                 }
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
@@ -155,14 +154,13 @@ namespace DCGO.CardEffects.EX6
 
                 bool OpponentsSuspendableTargets(Permanent permanent)
                 {
-                    if (permanent.TopCard.CanNotBeAffected(activateClass))
+
+                    if (permanent.TopCard.HasLevel && permanent.Level <= 5)
                     {
-                        if (permanent.TopCard.HasLevel && permanent.Level <= 5)
-                        {
-                            return true;
-                        }
+                        return true;
                     }
 
+
                     return false;
                 }
 
@@ -189,7 +187,7 @@ namespace DCGO.CardEffects.EX6
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.IsExistOnBreedingAreaDigimon(card);
+                    return CardEffectCommons.IsExistOnBattleArea(card);
                 }
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
@@ -252,7 +250,6 @@ namespace DCGO.CardEffects.EX6
                 }
             }
             #endregion
-
             #region All Turns
             if (timing == EffectTiming.WhenRemoveField)
             {

+ 28 - 24
Assets/CardEffect/EX6/Purple/Creepymon_EX6_058.cs

@@ -61,6 +61,8 @@ namespace DCGO.CardEffects.EX6
                 {
                     List<Permanent> deleteTargetPermanents = new List<Permanent>();
 
+                    List<Permanent> deleteTargetPermanentsClone = new List<Permanent>();
+
                     if (CardEffectCommons.HasMatchConditionPermanent(CanSelectPermanentCondition))
                     {
                         int maxCount = Math.Min(1, CardEffectCommons.MatchConditionPermanentCount(CanSelectPermanentCondition));
@@ -75,8 +77,8 @@ namespace DCGO.CardEffects.EX6
                             maxCount: maxCount,
                             canNoSelect: false,
                             canEndNotMax: false,
-                            selectPermanentCoroutine: null,
-                            afterSelectPermanentCoroutine: AfterSelectPermanentCoroutine,
+                            selectPermanentCoroutine: SelectPermanentCoroutine,
+                            afterSelectPermanentCoroutine: null,
                             mode: SelectPermanentEffect.Mode.Custom,
                             cardEffect: activateClass);
 
@@ -84,22 +86,22 @@ namespace DCGO.CardEffects.EX6
 
                         yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
 
-                        IEnumerator AfterSelectPermanentCoroutine(List<Permanent> permanents)
+                        IEnumerator SelectPermanentCoroutine(Permanent _permanent)
                         {
-                            deleteTargetPermanents = permanents.Clone();
+                            yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.DeletePeremanentAndProcessAccordingToResult(targetPermanents: new List<Permanent>() { _permanent }, activateClass: activateClass, successProcess: permanents => SuccessProcess(), failureProcess: null));
 
-                            yield return null;
-                        }
 
-                        yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.DeletePeremanentAndProcessAccordingToResult(targetPermanents: deleteTargetPermanents, activateClass: activateClass, successProcess: permanents => SuccessProcess(), failureProcess: null));
-
-                        IEnumerator SuccessProcess()
-                        {
-                            if (card.Owner.LibraryCards.Count >= 1)
+                            IEnumerator SuccessProcess()
                             {
-                                yield return ContinuousController.instance.StartCoroutine(new IAddTrashCardsFromLibraryTop(deleteTargetPermanents[0].Level, card.Owner, activateClass).AddTrashCardsFromLibraryTop());
+                                if (card.Owner.LibraryCards.Count >= 1)
+                                {
+                                    yield return ContinuousController.instance.StartCoroutine(new IAddTrashCardsFromLibraryTop(_permanent.LevelJustBeforeRemoveField, card.Owner, activateClass).AddTrashCardsFromLibraryTop());
+                                }
                             }
                         }
+
+                        
+
                     }
                 }
             }
@@ -145,6 +147,8 @@ namespace DCGO.CardEffects.EX6
                 {
                     List<Permanent> deleteTargetPermanents = new List<Permanent>();
 
+                    List<Permanent> deleteTargetPermanentsClone = new List<Permanent>();
+
                     if (CardEffectCommons.HasMatchConditionPermanent(CanSelectPermanentCondition))
                     {
                         int maxCount = Math.Min(1, CardEffectCommons.MatchConditionPermanentCount(CanSelectPermanentCondition));
@@ -159,8 +163,8 @@ namespace DCGO.CardEffects.EX6
                             maxCount: maxCount,
                             canNoSelect: false,
                             canEndNotMax: false,
-                            selectPermanentCoroutine: null,
-                            afterSelectPermanentCoroutine: AfterSelectPermanentCoroutine,
+                            selectPermanentCoroutine: SelectPermanentCoroutine,
+                            afterSelectPermanentCoroutine: null,
                             mode: SelectPermanentEffect.Mode.Custom,
                             cardEffect: activateClass);
 
@@ -168,22 +172,22 @@ namespace DCGO.CardEffects.EX6
 
                         yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
 
-                        IEnumerator AfterSelectPermanentCoroutine(List<Permanent> permanents)
+                        IEnumerator SelectPermanentCoroutine(Permanent _permanent)
                         {
-                            deleteTargetPermanents = permanents.Clone();
+                            yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.DeletePeremanentAndProcessAccordingToResult(targetPermanents: new List<Permanent>() { _permanent }, activateClass: activateClass, successProcess: permanents => SuccessProcess(), failureProcess: null));
 
-                            yield return null;
-                        }
-
-                        yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.DeletePeremanentAndProcessAccordingToResult(targetPermanents: deleteTargetPermanents, activateClass: activateClass, successProcess: permanents => SuccessProcess(), failureProcess: null));
 
-                        IEnumerator SuccessProcess()
-                        {
-                            if (card.Owner.LibraryCards.Count >= 1)
+                            IEnumerator SuccessProcess()
                             {
-                                yield return ContinuousController.instance.StartCoroutine(new IAddTrashCardsFromLibraryTop(deleteTargetPermanents[0].Level, card.Owner, activateClass).AddTrashCardsFromLibraryTop());
+                                if (card.Owner.LibraryCards.Count >= 1)
+                                {
+                                    yield return ContinuousController.instance.StartCoroutine(new IAddTrashCardsFromLibraryTop(_permanent.LevelJustBeforeRemoveField, card.Owner, activateClass).AddTrashCardsFromLibraryTop());
+                                }
                             }
                         }
+
+
+
                     }
                 }
             }