mbunch_kascope 1 год назад
Родитель
Сommit
e9cf4f368c

+ 5 - 5
Assets/CardEffect/BT22/Black/BT22_057.cs

@@ -110,9 +110,9 @@ namespace DCGO.CardEffects.BT22
             if (timing == EffectTiming.WhenRemoveField)
             if (timing == EffectTiming.WhenRemoveField)
             {
             {
                 ActivateClass activateClass = new ActivateClass();
                 ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("Delete 1 of your other Digimon to prevent this Digimon from leaving", CanUseCondition, card);
+                activateClass.SetUpICardEffect("Delete 1 of your other [Diaboromon] to prevent this Digimon from leaving", CanUseCondition, card);
                 activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, true, EffectDiscription());
                 activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, true, EffectDiscription());
-                activateClass.SetHashString("Substitute_BT22_057");
+                activateClass.SetHashString("Substitute_BT22_056");
                 activateClass.SetIsInheritedEffect(true);
                 activateClass.SetIsInheritedEffect(true);
                 cardEffects.Add(activateClass);
                 cardEffects.Add(activateClass);
 
 
@@ -130,15 +130,15 @@ namespace DCGO.CardEffects.BT22
                 bool CanActivateCondition(Hashtable hashtable)
                 bool CanActivateCondition(Hashtable hashtable)
                 {
                 {
                     return CardEffectCommons.IsExistOnBattleAreaDigimon(card) &&
                     return CardEffectCommons.IsExistOnBattleAreaDigimon(card) &&
-                           card.PermanentOfThisCard().TopCard.HasText("Diaboromon")
-                           && CardEffectCommons.HasMatchConditionPermanent(CanSelectPermanentCondition);
+                           card.PermanentOfThisCard().TopCard.HasText("Diaboromon") &&
+                           CardEffectCommons.HasMatchConditionPermanent(CanSelectPermanentCondition);
                 }
                 }
 
 
                 bool CanSelectPermanentCondition(Permanent permanent)
                 bool CanSelectPermanentCondition(Permanent permanent)
                 {
                 {
                     return CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card) &&
                     return CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card) &&
                            permanent != card.PermanentOfThisCard() &&
                            permanent != card.PermanentOfThisCard() &&
-                           (permanent.IsDigimon || permanent.TopCard.EqualsCardName("Diaboromon"));
+                           permanent.TopCard.EqualsCardName("Diaboromon");
                 }
                 }
 
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 IEnumerator ActivateCoroutine(Hashtable hashtable)

+ 6 - 4
Assets/CardEffect/BT22/Black/BT22_063.cs

@@ -247,8 +247,7 @@ namespace DCGO.CardEffects.BT22
 
 
                 bool CanActivateCondition(Hashtable hashtable)
                 bool CanActivateCondition(Hashtable hashtable)
                 {
                 {
-                    return CardEffectCommons.IsExistOnBattleAreaDigimon(card)
-                        && HasSourceCondition();
+                    return CardEffectCommons.IsExistOnBattleAreaDigimon(card);
                 }
                 }
 
 
                 bool IsAlphamon(Permanent permanent)
                 bool IsAlphamon(Permanent permanent)
