Przeglądaj źródła

Update BT25_053.cs

Lewisaaronwelch 3 miesięcy temu
rodzic
commit
95d09545b6
1 zmienionych plików z 19 dodań i 8 usunięć
  1. 19 8
      Assets/Scripts/CardEffect/BT25/Green/BT25_053.cs

+ 19 - 8
Assets/Scripts/CardEffect/BT25/Green/BT25_053.cs

@@ -1,6 +1,7 @@
 using System;
 using System.Collections;
 using System.Collections.Generic;
+using System.Linq;
 
 // Aegiochusmon: Green
 namespace DCGO.CardEffects.BT25
@@ -45,7 +46,7 @@ namespace DCGO.CardEffects.BT25
 
             #endregion
 
-            #region Shared WD / WA
+            #region Shared OP / WD
 
             string SharedEffectName = "Suspend 1 opponent digimon or tamer, freeze until opponent turn ends. Then if 3 or less security, this gains Piercing & 5K DP";
 
@@ -60,7 +61,7 @@ namespace DCGO.CardEffects.BT25
                 }
 
                 // Suspend 1 opponent digimon or tamer, freeze until opponent turn ends.
-                if (CardEffectCommons.HasMatchConditionOpponentsPermanent(card, PermanentCondition))
+                if (CardEffectCommons.HasMatchConditionPermanent(PermanentCondition))
                 {
                     Permanent selectedPermanent = null;
 
@@ -107,8 +108,8 @@ namespace DCGO.CardEffects.BT25
                     Permanent thisPermanent = card.PermanentOfThisCard();
 
                     #region Gain Piercing & +5K DP
-                    yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.GainPierce(thisPermanent, EffectDuration.UntilOwnerTurnEnd, activateClass));
-                    yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.ChangeDigimonDP(thisPermanent, 5000, EffectDuration.UntilOwnerTurnEnd, activateClass));
+                    yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.GainPierce(thisPermanent, EffectDuration.UntilEachTurnEnd, activateClass));
+                    yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.ChangeDigimonDP(thisPermanent, 5000, EffectDuration.UntilEachTurnEnd, activateClass));
                     #endregion
                 }
             }
@@ -131,8 +132,9 @@ namespace DCGO.CardEffects.BT25
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Suspend 1 Opponent Digimon or Tamer", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, true, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, false, EffectDiscription());
                 activateClass.SetHashString("BT25_053_AT");
+                activateClass.SetIsSkippable(true);
                 activateClass.SetIsInheritedEffect(true);
                 cardEffects.Add(activateClass);
 
@@ -159,12 +161,13 @@ namespace DCGO.CardEffects.BT25
 
                 bool PermanentCondition(Permanent permanent)
                 {
-                    return CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card)
-                        || CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaTamer(permanent, card);
+                    return CardEffectCommons.IsPermanentExistsOnOpponentBattleArea(permanent, card)
+                        && (permanent.IsDigimon || permanent.IsTamer);
                 }
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 {
+                    bool hasUsed = false;
                     if (CardEffectCommons.HasMatchConditionOpponentsPermanent(card, PermanentCondition))
                     {
                         int maxCount = Math.Min(1, CardEffectCommons.MatchConditionOpponentsPermanentCount(card, PermanentCondition));
@@ -179,13 +182,21 @@ namespace DCGO.CardEffects.BT25
                             canNoSelect: true,
                             canEndNotMax: false,
                             selectPermanentCoroutine: null,
-                            afterSelectPermanentCoroutine: null,
+                            afterSelectPermanentCoroutine: AfterSelectPermanentCoroutine,
                             mode: SelectPermanentEffect.Mode.Tap,
                             cardEffect: activateClass);
 
                         selectPermanentEffect.SetUpCustomMessage("Select 1 Digimon or tamer to suspend.", "The opponent is selecting 1 Digimon or tamer to suspend.");
                         yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
+
+                        IEnumerator AfterSelectPermanentCoroutine(List<Permanent> permanents)
+                        {
+                            if (permanents.Any()) hasUsed = true;
+                            yield return null;
+                        }
                     }
+
+                    if (!hasUsed) activateClass.RemoveUse();
                 }
             }