Просмотр исходного кода

Update BT25_083.cs

Attempt to fix soft lock by copying ST23_04
x89rt2 3 месяцев назад
Родитель
Сommit
bca0b0bce4
1 измененных файлов с 14 добавлено и 22 удалено
  1. 14 22
      Assets/Scripts/CardEffect/BT25/Purple/BT25_083.cs

+ 14 - 22
Assets/Scripts/CardEffect/BT25/Purple/BT25_083.cs

@@ -26,8 +26,7 @@ namespace DCGO.CardEffects.BT25
             #endregion
             #endregion
 
 
             #region OP/WD Shared
             #region OP/WD Shared
-
-            string SharedEffectName = "By place 1 [Three Musketeers] trait card from hand or trash as any digimon bottom digivolution card, draw 1";
+            string SharedEffectName = "By place 1 [Three Musketeers] trait card from hand or trash as any digimon bottom digivolution card, <Draw 1>";
 
 
             string SharedEffectDescription(string tag) => $"[{tag}] By placing 1 [Three Musketeers] trait card from your hand or trash as any of your Digimon's bottom digivolution cards, <Draw 1>";
             string SharedEffectDescription(string tag) => $"[{tag}] By placing 1 [Three Musketeers] trait card from your hand or trash as any of your Digimon's bottom digivolution cards, <Draw 1>";
             bool AdditionalActivateCondition(Hashtable hashtable, ActivateClass activateClass) => CardEffectCommons.HasMatchConditionOwnersHand(card, SharedCanSelectCardCondition) || CardEffectCommons.HasMatchConditionOwnersCardInTrash(card, SharedCanSelectCardCondition);
             bool AdditionalActivateCondition(Hashtable hashtable, ActivateClass activateClass) => CardEffectCommons.HasMatchConditionOwnersHand(card, SharedCanSelectCardCondition) || CardEffectCommons.HasMatchConditionOwnersCardInTrash(card, SharedCanSelectCardCondition);
@@ -121,7 +120,6 @@ namespace DCGO.CardEffects.BT25
                         if (selectedCard != null && CardEffectCommons.HasMatchConditionOwnersPermanent(card, CanSelectDigimonCondition))
                         if (selectedCard != null && CardEffectCommons.HasMatchConditionOwnersPermanent(card, CanSelectDigimonCondition))
                         {
                         {
                             #region Select digimon to add digivolution source
                             #region Select digimon to add digivolution source
-
                             Permanent selectedPermanent = null;
                             Permanent selectedPermanent = null;
                             SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
                             SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
                             int maxCount = Math.Min(1, CardEffectCommons.MatchConditionOwnersPermanentCount(card, CanSelectDigimonCondition));
                             int maxCount = Math.Min(1, CardEffectCommons.MatchConditionOwnersPermanentCount(card, CanSelectDigimonCondition));
@@ -148,8 +146,6 @@ namespace DCGO.CardEffects.BT25
 
 
                             selectPermanentEffect.SetUpCustomMessage("Select 1 Digimon to gain digivolution source.", "The opponent is selecting 1 Digimon to gain digivolution source.");
                             selectPermanentEffect.SetUpCustomMessage("Select 1 Digimon to gain digivolution source.", "The opponent is selecting 1 Digimon to gain digivolution source.");
                             yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
                             yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
-
-
                             #endregion
                             #endregion
 
 
                             if (selectedPermanent != null)
                             if (selectedPermanent != null)
@@ -159,9 +155,7 @@ namespace DCGO.CardEffects.BT25
                             }
                             }
                         }
                         }
                     }
                     }
-
                 }
                 }
-
             }
             }
 
 
             CardEffectFactory.ActivateClassesForSharedEffects
             CardEffectFactory.ActivateClassesForSharedEffects
@@ -174,11 +168,9 @@ namespace DCGO.CardEffects.BT25
                         onPlay: true,
                         onPlay: true,
                         whenDigivolving: true,
                         whenDigivolving: true,
                         additionalActivateCondition: AdditionalActivateCondition);
                         additionalActivateCondition: AdditionalActivateCondition);
-
             #endregion
             #endregion
 
 
             #region WD/WA Shared
             #region WD/WA Shared
-
             string SharedEffectName1 = "By trashing 1 option card from any digimon digivolution cards, use 1 [Three Musketeers] trait option card in trash for 3 reduced cost";
             string SharedEffectName1 = "By trashing 1 option card from any digimon digivolution cards, use 1 [Three Musketeers] trait option card in trash for 3 reduced cost";
 
 
             string SharedHashString = "BT25_083_WD_WA";
             string SharedHashString = "BT25_083_WD_WA";
