Преглед изворни кода

Final adjustments for 1.5.1

mbunch_kascope пре 1 година
родитељ
комит
7b7662a30e
23 измењених фајлова са 126 додато и 144 уклоњено
  1. 1 1
      Assets/CardBaseEntity/BT18/Blue/DigiEgg/Chapmon-BT18-002.asset
  2. 2 12
      Assets/CardEffect/BT18/Black/Beetlemon_BT18_063.cs
  3. 2 12
      Assets/CardEffect/BT18/Black/MetalKabuterimon_BT18_067.cs
  4. 3 13
      Assets/CardEffect/BT18/Black/Vemmon_BT18_060.cs
  5. 12 0
      Assets/CardEffect/BT18/Blue/Calmaramon_BT18_024.cs
  6. 1 6
      Assets/CardEffect/BT18/Blue/Korikakumon_BT18_025.cs
  7. 1 6
      Assets/CardEffect/BT18/Blue/Kumamon_BT18_022.cs
  8. 12 0
      Assets/CardEffect/BT18/Blue/Lanamon_BT18_023.cs
  9. 1 6
      Assets/CardEffect/BT18/Green/Kazemon_BT18_048.cs
  10. 1 6
      Assets/CardEffect/BT18/Green/Zephyrmon_BT18_049.cs
  11. 4 9
      Assets/CardEffect/BT18/Purple/Duskmon_BT18_078.cs
  12. 2 12
      Assets/CardEffect/BT18/Purple/KaiserLeomon_BT18_077.cs
  13. 2 12
      Assets/CardEffect/BT18/Purple/Loweemon_BT18_076.cs
  14. 1 6
      Assets/CardEffect/BT18/Purple/Velgrmon_BT18_079.cs
  15. 1 6
      Assets/CardEffect/BT18/Red/Agunimon_BT18_011.cs
  16. 1 6
      Assets/CardEffect/BT18/Red/Gigasmon_BT18_014.cs
  17. 1 6
      Assets/CardEffect/BT18/Red/Grumblemon_BT18_012.cs
  18. 36 4
      Assets/CardEffect/BT18/White/LucemonLarva_BT18_086.cs
  19. 5 1
      Assets/CardEffect/BT18/Yellow/DragonsRoar_BT18_098.cs
  20. 1 6
      Assets/CardEffect/BT18/Yellow/Lobomon_BT18_037.cs
  21. 2 2
      Assets/CardEffect/BT19/Black/Machinedramon_BT19_065.cs
  22. 33 10
      Assets/CardEffect/BT19/Purple/TheWickedGodDescends_BT19_099.cs
  23. 1 2
      Assets/Scripts/CardController.cs

+ 1 - 1
Assets/CardBaseEntity/BT18/Blue/DigiEgg/Chapmon-BT18-002.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:f544158ac3f90c1072f3a689c9c20a1253add29e01954fca5ee561f19650c862
+oid sha256:a67658d33bb95bda45569dd141de9846b3177f2991fcf63d1425853fe0e1fd08
 size 1091

+ 2 - 12
Assets/CardEffect/BT18/Black/Beetlemon_BT18_063.cs

@@ -15,11 +15,6 @@ namespace DCGO.CardEffects.BT18
             // Any black or yellow tamer
             if (timing == EffectTiming.None)
             {
-                bool Condition()
-                {
-                    return card.Owner.HandCards.Contains(card);
-                }
-
                 bool PermanentCondition(Permanent targetPermanent)
                 {
                     return targetPermanent.IsTamer && (targetPermanent.TopCard.CardColors.Contains(CardColor.Black) ||
@@ -28,17 +23,12 @@ namespace DCGO.CardEffects.BT18
 
                 cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(
                     permanentCondition: PermanentCondition, digivolutionCost: 3, ignoreDigivolutionRequirement: false,
-                    card: card, condition: Condition));
+                    card: card, condition: null));
             }
 
             // J.P. Shibayama
             if (timing == EffectTiming.None)
             {
-                bool Condition()
-                {
-                    return card.Owner.HandCards.Contains(card);
-                }
-
                 bool PermanentCondition(Permanent targetPermanent)
                 {
                     return targetPermanent.TopCard.EqualsCardName("J.P. Shibayama");
@@ -46,7 +36,7 @@ namespace DCGO.CardEffects.BT18
 
                 cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(
                     permanentCondition: PermanentCondition, digivolutionCost: 2, ignoreDigivolutionRequirement: false,
-                    card: card, condition: Condition));
+                    card: card, condition: null));
             }
 
             // MetalKabuterimon

