mbunch_kascope 1 год назад
Родитель
Сommit
2f962b7172
2 измененных файлов с 23 добавлено и 14 удалено
  1. 8 6
      Assets/CardEffect/EX8/Black/EX8_052.cs
  2. 15 8
      Assets/CardEffect/EX8/Black/EX8_054.cs

+ 8 - 6
Assets/CardEffect/EX8/Black/EX8_052.cs

@@ -48,7 +48,8 @@ namespace DCGO.CardEffects.EX8
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.CanTriggerWhenDigivolving(hashtable, card);
+                    return CardEffectCommons.CanTriggerWhenDigivolving(hashtable, card) &&
+                           CardEffectCommons.IsExistOnBattleAreaDigimon(card);
                 }
 
                 bool CanActivateCondition(Hashtable hashtable)
@@ -177,21 +178,22 @@ namespace DCGO.CardEffects.EX8
                     return CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card);
                 }
 
-                bool IsDeviceTrait(Permanent permanent)
+                bool IsOptionCard(Permanent permanent)
                 {
                     return permanent.IsOption &&
-                           permanent.TopCard.EqualsTraits("Device");
+                           CardEffectCommons.IsPermanentExistsOnOwnerBattleArea(permanent, card);
                 }
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.CanTriggerWhenDigivolving(hashtable, card);
+                    return CardEffectCommons.CanTriggerWhenDigivolving(hashtable, card) &&
+                           CardEffectCommons.IsExistOnBattleAreaDigimon(card);
                 }
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
                     return CardEffectCommons.HasMatchConditionPermanent(OpponentsDigimon) &&
-                           CardEffectCommons.HasMatchConditionPermanent(IsDeviceTrait);
+                           CardEffectCommons.HasMatchConditionPermanent(IsOptionCard);
                 }
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
@@ -202,7 +204,7 @@ namespace DCGO.CardEffects.EX8
 
                     selectPermanentEffect.SetUp(
                         selectPlayer: card.Owner,
-                        canTargetCondition: IsDeviceTrait,
+                        canTargetCondition: IsOptionCard,
                         canTargetCondition_ByPreSelecetedList: null,
                         canEndSelectCondition: null,
                         maxCount: 1,

+ 15 - 8
Assets/CardEffect/EX8/Black/EX8_054.cs

@@ -39,6 +39,8 @@ namespace DCGO.CardEffects.EX8
             #region When Attacking
             if (timing == EffectTiming.OnAllyAttack)
             {
+                List<ICardEffect> candidateEffects = new List<ICardEffect>();
+
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Activate 1 [When Digivolving] effect", CanUseCondition, card);
                 activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, false, EffectDiscription());
@@ -67,10 +69,20 @@ namespace DCGO.CardEffects.EX8
                 {
                     if (CardEffectCommons.IsExistOnBattleArea(card))
                     {
-                        List<ICardEffect> candidateEffects = card.PermanentOfThisCard().EffectList(EffectTiming.OnEnterFieldAnyone)
+                        candidateEffects = new List<ICardEffect>();
+
+                        foreach (CardSource source in card.PermanentOfThisCard().DigivolutionCards)
+                        {
+                            if (source.ContainsCardName("Justimon"))
+                                continue;
+
+                            List<ICardEffect> effects = source.EffectList(EffectTiming.OnEnterFieldAnyone)
                             .Clone()
-                            .Filter(cardEffect => cardEffect != null && cardEffect is ActivateICardEffect && !cardEffect.IsSecurityEffect && cardEffect.IsWhenDigivolving)
-                            .Filter(cardEffect => cardEffect.EffectSourceCard.ContainsCardName("Justimon") && !cardEffect.EffectSourceCard.EqualsTraits("X Antibody"));
+                            .Filter(cardEffect => cardEffect != null && cardEffect is ActivateICardEffect && !cardEffect.IsSecurityEffect && cardEffect.IsWhenDigivolving);
+
+                            candidateEffects.AddRange(effects);
+                        }
+                        
 
                         if (candidateEffects.Count >= 1)
                         {
@@ -85,11 +97,6 @@ namespace DCGO.CardEffects.EX8
                 {
                     if (CardEffectCommons.IsExistOnBattleArea(card))
                     {
-                        List<ICardEffect> candidateEffects = card.PermanentOfThisCard().EffectList(EffectTiming.OnEnterFieldAnyone)
-                            .Clone()
-                            .Filter(cardEffect => cardEffect != null && cardEffect is ActivateICardEffect && !cardEffect.IsSecurityEffect && cardEffect.IsWhenDigivolving)
-                            .Filter(cardEffect => cardEffect.EffectSourceCard.ContainsCardName("Justimon") && !cardEffect.EffectSourceCard.EqualsTraits("X Antibody"));
-
                         if (candidateEffects.Count >= 1)
                         {
                             ICardEffect selectedEffect = null;