@@ -268,8 +267,11 @@ namespace DCGO.CardEffects.BT22
 
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 {
                 {
-                    yield return ContinuousController.instance.StartCoroutine(
-                        CardEffectCommons.ChangeDigimonDP(card.PermanentOfThisCard(), 3000, EffectDuration.UntilOpponentTurnEnd, activateClass));
+                    if (HasSourceCondition())
+                    {
+                        yield return ContinuousController.instance.StartCoroutine(
+                            CardEffectCommons.ChangeDigimonDP(card.PermanentOfThisCard(), 3000, EffectDuration.UntilOpponentTurnEnd, activateClass));
+                    }                        
 
 
                     yield return ContinuousController.instance.StartCoroutine(
                     yield return ContinuousController.instance.StartCoroutine(
                         new IUnsuspendPermanents(new List<Permanent>() { card.PermanentOfThisCard() }, activateClass).Unsuspend());
                         new IUnsuspendPermanents(new List<Permanent>() { card.PermanentOfThisCard() }, activateClass).Unsuspend());

+ 2 - 2
Assets/CardEffect/BT22/Blue/BT22_021.cs

@@ -19,10 +19,10 @@ namespace DCGO.CardEffects.BT22
                 {
                 {
                     return source.IsDigimon
                     return source.IsDigimon
                     && source.HasLevel && source.IsLevel3
                     && source.HasLevel && source.IsLevel3
-                    && (source.EqualsTraits("Sea Animal") || source.EqualsTraits("Aqua"));
+                    && (source.ContainsTraits("Sea Animal") || source.ContainsTraits("Aqua"));
                 }
                 }
 
 
-                string[] decodeStrings = { "(Lv.3 w/[Aqua]/[Sea Animal] trait)", "Level 3 Digimon card with [Aqua] or [Sea Animal]" };
+                string[] decodeStrings = { "(Lv.3 w/[Aqua]/[Sea Animal] in any trait)", "Level 3 Digimon card with [Aqua] or [Sea Animal]" };
                 cardEffects.Add(CardEffectFactory.DecodeSelfEffect(card: card, isInheritedEffect: false, decodeStrings: decodeStrings, sourceCondition: SourceCondition, condition: null));
                 cardEffects.Add(CardEffectFactory.DecodeSelfEffect(card: card, isInheritedEffect: false, decodeStrings: decodeStrings, sourceCondition: SourceCondition, condition: null));
             }
             }
 
 

+ 1 - 1
Assets/CardEffect/BT22/Red/BT22_014.cs