+ 2 - 12
Assets/CardEffect/BT18/Black/MetalKabuterimon_BT18_067.cs

@@ -14,11 +14,6 @@ namespace DCGO.CardEffects.BT18
             // Any black or yellow tamer
             if (timing == EffectTiming.None)
             {
-                bool Condition()
-                {
-                    return card.Owner.HandCards.Contains(card);
-                }
-
                 bool PermanentCondition(Permanent targetPermanent)
                 {
                     return targetPermanent.IsTamer && (targetPermanent.TopCard.CardColors.Contains(CardColor.Black) ||
@@ -27,17 +22,12 @@ namespace DCGO.CardEffects.BT18
 
                 cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(
                     permanentCondition: PermanentCondition, digivolutionCost: 4, ignoreDigivolutionRequirement: false,
-                    card: card, condition: Condition));
+                    card: card, condition: null));
             }
 
             // J.P. Shibayama
             if (timing == EffectTiming.None)
             {
-                bool Condition()
-                {
-                    return card.Owner.HandCards.Contains(card);
-                }
-
                 bool PermanentCondition(Permanent targetPermanent)
                 {
                     return targetPermanent.TopCard.EqualsCardName("J.P. Shibayama");
@@ -45,7 +35,7 @@ namespace DCGO.CardEffects.BT18
 
                 cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(
                     permanentCondition: PermanentCondition, digivolutionCost: 3, ignoreDigivolutionRequirement: false,
-                    card: card, condition: Condition));
+                    card: card, condition: null));
             }
 
             // Beetlemon

+ 3 - 13
Assets/CardEffect/BT18/Black/Vemmon_BT18_060.cs

