Selaa lähdekoodia

Update Use Reqs to RAW post CRM update

hooperk 4 kuukautta sitten
vanhempi
sitoutus
e2fe7d93f3

+ 3 - 5
Assets/Scripts/CardEffect/P/Green/P_236.cs

@@ -14,13 +14,11 @@ namespace DCGO.CardEffects.P
 
             if (timing == EffectTiming.None)
             {
-                cardEffects.Add(CardEffectFactory.UseRequirements(card, PermanentCondition));
+                cardEffects.Add(CardEffectFactory.UseRequirements(card, CardCondition));
 
-                bool PermanentCondition(Permanent permanent)
+                bool CardCondition(CardSource cardSource)
                 {
-                    return permanent.TopCard.Owner == card.Owner
-                        && (permanent.IsTamer || permanent.IsDigimon) 
-                        && permanent.TopCard.EqualsTraits("Glowing Dawn");
+                    return cardSource.EqualsTraits("Glowing Dawn");
                 }
             }
 

+ 3 - 3
Assets/Scripts/CardEffect/P/Green/P_237.cs

@@ -14,11 +14,11 @@ namespace DCGO.CardEffects.P
             #region Ignore Color Requirement
             if (timing == EffectTiming.None)
             {
-                cardEffects.Add(CardEffectFactory.UseRequirements(card, HasMaquinamonInText));
+                cardEffects.Add(CardEffectFactory.UseRequirements(card, CardCondition));
 
-                bool HasMaquinamonInText(Permanent permanent)
+                bool CardCondition(CardSource cardSource)
                 {
-                    return permanent.TopCard.HasText("Maquinamon");
+                    return cardSource.HasText("Maquinamon");
                 }
             }
             #endregion

+ 3 - 5
Assets/Scripts/CardEffect/P/Purple/P_238.cs

@@ -14,13 +14,11 @@ namespace DCGO.CardEffects.P
             #region Ignore Color Requirment
             if (timing == EffectTiming.None)
             {
-                cardEffects.Add(CardEffectFactory.UseRequirements(card, PermanentCondition));
+                cardEffects.Add(CardEffectFactory.UseRequirements(card, CardCondition));
 
-                bool PermanentCondition(Permanent permanent)
+                bool CardCondition(CardSource cardSource)
                 {
-                    return CardEffectCommons.IsOwnerPermanent(permanent, card)
-                        && permanent.TopCard.HasCSTraits
-                        && (permanent.IsDigimon || permanent.IsTamer);
+                    return cardSource.HasCSTraits;
                 }
             }
             #endregion

+ 3 - 5
Assets/Scripts/CardEffect/P/Yellow/P_235.cs

@@ -14,13 +14,11 @@ namespace DCGO.CardEffects.P
 
             if (timing == EffectTiming.None)
             {
-                cardEffects.Add(CardEffectFactory.UseRequirements(card, PermanentCondition));
+                cardEffects.Add(CardEffectFactory.UseRequirements(card, CardCondition));
 
-                bool PermanentCondition(Permanent permanent)
+                bool CardCondition(CardSource cardSource)
                 {
-                    return permanent.TopCard.Owner == card.Owner
-                        && (permanent.IsTamer || permanent.IsDigimon) 
-                        && permanent.TopCard.EqualsTraits("DATA SQUAD");
+                    return cardSource.EqualsTraits("DATA SQUAD");
                 }
             }
 

+ 4 - 6
Assets/Scripts/CardEffect/ST24/White/ST24_15.cs

@@ -14,13 +14,11 @@ namespace DCGO.CardEffects.ST24
             #region Ignore Color Requirement
             if (timing == EffectTiming.None)
             {
-                cardEffects.Add(CardEffectFactory.UseRequirements(card, PermanentCondition));
+                cardEffects.Add(CardEffectFactory.UseRequirements(card, CardCondition));
 
-                bool PermanentCondition(Permanent permanent)
+                bool CardCondition(CardSource cardSource)
                 {
-                    return CardEffectCommons.IsOwnerPermanent(permanent, card)
-                        && permanent.TopCard.EqualsTraits("DATA SQUAD")
-                        && (permanent.IsDigimon || permanent.IsTamer);
+                    return cardSource.EqualsTraits("DATA SQUAD");
                 }
             }
             #endregion     
@@ -218,7 +216,7 @@ namespace DCGO.CardEffects.ST24
                         {
                             yield return ContinuousController.instance.StartCoroutine(card.Owner.brainStormObject.CloseBrainstrorm(card));
 
-                            yield return ContinuousController.instance.StartCoroutine(selectedPermanent.AddDigivolutionCardsBottom(new List<CardSource>() { card }, activateClass));
+                            yield return ContinuousController.instance.StartCoroutine(selectedPermanent.AddDigivolutionCardsBottom(new List<CardSource>() { card }, activateClass, false, true));
 
                             yield return ContinuousController.instance.StartCoroutine(new DrawClass(card.Owner, 1, activateClass).Draw());
 

+ 3 - 3
Assets/Scripts/CardEffect/ST24/Yellow/ST24_07.cs

@@ -270,11 +270,11 @@ namespace DCGO.CardEffects.ST24
             #region Ignore Colour Requirement
             if (timing == EffectTiming.None)
             {
-                cardEffects.Add(CardEffectFactory.UseRequirements(card, PermanentCondition));
+                cardEffects.Add(CardEffectFactory.UseRequirements(card, CardCondition));
 
-                bool PermanentCondition(Permanent permanent)
+                bool CardCondition(CardSource cardSource)
                 {
-                    return permanent.TopCard.EqualsTraits("DATA SQUAD");
+                    return cardSource.EqualsTraits("DATA SQUAD");
                 }
             }
             #endregion

+ 12 - 3
Assets/Scripts/Script/CardEffectFactory.cs

@@ -719,17 +719,26 @@ public partial class CardEffectFactory
     #endregion
 
     #region Use Requirements
-    public static IgnoreColorConditionClass UseRequirements(CardSource card, Func<Permanent, bool> permanentCondition)
+    public static IgnoreColorConditionClass UseRequirements(CardSource card, Func<CardSource, bool> cardCondition)
     {
         IgnoreColorConditionClass ignoreColorConditionClass = new IgnoreColorConditionClass();
         ignoreColorConditionClass.SetUpICardEffect("Ignore color requirements", CanUseCondition, card);
         ignoreColorConditionClass.SetUpIgnoreColorConditionClass(cardCondition: CardCondition);
         return ignoreColorConditionClass;
 
+        bool PermanentCondition(Permanent permanent)
+        {
+            if (cardCondition == null)
+                return false;
+
+            // If it is confirmed that only Digimon and tamers should count, we can put that in here instead of in each individual condition
+            return CardEffectCommons.IsOwnerPermanent(permanent, card)
+                && cardCondition(permanent.TopCard); 
+        }
+
         bool CanUseCondition(Hashtable hashtable)
         {
-            return CardEffectCommons.HasMatchConditionOwnersPermanent(card, permanentCondition)
-                || CardEffectCommons.HasMatchConditionOwnersBreedingPermanent(card, permanentCondition);
+            return CardEffectCommons.HasMatchConditionOwnersPermanent(card, PermanentCondition);
         }
 
         bool CardCondition(CardSource cardSource)