@@ -142,7 +142,7 @@ namespace DCGO.CardEffects.BT22
             {
             {
                 ActivateClass activateClass = new ActivateClass();
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Gain Piercing, +5000 DP", CanUseCondition, card);
                 activateClass.SetUpICardEffect("Gain Piercing, +5000 DP", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, true, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, false, EffectDiscription());
                 activateClass.SetHashString("AllTurns_BT22-014");
                 activateClass.SetHashString("AllTurns_BT22-014");
                 cardEffects.Add(activateClass);
                 cardEffects.Add(activateClass);
 
 

+ 2 - 2
Assets/CardEffect/BT22/White/BT22_007.cs

@@ -84,7 +84,7 @@ namespace DCGO.CardEffects.BT22
                             int motherCount = thisPermanent.DigivolutionCards.Count(CanSelectMother);
                             int motherCount = thisPermanent.DigivolutionCards.Count(CanSelectMother);
                             if (card.Owner.fieldCardFrames.Count((frame) => frame.IsEmptyFrame() && frame.IsBattleAreaFrame()) >= motherCount)
                             if (card.Owner.fieldCardFrames.Count((frame) => frame.IsEmptyFrame() && frame.IsBattleAreaFrame()) >= motherCount)
                             {
                             {
-                                int maxCount = Math.Max(1, motherCount);
+                                int maxCount = Math.Min(3, motherCount);
                                 SelectCardEffect selectCardEffect = GManager.instance.GetComponent<SelectCardEffect>();
                                 SelectCardEffect selectCardEffect = GManager.instance.GetComponent<SelectCardEffect>();
 
 
                                 selectCardEffect.SetUp(
                                 selectCardEffect.SetUp(
@@ -96,7 +96,7 @@ namespace DCGO.CardEffects.BT22
                                     afterSelectCardCoroutine: SelectCardCoroutine,
                                     afterSelectCardCoroutine: SelectCardCoroutine,
                                     message: "Select [Mother Eater]'s to play.",
                                     message: "Select [Mother Eater]'s to play.",
                                     maxCount: maxCount,
                                     maxCount: maxCount,
-                                    canEndNotMax: true,
+                                    canEndNotMax: false,
                                     isShowOpponent: true,
                                     isShowOpponent: true,
                                     mode: SelectCardEffect.Mode.Custom,
                                     mode: SelectCardEffect.Mode.Custom,
                                     root: SelectCardEffect.Root.Custom,
                                     root: SelectCardEffect.Root.Custom,

+ 1 - 1
Assets/CardEffect/BT22/Yellow/BT22_035.cs

@@ -322,7 +322,7 @@ namespace DCGO.CardEffects.BT22
             if (timing == EffectTiming.WhenLinked)
             if (timing == EffectTiming.WhenLinked)
             {
             {
                 ActivateClass activateClass = new ActivateClass();
                 ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("Play 1 4 cost or lower [Appmon] digimon", CanUseCondition, card);
+                activateClass.SetUpICardEffect("Play 1 4 cost or lower [Appmon] card", CanUseCondition, card);
                 activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, true, EffectDiscription());
                 activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, true, EffectDiscription());
                 activateClass.SetHashString("BT22_035_WL");
                 activateClass.SetHashString("BT22_035_WL");
                 cardEffects.Add(activateClass);
                 cardEffects.Add(activateClass);

+ 11 - 22
Assets/CardEffect/BT22/Yellow/BT22_042.cs

@@ -207,28 +207,22 @@ namespace DCGO.CardEffects.BT22
 
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 {
                 {
-                    Permanent thisPermaent = card.PermanentOfThisCard();
-
-                    List<ICardEffect> candidateEffects = new List<ICardEffect>();
-
-                    List<ICardEffect> effects = thisPermaent.EffectList_ForCard(EffectTiming.OnEnterFieldAnyone, card)
+                    List<ICardEffect> candidateEffects = card.PermanentOfThisCard().EffectList(EffectTiming.OnEnterFieldAnyone)
                         .Clone()
                         .Clone()
-                        .Filter(cardEffect => cardEffect is ActivateICardEffect && !cardEffect.IsSecurityEffect && cardEffect.IsWhenDigivolving);
-
-                    candidateEffects.AddRange(effects);
+                        .Filter(cardEffect => cardEffect != null && cardEffect is ActivateICardEffect && !cardEffect.IsSecurityEffect && cardEffect.IsWhenDigivolving);
 
 
                     if (candidateEffects.Count >= 1)
                     if (candidateEffects.Count >= 1)
                     {
                     {
                         ICardEffect selectedEffect = null;
                         ICardEffect selectedEffect = null;
 
 
-                        #region Select Effect
-
-                        if (candidateEffects.Count == 1) 
+                        if (candidateEffects.Count == 1)
+                        {
                             selectedEffect = candidateEffects[0];
                             selectedEffect = candidateEffects[0];
+                        }
                         else
                         else
                         {
                         {
                             List<SkillInfo> skillInfos = candidateEffects
                             List<SkillInfo> skillInfos = candidateEffects
-                                .Map(cardEffect => new SkillInfo(cardEffect, null, EffectTiming.OnEnterFieldAnyone));
+                                .Map(cardEffect => new SkillInfo(cardEffect, null, EffectTiming.None));
 
 
                             List<CardSource> cardSources = candidateEffects
                             List<CardSource> cardSources = candidateEffects
                                 .Map(cardEffect => cardEffect.EffectSourceCard);
                                 .Map(cardEffect => cardEffect.EffectSourceCard);
@@ -269,19 +263,14 @@ namespace DCGO.CardEffects.BT22
                             }
                             }
                         }
                         }
 
 
-                        #endregion
-
                         if (selectedEffect != null)
                         if (selectedEffect != null)
                         {
                         {
-                            if (selectedEffect.EffectSourceCard != null)
+                            Hashtable effectHashtable = CardEffectCommons.WhenDigivolvingCheckHashtableOfCard(selectedEffect.EffectSourceCard);
+
+                            if (!selectedEffect.IsDisabled)
                             {
                             {
-                                if (selectedEffect.EffectSourceCard.PermanentOfThisCard() != null)
-                                {
-                                    if (selectedEffect.CanUse(null))
-                                    {
-                                        yield return ContinuousController.instance.StartCoroutine(((ActivateICardEffect)selectedEffect).Activate_Optional_Effect_Execute(null));
-                                    }
-                                }
+                                yield return ContinuousController.instance.StartCoroutine(
+                                ((ActivateICardEffect)selectedEffect).Activate_Optional_Effect_Execute(effectHashtable));
                             }
                             }
                         }
                         }
                     }
                     }

+ 4 - 2
Assets/CardEffect/P/Green/P_143.cs

@@ -50,8 +50,10 @@ namespace DCGO.CardEffects.P
 
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 {
                 {
-                    if(card.PermanentOfThisCard().CanMove)
-                        yield return ContinuousController.instance.StartCoroutine(CardObjectController.MovePermanent(card.PermanentOfThisCard().PermanentFrame,activateClass,true));
+                    if (card.PermanentOfThisCard().CanMove)
+                    {
+                        yield return ContinuousController.instance.StartCoroutine(CardObjectController.MovePermanent(card.PermanentOfThisCard().PermanentFrame, true, activateClass));
+                    }
                 }
                 }
             }
             }
             #endregion
             #endregion

+ 3 - 2
Assets/CardEffect/P/Yellow/P_195.cs

@@ -3,7 +3,8 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Linq;
 using UnityEngine;
 using UnityEngine;
 
 
-namespace DCGO.CardEffects
+//Inori Misono
+namespace DCGO.CardEffects.P
 {
 {
     public class P_195 : CEntity_Effect
     public class P_195 : CEntity_Effect
     {
     {
@@ -67,7 +68,7 @@ namespace DCGO.CardEffects
             {
             {
                 ActivateClass activateClass = new ActivateClass();
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Play 1 [Elecmon] or digivolve into [Aegiomon]", CanUseCondition, card);
                 activateClass.SetUpICardEffect("Play 1 [Elecmon] or digivolve into [Aegiomon]", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
                 cardEffects.Add(activateClass);
                 cardEffects.Add(activateClass);
 
 
                 string EffectDiscription()
                 string EffectDiscription()

+ 20 - 12
Assets/Scripts/CardObjectController.cs

@@ -995,7 +995,7 @@ public class CardObjectController : MonoBehaviour
     #endregion
     #endregion
 
 
     #region move permanent
     #region move permanent
-    public static IEnumerator MovePermanent(FieldCardFrame movingPermanentFrame, ICardEffect effect = null, bool toBreeding = false)
+    public static IEnumerator MovePermanent(FieldCardFrame movingPermanentFrame, bool toBreeding = false, ICardEffect effect = null)
     {
     {
         if (movingPermanentFrame != null)
         if (movingPermanentFrame != null)
         {
         {
@@ -1009,21 +1009,29 @@ public class CardObjectController : MonoBehaviour
                 FieldCardFrame moveTargetFrame = movingPermanent.TopCard.PreferredFrame();
                 FieldCardFrame moveTargetFrame = movingPermanent.TopCard.PreferredFrame();
 
 
                 if (toBreeding)
                 if (toBreeding)
-                {
                     moveTargetFrame = player.fieldCardFrames.Filter(frame => frame.isBreedingAreaFrame()).ToList()[0];
                     moveTargetFrame = player.fieldCardFrames.Filter(frame => frame.isBreedingAreaFrame()).ToList()[0];
 
 
-                    // "When permanents would remove field" effect
-                    yield return ContinuousController.instance.StartCoroutine(GManager.instance.autoProcessing_CutIn.StackSkillInfos(
-                        CardEffectCommons.WhenPermanentWouldRemoveFieldCheckHashtable(
-                            new List<Permanent> { movingPermanent },
-                            effect,
-                            null
-                        ),
-                        EffectTiming.WhenRemoveField));
+                #region cut in effect
+
+                // "When permanents would remove field" effect
+                yield return ContinuousController.instance.StartCoroutine(GManager.instance.autoProcessing_CutIn.StackSkillInfos(
+                    CardEffectCommons.WhenPermanentWouldRemoveFieldCheckHashtable(
+                        new List<Permanent> { movingPermanent },
+                        effect,
+                        null
+                    ),
+                    EffectTiming.WhenRemoveField));
+
+                if (GManager.instance.autoProcessing_CutIn.HasAwaitingActivateEffects())
+                {
+                    // effect
+                    yield return ContinuousController.instance.StartCoroutine(GManager.instance.autoProcessing_CutIn.ShrinkSecurityDigimonDisplay());
+
+                    // cut in effect process
+                    yield return ContinuousController.instance.StartCoroutine(GManager.instance.autoProcessing_CutIn.TriggeredSkillProcess(false, null));
                 }
                 }
-                    
+                #endregion
 
 
-   
                 if (moveTargetFrame != null && moveTargetFrame != null)
                 if (moveTargetFrame != null && moveTargetFrame != null)
                 {
                 {
                     if (moveTargetFrame.GetFramePermanent() == null)
                     if (moveTargetFrame.GetFramePermanent() == null)

+ 2 - 2
ProjectSettings/ProjectSettings.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:31c3e10e916fd0881248d008197fa9a8c032838ec3385c15d29b0c5371179650
-size 20167
+oid sha256:4eac1ab790db484b48551e2dd4bb033c76d4beeae2e44d9e715e77606d63231a
+size 20169