@@ -142,7 +142,7 @@ namespace DCGO.CardEffects.BT18
 
             bool CanUseCondition2(Hashtable hashtable)
             {
-                if (CardEffectCommons.IsExistOnBattleArea(card))
+                if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                 {
                     if (CardEffectCommons.IsOwnerTurn(card))
                     {
@@ -156,12 +156,7 @@ namespace DCGO.CardEffects.BT18
                             {
                                 if (!evoRootTops.Contains(card))
                                 {
-                                    if (card.PermanentOfThisCard().TopCard.CardNames.Contains("Destromon"))
-                                    {
-                                        return true;
-                                    }
-
-                                    if (card.PermanentOfThisCard().TopCard.CardNames.Contains("Galacticmon"))
+                                    if (card.PermanentOfThisCard().TopCard.HasText("Vemmon"))
                                     {
                                         return true;
                                     }
@@ -250,12 +245,7 @@ namespace DCGO.CardEffects.BT18
 
                 bool CardSourceCondition(CardSource cardSource)
                 {
-                    if (cardSource.CardNames.Contains("Destromon"))
-                    {
-                        return true;
-                    }
-
-                    if (cardSource.CardNames.Contains("Galacticmon"))
+                    if (cardSource.HasText("Vemmon"))
                     {
                         return true;
                     }

+ 12 - 0
Assets/CardEffect/BT18/Blue/Calmaramon_BT18_024.cs

@@ -21,6 +21,18 @@ namespace DCGO.CardEffects.BT18
 
                 cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(permanentCondition: PermanentCondition, digivolutionCost: 1, ignoreDigivolutionRequirement: false, card: card, condition: null));
             }
+
+            if (timing == EffectTiming.None)
+            {
+                bool PermanentCondition(Permanent targetPermanent)
+                {
+                    return targetPermanent.IsTamer && targetPermanent.TopCard.CardColors.Contains(CardColor.Blue);
+                }
+
+                cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(
+                    permanentCondition: PermanentCondition, digivolutionCost: 3, ignoreDigivolutionRequirement: false,
+                    card: card, condition: null));
+            }
             #endregion
 
             #region On Play

+ 1 - 6
Assets/CardEffect/BT18/Blue/Korikakumon_BT18_025.cs

@@ -14,11 +14,6 @@ namespace DCGO.CardEffects.BT18
             // Any blue or red tamer
             if (timing == EffectTiming.None)
             {
-                bool Condition()
-                {
-                    return card.Owner.HandCards.Contains(card);
-                }
-
                 bool PermanentCondition(Permanent targetPermanent)
                 {
                     return targetPermanent.IsTamer && (targetPermanent.TopCard.CardColors.Contains(CardColor.Blue) ||
@@ -27,7 +22,7 @@ namespace DCGO.CardEffects.BT18
 
                 cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(
                     permanentCondition: PermanentCondition, digivolutionCost: 4, ignoreDigivolutionRequirement: false,
-                    card: card, condition: Condition));
+                    card: card, condition: null));
             }
 
             // Tommy Himi

+ 1 - 6
Assets/CardEffect/BT18/Blue/Kumamon_BT18_022.cs

@@ -15,11 +15,6 @@ namespace DCGO.CardEffects.BT18
             // Any blue or red tamer
             if (timing == EffectTiming.None)
             {
-                bool Condition()
-                {
-                    return card.Owner.HandCards.Contains(card);
-                }
-
                 bool PermanentCondition(Permanent targetPermanent)
                 {
                     return targetPermanent.IsTamer && (targetPermanent.TopCard.CardColors.Contains(CardColor.Blue) ||
@@ -28,7 +23,7 @@ namespace DCGO.CardEffects.BT18
 
                 cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(
                     permanentCondition: PermanentCondition, digivolutionCost: 3, ignoreDigivolutionRequirement: false,
-                    card: card, condition: Condition));
+                    card: card, condition: null));
             }
 
             // Tommy Himi

+ 12 - 0
Assets/CardEffect/BT18/Blue/Lanamon_BT18_023.cs

@@ -21,6 +21,18 @@ namespace DCGO.CardEffects.BT18
 
                 cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(permanentCondition: PermanentCondition, digivolutionCost: 0, ignoreDigivolutionRequirement: false, card: card, condition: null));
             }
+
+            if (timing == EffectTiming.None)
+            {
+                bool PermanentCondition(Permanent targetPermanent)
+                {
+                    return targetPermanent.IsTamer && targetPermanent.TopCard.CardColors.Contains(CardColor.Blue);
+                }
+
+                cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(
+                    permanentCondition: PermanentCondition, digivolutionCost: 2, ignoreDigivolutionRequirement: false,
+                    card: card, condition: null));
+            }
             #endregion
 
             #region On Play

+ 1 - 6
Assets/CardEffect/BT18/Green/Kazemon_BT18_048.cs

@@ -15,11 +15,6 @@ namespace DCGO.CardEffects.BT18
             // Any green or red tamer
             if (timing == EffectTiming.None)
             {
-                bool Condition()
-                {
-                    return card.Owner.HandCards.Contains(card);
-                }
-
                 bool PermanentCondition(Permanent targetPermanent)
                 {
                     return targetPermanent.IsTamer && (targetPermanent.TopCard.CardColors.Contains(CardColor.Green) ||
@@ -28,7 +23,7 @@ namespace DCGO.CardEffects.BT18
 
                 cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(
                     permanentCondition: PermanentCondition, digivolutionCost: 3, ignoreDigivolutionRequirement: false,
-                    card: card, condition: Condition));
+                    card: card, condition: null));
             }
 
             // Zoe Orimoto

+ 1 - 6
Assets/CardEffect/BT18/Green/Zephyrmon_BT18_049.cs

@@ -14,11 +14,6 @@ namespace DCGO.CardEffects.BT18
             // Any green or red tamer
             if (timing == EffectTiming.None)
             {
-                bool Condition()
-                {
-                    return card.Owner.HandCards.Contains(card);
-                }
-
                 bool PermanentCondition(Permanent targetPermanent)
                 {
                     return targetPermanent.IsTamer && (targetPermanent.TopCard.CardColors.Contains(CardColor.Green) ||
@@ -27,7 +22,7 @@ namespace DCGO.CardEffects.BT18
 
                 cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(
                     permanentCondition: PermanentCondition, digivolutionCost: 4, ignoreDigivolutionRequirement: false,
-                    card: card, condition: Condition));
+                    card: card, condition: null));
             }
 
             // Zoe Orimoto

