Browse Source

Revert "Machinedramon Ace"

This reverts commit b92f3fa683a198380d5a64ba098d8e6a5820e3dd.
x89rt2 1 tháng trước cách đây
mục cha
commit
2a068c16f9

+ 14 - 32
Assets/Scripts/CardEffect/EX12/Black/EX12_059.cs

@@ -118,7 +118,7 @@ namespace DCGO.CardEffects.EX12
                     yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
                 }
 
-                if (card.Owner.HandCards.Count(CanSelectCardCondition) + card.Owner.TrashCards.Count(CanSelectCardCondition) >= 2)
+                if(card.Owner.HandCards.Count(CanSelectCardCondition) + card.Owner.TrashCards.Count(CanSelectCardCondition) >= 2)
                 {
                     int toSelect = 2;
                     List<CardSource> selectedCards = new List<CardSource>();
@@ -230,40 +230,22 @@ namespace DCGO.CardEffects.EX12
 
                     if (selectedCards.Count == 2)
                     {
-                        yield return CardEffectCommons.AddDigivolutionCardsAndProcessAccordingToResult(
-                            targetPermanent: card.PermanentOfThisCard(),
-                            targetDigivolutionCards: selectedCards,
-                            isTop: false,
-                            activateClass: activateClass,
-                            successProcess: SuccessProcess,
-                            failureProcess: null);
-
-                        IEnumerator SuccessProcess(List<CardSource> sources)
-                        {
-                            #region Setup
-                            bool EffectCondition(ICardEffect cardEffect) => CardEffectCommons.IsOpponentEffect(cardEffect, card);
-                            bool DigimonCondition(Permanent permanent)
-                            {
-                                return CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card)
-                                    && !permanent.TopCard.CanNotBeAffected(activateClass);
-                            }
-
-                            ImmuneStackTrashingClass immuneFromStackTrashingClass = new ImmuneStackTrashingClass();
-                            immuneFromStackTrashingClass.SetUpICardEffect("Isn't affected by trashing any stacked card", hashtable => true, card);
-                            immuneFromStackTrashingClass.SetUpImmuneFromStackTrashingClass(PermanentCondition: DigimonCondition, EffectCondition: EffectCondition);
+                        yield return ContinuousController.instance.StartCoroutine(GManager.instance.GetComponent<Effects>().ShowCardEffect2(selectedCards, "Digivolution Cards", true, true));
+                        yield return ContinuousController.instance.StartCoroutine(card.PermanentOfThisCard().AddDigivolutionCardsBottom(selectedCards, activateClass));
 
-                            ImmuneFromDeDigivolveClass immuneFromDeDigivolveClass = new ImmuneFromDeDigivolveClass();
-                            immuneFromDeDigivolveClass.SetUpICardEffect("Isn't affected by De-Digivolve", hashtable => true, card);
-                            immuneFromDeDigivolveClass.SetUpImmuneFromDeDigivolveClass(DigimonCondition);
-                            #endregion
+                        bool DigimonCondition(Permanent permanent)
+                        {
+                            return CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card)
+                                && !permanent.TopCard.CanNotBeAffected(activateClass);
+                        }
 
-                            card.Owner.UntilOpponentTurnEndEffects.Add((_timing) => immuneFromStackTrashingClass);
-                            card.Owner.UntilOpponentTurnEndEffects.Add((_timing) => PermanentEffectFactory.StaticAddDetailClass(_ => true, DigimonCondition, "Opponent's effects cannot trash stacked cards", false, activateClass));
+                        ImmuneStackTrashingClass immuneFromStackTrashingClass = new ImmuneStackTrashingClass();
+                        immuneFromStackTrashingClass.SetUpICardEffect("Isn't affected by trashing any stacked card", hashtable => true, card);
+                        immuneFromStackTrashingClass.SetUpImmuneFromStackTrashingClass(PermanentCondition: DigimonCondition, EffectCondition: EffectCondition);
+                        card.Owner.UntilOpponentTurnEndEffects.Add((_timing) => immuneFromStackTrashingClass);
+                        card.Owner.UntilOpponentTurnEndEffects.Add((_timing) => PermanentEffectFactory.StaticAddDetailClass(_ => true, DigimonCondition, "Opponent's effects cannot trash stacked cards", false, activateClass));
 
-                            card.Owner.UntilOpponentTurnEndEffects.Add((_timing) => immuneFromDeDigivolveClass);
-                            card.Owner.UntilOpponentTurnEndEffects.Add((_timing) => PermanentEffectFactory.StaticAddDetailClass(_ => true, DigimonCondition, "Opponent's effects cannot De-Digivolve", false, activateClass));
-                            return null;
-                        }
+                        bool EffectCondition(ICardEffect cardEffect) => CardEffectCommons.IsOpponentEffect(cardEffect, card);
                     }
                 }
             }

+ 0 - 30
Assets/Scripts/Script/CardEffectCommons.cs

@@ -563,36 +563,6 @@ public partial class CardEffectCommons
 
     #endregion
 
-    #region Add target digivolution cards, and the effect determines whether the digivolution cards were added or not
-
-    public static IEnumerator AddDigivolutionCardsAndProcessAccordingToResult(Permanent targetPermanent, List<CardSource> targetDigivolutionCards, bool isTop, ICardEffect activateClass, Func<List<CardSource>, IEnumerator> successProcess, Func<IEnumerator> failureProcess)
-    {
-        if (targetPermanent == null) yield break;
-        if (targetDigivolutionCards == null) yield break;
-        if (targetDigivolutionCards.Count == 0) yield break;
-
-        yield return ContinuousController.instance.StartCoroutine(GManager.instance.GetComponent<Effects>().ShowCardEffect2(targetDigivolutionCards, "Digivolution Cards", true, true));
-        if (isTop) yield return ContinuousController.instance.StartCoroutine(targetPermanent.AddDigivolutionCardsTop(targetDigivolutionCards, activateClass));
-        else yield return ContinuousController.instance.StartCoroutine(targetPermanent.AddDigivolutionCardsBottom(targetDigivolutionCards, activateClass));
-
-        if (targetDigivolutionCards.Some((sourceCard) => targetPermanent.DigivolutionCards.Contains(sourceCard)))
-        {
-            if (successProcess != null)
-            {
-                yield return ContinuousController.instance.StartCoroutine(successProcess(targetDigivolutionCards));
-            }
-        }
-        else
-        {
-            if (failureProcess != null)
-            {
-                yield return ContinuousController.instance.StartCoroutine(failureProcess());
-            }
-        }
-    }
-
-    #endregion
-
     #region Trash target digivolution cards, and the effect determines whether the digivolution cards were trashed or not
 
     public static IEnumerator TrashDigivolutionCardsAndProcessAccordingToResult(Permanent targetPermanent, List<CardSource> targetDigivolutionCards, ICardEffect activateClass, Func<List<CardSource>, IEnumerator> successProcess, Func<IEnumerator> failureProcess)