@@ -202,7 +194,6 @@ namespace DCGO.CardEffects.BT25
                 if (CardEffectCommons.HasMatchConditionOwnersPermanent(card, CanSelectDigimonCondition))
                 if (CardEffectCommons.HasMatchConditionOwnersPermanent(card, CanSelectDigimonCondition))
                 {
                 {
                     #region Select digimon to trash option card from digivolution source
                     #region Select digimon to trash option card from digivolution source
-
                     Permanent selectedPermanent = null;
                     Permanent selectedPermanent = null;
                     SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
                     SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
                     int maxCount = Math.Min(1, CardEffectCommons.MatchConditionOwnersPermanentCount(card, CanSelectDigimonCondition));
                     int maxCount = Math.Min(1, CardEffectCommons.MatchConditionOwnersPermanentCount(card, CanSelectDigimonCondition));
@@ -228,8 +219,6 @@ namespace DCGO.CardEffects.BT25
 
 
                     selectPermanentEffect.SetUpCustomMessage("Select 1 Digimon to trash 1 option in sources", "The opponent is selecting 1 Digimon to trash 1 option in sources");
                     selectPermanentEffect.SetUpCustomMessage("Select 1 Digimon to trash 1 option in sources", "The opponent is selecting 1 Digimon to trash 1 option in sources");
                     yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
                     yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
-
-
                     #endregion
                     #endregion
 
 
                     if (selectedPermanent != null)
                     if (selectedPermanent != null)
@@ -311,8 +300,8 @@ namespace DCGO.CardEffects.BT25
 
 
                                     #region reduce play cost
                                     #region reduce play cost
                                     ChangeCostClass changeCostClass = new ChangeCostClass();
                                     ChangeCostClass changeCostClass = new ChangeCostClass();
-                                    changeCostClass.SetUpICardEffect($"Play Cost -3", CanUseCondition1, card);
-                                    changeCostClass.SetUpChangeCostClass(changeCostFunc: ChangeCost, cardSourceCondition: CanSelect3MOptionCard, rootCondition: RootCondition, isUpDown: isUpDown, isCheckAvailability: () => false, isChangePayingCost: () => true);
+                                    changeCostClass.SetUpICardEffect($"Play/Use Cost -3", CanUseCondition1, card);
+                                    changeCostClass.SetUpChangeCostClass(changeCostFunc: ChangeCost, cardSourceCondition: PlayOrUseCondition, rootCondition: RootCondition, isUpDown: isUpDown, isCheckAvailability: () => false, isChangePayingCost: () => true);
                                     Func<EffectTiming, ICardEffect> getCardEffect = GetCardEffect;
                                     Func<EffectTiming, ICardEffect> getCardEffect = GetCardEffect;
                                     card.Owner.UntilCalculateFixedCostEffect.Add(getCardEffect);
                                     card.Owner.UntilCalculateFixedCostEffect.Add(getCardEffect);
 
 
@@ -331,12 +320,16 @@ namespace DCGO.CardEffects.BT25
                                         return true;
                                         return true;
                                     }
                                     }
 
 
+                                    bool PlayOrUseCondition(CardSource cardSource)
+                                    {
+                                        return true;
+                                    }
+
                                     int ChangeCost(CardSource cardSource, int Cost, SelectCardEffect.Root root, List<Permanent> targetPermanents)
                                     int ChangeCost(CardSource cardSource, int Cost, SelectCardEffect.Root root, List<Permanent> targetPermanents)
                                     {
                                     {
-                                        if (cardSource.IsOption
-                                            && cardSource.HasThreeMusketeersTraits
-                                            && RootCondition(root)
-                                            && PermanentsCondition(targetPermanents))
+                                        if (PlayOrUseCondition(cardSource)
+                                        && RootCondition(root)
+                                        && PermanentsCondition(targetPermanents))
                                         {
                                         {
                                             Cost -= 3;
                                             Cost -= 3;
                                         }
                                         }
@@ -371,13 +364,12 @@ namespace DCGO.CardEffects.BT25
                                     card.Owner.UntilCalculateFixedCostEffect.Remove(getCardEffect);
                                     card.Owner.UntilCalculateFixedCostEffect.Remove(getCardEffect);
                                     #endregion
                                     #endregion
                                 }
                                 }
-
                                 #endregion
                                 #endregion
                             }
                             }
-
                         }
                         }
                     }
                     }
                 }
                 }
+
                 if (!hasUsed) activateClass.RemoveUse();
                 if (!hasUsed) activateClass.RemoveUse();
             }
             }
 
 
@@ -401,12 +393,12 @@ namespace DCGO.CardEffects.BT25
             {
             {
                 ActivateClass activateClass = new ActivateClass();
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Play 1 level 4 or lower [Three Musketeers] Digimon", CanUseCondition, card);
                 activateClass.SetUpICardEffect("Play 1 level 4 or lower [Three Musketeers] Digimon", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDescription());
                 activateClass.SetHashString("BT25_083_OD");
                 activateClass.SetHashString("BT25_083_OD");
                 activateClass.SetIsInheritedEffect(true);
                 activateClass.SetIsInheritedEffect(true);
                 cardEffects.Add(activateClass);
                 cardEffects.Add(activateClass);
 
 
-                string EffectDiscription()
+                string EffectDescription()
                 {
                 {
                     return "You may play 1 level 4 or lower Digimon card with [Three Musketeers] in its text from your trash without paying the cost.";
                     return "You may play 1 level 4 or lower Digimon card with [Three Musketeers] in its text from your trash without paying the cost.";
                 }
                 }