+ 4 - 9
Assets/CardEffect/BT18/Purple/Duskmon_BT18_078.cs

@@ -15,11 +15,6 @@ namespace DCGO.CardEffects.BT18
             // Any purple
             if (timing == EffectTiming.None)
             {
-                bool Condition()
-                {
-                    return card.Owner.HandCards.Contains(card);
-                }
-
                 bool PermanentCondition(Permanent targetPermanent)
                 {
                     return targetPermanent.IsTamer && targetPermanent.TopCard.CardColors.Contains(CardColor.Purple);
@@ -27,7 +22,7 @@ namespace DCGO.CardEffects.BT18
 
                 cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(
                     permanentCondition: PermanentCondition, digivolutionCost: 3, ignoreDigivolutionRequirement: false,
-                    card: card, condition: Condition));
+                    card: card, condition: null));
             }
 
             // Koichi Kimura
@@ -309,9 +304,9 @@ namespace DCGO.CardEffects.BT18
                 bool DigivolveFromPermanentCondition(Permanent permanent)
                 {
                     return CardEffectCommons.IsPermanentExistsOnOwnerBattleArea(permanent, card) &&
-                           (permanent.IsDigimon || permanent.IsTamer) &&
-                           card.Owner.TrashCards.Where(DigivolveToCardCondition).Any(cardSource =>
-                               cardSource.CanPlayCardTargetFrame(permanent.PermanentFrame, false, activateClass));
+                           (permanent.IsDigimon || permanent.IsTamer);// &&
+                           //card.Owner.TrashCards.Where(DigivolveToCardCondition).Any(cardSource =>
+                           //    cardSource.CanPlayCardTargetFrame(permanent.PermanentFrame, false, activateClass));
                 }
 
                 bool DigivolveToCardCondition(CardSource cardSource)

+ 2 - 12
Assets/CardEffect/BT18/Purple/KaiserLeomon_BT18_077.cs

@@ -14,11 +14,6 @@ namespace DCGO.CardEffects.BT18
             // Any purple or yellow tamer
             if (timing == EffectTiming.None)
             {
-                bool Condition()
-                {
-                    return card.Owner.HandCards.Contains(card);
-                }
-
                 bool PermanentCondition(Permanent targetPermanent)
                 {
                     return targetPermanent.IsTamer && (targetPermanent.TopCard.CardColors.Contains(CardColor.Purple) ||
@@ -27,17 +22,12 @@ namespace DCGO.CardEffects.BT18
 
                 cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(
                     permanentCondition: PermanentCondition, digivolutionCost: 4, ignoreDigivolutionRequirement: false,
-                    card: card, condition: Condition));
+                    card: card, condition: null));
             }
 
             // Koichi Kimura
             if (timing == EffectTiming.None)
             {
-                bool Condition()
-                {
-                    return card.Owner.HandCards.Contains(card);
-                }
-
                 bool PermanentCondition(Permanent targetPermanent)
                 {
                     return targetPermanent.TopCard.EqualsCardName("Koichi Kimura");
@@ -45,7 +35,7 @@ namespace DCGO.CardEffects.BT18
 
                 cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(
                     permanentCondition: PermanentCondition, digivolutionCost: 3, ignoreDigivolutionRequirement: false,
-                    card: card, condition: Condition));
+                    card: card, condition: null));
             }
 
             // Loweemon

+ 2 - 12
Assets/CardEffect/BT18/Purple/Loweemon_BT18_076.cs

@@ -15,11 +15,6 @@ namespace DCGO.CardEffects.BT18
             // Any purple or yellow tamer
             if (timing == EffectTiming.None)
             {
-                bool Condition()
-                {
-                    return card.Owner.HandCards.Contains(card);
-                }
-
                 bool PermanentCondition(Permanent targetPermanent)
                 {
                     return targetPermanent.IsTamer && (targetPermanent.TopCard.CardColors.Contains(CardColor.Purple) ||
@@ -28,17 +23,12 @@ namespace DCGO.CardEffects.BT18
 
                 cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(
                     permanentCondition: PermanentCondition, digivolutionCost: 3, ignoreDigivolutionRequirement: false,
-                    card: card, condition: Condition));
+                    card: card, condition: null));
             }
 
             // Koichi Kimura
             if (timing == EffectTiming.None)
             {
-                bool Condition()
-                {
-                    return card.Owner.HandCards.Contains(card);
-                }
-
                 bool PermanentCondition(Permanent targetPermanent)
                 {
                     return targetPermanent.TopCard.EqualsCardName("Koichi Kimura");
@@ -46,7 +36,7 @@ namespace DCGO.CardEffects.BT18
 
                 cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(
                     permanentCondition: PermanentCondition, digivolutionCost: 2, ignoreDigivolutionRequirement: false,
-                    card: card, condition: Condition));
+                    card: card, condition: null));
             }
 
             // KaiserLeomon

+ 1 - 6
Assets/CardEffect/BT18/Purple/Velgrmon_BT18_079.cs

@@ -16,11 +16,6 @@ namespace DCGO.CardEffects.BT18
             // Any purple
             if (timing == EffectTiming.None)
             {
-                bool Condition()
-                {
-                    return card.Owner.HandCards.Contains(card);
-                }
-
                 bool PermanentCondition(Permanent targetPermanent)
                 {
                     return targetPermanent.IsTamer && targetPermanent.TopCard.CardColors.Contains(CardColor.Purple);
@@ -28,7 +23,7 @@ namespace DCGO.CardEffects.BT18
 
                 cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(
                     permanentCondition: PermanentCondition, digivolutionCost: 4, ignoreDigivolutionRequirement: false,
-                    card: card, condition: Condition));
+                    card: card, condition: null));
             }
 
             // Koichi Kimura

+ 1 - 6
Assets/CardEffect/BT18/Red/Agunimon_BT18_011.cs

@@ -14,11 +14,6 @@ namespace DCGO.CardEffects.BT18
             // Any red or purple tamer
             if (timing == EffectTiming.None)
             {
-                bool Condition()
-                {
-                    return card.Owner.HandCards.Contains(card);
-                }
-
                 bool PermanentCondition(Permanent targetPermanent)
                 {
                     return targetPermanent.IsTamer && (targetPermanent.TopCard.CardColors.Contains(CardColor.Red) ||
@@ -27,7 +22,7 @@ namespace DCGO.CardEffects.BT18
 
                 cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(
                     permanentCondition: PermanentCondition, digivolutionCost: 3, ignoreDigivolutionRequirement: false,
-                    card: card, condition: Condition));
+                    card: card, condition: null));
             }
 
             // Takuya Kanbara

+ 1 - 6
Assets/CardEffect/BT18/Red/Gigasmon_BT18_014.cs

@@ -26,11 +26,6 @@ namespace DCGO.CardEffects.BT18
             // Any red tamer
             if (timing == EffectTiming.None)
             {
-                bool Condition()
-                {
-                    return card.Owner.HandCards.Contains(card);
-                }
-
                 bool PermanentCondition(Permanent targetPermanent)
                 {
                     return targetPermanent.IsTamer && targetPermanent.TopCard.CardColors.Contains(CardColor.Red);
@@ -38,7 +33,7 @@ namespace DCGO.CardEffects.BT18
 
                 cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(
                     permanentCondition: PermanentCondition, digivolutionCost: 3, ignoreDigivolutionRequirement: false,
-                    card: card, condition: Condition));
+                    card: card, condition: null));
             }
 
             #endregion

+ 1 - 6
Assets/CardEffect/BT18/Red/Grumblemon_BT18_012.cs

@@ -26,11 +26,6 @@ namespace DCGO.CardEffects.BT18
             // Any red tamer
             if (timing == EffectTiming.None)
             {
-                bool Condition()
-                {
-                    return card.Owner.HandCards.Contains(card);
-                }
-
                 bool PermanentCondition(Permanent targetPermanent)
                 {
                     return targetPermanent.IsTamer && targetPermanent.TopCard.CardColors.Contains(CardColor.Red);
@@ -38,7 +33,7 @@ namespace DCGO.CardEffects.BT18
 
                 cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(
                     permanentCondition: PermanentCondition, digivolutionCost: 2, ignoreDigivolutionRequirement: false,
-                    card: card, condition: Condition));
+                    card: card, condition: null));
             }
 
             #endregion

+ 36 - 4
Assets/CardEffect/BT18/White/LucemonLarva_BT18_086.cs

@@ -137,13 +137,45 @@ namespace DCGO.CardEffects.BT18
             #endregion
 
             #region All Turns
-            if(timing == EffectTiming.None)
+            if (timing == EffectTiming.None)
             {
-                //TODO: DP Removal/deletion protection
-            }
-            #endregion
+                bool PermanentCondition(Permanent permanent)
+                {
+                    if (CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card))
+                    {
+                        if (permanent.DP == 0)
+                        {
+                            return true;
+                        }
+                    }
 
+                    return false;
+                }
 
+                bool NonWhiteDigimon(Permanent permanent)
+                {
+                    return permanent.IsDigimon &&
+                           !permanent.TopCard.CardColors.Contains(CardColor.White) &&
+                           permanent.TopCard.ContainsCardName("Lucemon");
+                }
+
+                bool CanUseCondition()
+                {
+                    return CardEffectCommons.IsExistOnBattleAreaDigimon(card) &&
+                           CardEffectCommons.HasMatchConditionOwnersPermanent(card, NonWhiteDigimon);
+                }
+
+                string effectName = "[All Turns] While you have a non-white Digimon with [Lucemon] in its name, none of your 0 DP Digimon can be deleted.";
+
+                cardEffects.Add(CardEffectFactory.CanNotBeDestroyedStaticEffect(
+                    permanentCondition: PermanentCondition,
+                    isInheritedEffect: false,
+                    card: card,
+                    condition: CanUseCondition,
+                    effectName: effectName
+                ));
+            }
+            #endregion
 
             return cardEffects;
         }

+ 5 - 1
Assets/CardEffect/BT18/Yellow/DragonsRoar_BT18_098.cs

@@ -151,7 +151,11 @@ namespace DCGO.CardEffects.BT18
 
                     if (card.Owner.SecurityCards.Count <= 2)
                     {
-                        yield return ContinuousController.instance.StartCoroutine(new IPutSecurityPermanent(card.PermanentOfThisCard(), CardEffectCommons.CardEffectHashtable(activateClass), toTop: false, isFaceup: false).PutSecurity());
+                        yield return ContinuousController.instance.StartCoroutine(CardObjectController.AddSecurityCard(card, toTop: false));
+
+                        yield return ContinuousController.instance.StartCoroutine(GManager.instance.GetComponent<Effects>().CreateRecoveryEffect(card.Owner));
+
+                        yield return ContinuousController.instance.StartCoroutine(new IAddSecurity(card.Owner).AddSecurity());
                     }                 
                 }
             }

+ 1 - 6
Assets/CardEffect/BT18/Yellow/Lobomon_BT18_037.cs

@@ -14,11 +14,6 @@ namespace DCGO.CardEffects.BT18
             // Any yellow or blue tamer
             if (timing == EffectTiming.None)
             {
-                bool Condition()
-                {
-                    return card.Owner.HandCards.Contains(card);
-                }
-
                 bool PermanentCondition(Permanent targetPermanent)
                 {
                     return targetPermanent.IsTamer && (targetPermanent.TopCard.CardColors.Contains(CardColor.Yellow) ||
@@ -27,7 +22,7 @@ namespace DCGO.CardEffects.BT18
 
                 cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(
                     permanentCondition: PermanentCondition, digivolutionCost: 3, ignoreDigivolutionRequirement: false,
-                    card: card, condition: Condition));
+                    card: card, condition: null));
             }
 
             // Koji Minamoto

+ 2 - 2
Assets/CardEffect/BT19/Black/Machinedramon_BT19_065.cs

@@ -108,7 +108,7 @@ namespace DCGO.CardEffects.BT19
 
                 bool IsLevel5Digimon(Permanent permanent)
                 {
-                    return permanent.IsDigimon &&
+                    return CardEffectCommons.IsPermanentExistsOnBattleAreaDigimon(permanent) && 
                            permanent.TopCard.HasLevel && permanent.TopCard.Level <= 5;
                 }
 
@@ -162,7 +162,7 @@ namespace DCGO.CardEffects.BT19
 
                 bool IsLevel5Digimon(Permanent permanent)
                 {
-                    return permanent.IsDigimon &&
+                    return CardEffectCommons.IsPermanentExistsOnBattleAreaDigimon(permanent) &&
                            permanent.TopCard.HasLevel && permanent.TopCard.Level <= 5;
                 }
 

+ 33 - 10
Assets/CardEffect/BT19/Purple/TheWickedGodDescends_BT19_099.cs

@@ -258,17 +258,27 @@ namespace DCGO.CardEffects.BT19
 
                     if (deleted)
                     {
-                        Permanent selectedPermanent = CardEffectCommons.GetPermanentFromHashtable(_hashtable);
+                        List<Permanent> selectedPermanents = CardEffectCommons.GetPermanentsFromHashtable(_hashtable);
                         List<CardSource> combinedSources = new List<CardSource>();
 
                         combinedSources.AddRange(card.Owner.HandCards);
                         combinedSources.AddRange(card.Owner.TrashCards);
 
-                        combinedSources = combinedSources.Filter(source => selectedPermanent.TopCard.GetCostItself == source.GetCostItself + 1);
+                        bool FilterOutUnselectable(CardSource source)
+                        {
+                            foreach (Permanent permanent in selectedPermanents)
+                            {
+                                return permanent.TopCard.GetCostItself + 1 == source.GetCostItself;
+                            }                                
+
+                            return false;
+                        }
+
+                        combinedSources = combinedSources.Filter(FilterOutUnselectable);
 
                         if (combinedSources.Count > 0)
                         {
-                            if (selectedPermanent != null)
+                            if (selectedPermanents.Count > 0)
                             {
                                 List<CardSource> selectedCards = new List<CardSource>();
 
@@ -306,13 +316,26 @@ namespace DCGO.CardEffects.BT19
                                     yield return null;
                                 }
 
-                                yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.PlayPermanentCards(
-                                    cardSources: selectedCards,
-                                    activateClass: activateClass,
-                                    payCost: false,
-                                    isTapped: false,
-                                    root: SelectCardEffect.Root.DigivolutionCards,
-                                    activateETB: true));
+                                if (CardEffectCommons.IsExistOnHand(selectedCards[0]))
+                                {
+                                    yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.PlayPermanentCards(
+                                        cardSources: selectedCards,
+                                        activateClass: activateClass,
+                                        payCost: false,
+                                        isTapped: false,
+                                        root: SelectCardEffect.Root.Hand,
+                                        activateETB: true));
+                                }
+                                else if (CardEffectCommons.IsExistOnTrash(selectedCards[0]))
+                                {
+                                    yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.PlayPermanentCards(
+                                        cardSources: selectedCards,
+                                        activateClass: activateClass,
+                                        payCost: false,
+                                        isTapped: false,
+                                        root: SelectCardEffect.Root.Trash,
+                                        activateETB: true));
+                                }
                             }
                         }
                     }

+ 1 - 2
Assets/Scripts/CardController.cs

@@ -2675,7 +2675,7 @@ public class DestroyPermanentsClass
         #region cut in effect
 
         // "When permanents would be deleted" effect
-
+        
         yield return ContinuousController.instance.StartCoroutine(GManager.instance.autoProcessing_CutIn.StackSkillInfos(
             CardEffectCommons.WhenPermanentWouldRemoveFieldCheckHashtable(
                 _destroytargetPermanents,
@@ -2685,7 +2685,6 @@ public class DestroyPermanentsClass
             EffectTiming.WhenPermanentWouldBeDeleted));
 
         // "When permanents would remove field" effect
-
         yield return ContinuousController.instance.StartCoroutine(GManager.instance.autoProcessing_CutIn.StackSkillInfos(
             CardEffectCommons.WhenPermanentWouldRemoveFieldCheckHashtable(
                 _destroytargetPermanents,