소스 검색

update 1.5.10

mbunch_kascope 1 년 전
부모
커밋
cdc5d246a7

+ 1 - 1
Assets/CardEffect/BT18/Purple/LucemonChaosMode_BT18_082.cs

@@ -24,7 +24,7 @@ namespace DCGO.CardEffects.BT18
                 }
 
                 cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(permanentCondition: PermanentCondition,
-                    digivolutionCost: 6, ignoreDigivolutionRequirement: true, card: card, condition: null));
+                    digivolutionCost: 6, ignoreDigivolutionRequirement: false, card: card, condition: null));
             }
 
             #endregion

+ 19 - 19
Assets/CardEffect/BT19/Purple/TheWickedGodDescends_BT19_099.cs

@@ -182,6 +182,8 @@ namespace DCGO.CardEffects.BT19
             #region All Turns - Delay
             if (timing == EffectTiming.WhenRemoveField)
             {
+                int playCostValue = -1;
+
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Play 1 [Wicked God] trait Digimon card from hand or trash", CanUseCondition, card);
                 activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
@@ -200,18 +202,7 @@ namespace DCGO.CardEffects.BT19
                     }
 
                     return false;
-                }
-
-                bool CanPlayWickedGodCondition(CardSource cardSource)
-                {
-                    if (CardEffectCommons.CanPlayAsNewPermanent(cardSource: cardSource, payCost: false, cardEffect: activateClass))
-                    {
-                        return cardSource.IsDigimon && 
-                               cardSource.ContainsTraits("Wicked God");
-                    }
-
-                    return false;
-                }                
+                }            
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
@@ -263,22 +254,31 @@ namespace DCGO.CardEffects.BT19
                     {
                         List<Permanent> selectedPermanents = CardEffectCommons.GetPermanentsFromHashtable(_hashtable);
 
-                        bool FilterOutUnselectable(CardSource source)
+                        bool CanPlayWickedGodCondition(CardSource cardSource)
                         {
                             foreach (Permanent permanent in selectedPermanents)
                             {
                                 if (PermanentCondition(permanent))
-                                    return permanent.TopCard.GetCostItself + 1 == source.GetCostItself;
-                            }
+                                {
+                                    if(permanent.TopCard.GetCostItself + 1 == cardSource.GetCostItself)
+                                    {
+                                        if (CardEffectCommons.CanPlayAsNewPermanent(cardSource: cardSource, payCost: false, cardEffect: activateClass))
+                                        {
+                                            return cardSource.IsDigimon &&
+                                                   cardSource.ContainsTraits("Wicked God");
+                                        }
+                                    }
+                                }
+                            }                         
 
                             return false;
                         }
 
                         if (selectedPermanents.Count > 0)
                         {
-                            if (card.Owner.HandCards.Count(FilterOutUnselectable) >= 1 || CardEffectCommons.HasMatchConditionOwnersCardInTrash(card, FilterOutUnselectable))
+                            if (card.Owner.HandCards.Count(CanPlayWickedGodCondition) >= 1 || CardEffectCommons.HasMatchConditionOwnersCardInTrash(card, CanPlayWickedGodCondition))
                             {
-                                if (card.Owner.HandCards.Count(FilterOutUnselectable) >= 1 && CardEffectCommons.HasMatchConditionOwnersCardInTrash(card, FilterOutUnselectable))
+                                if (card.Owner.HandCards.Count(CanPlayWickedGodCondition) >= 1 && CardEffectCommons.HasMatchConditionOwnersCardInTrash(card, CanPlayWickedGodCondition))
                                 {
                                     if (card.Owner.isYou)
                                     {
@@ -306,12 +306,12 @@ namespace DCGO.CardEffects.BT19
                                     }
                                 }
 
-                                else if (card.Owner.HandCards.Count(FilterOutUnselectable) == 0 && CardEffectCommons.HasMatchConditionOwnersCardInTrash(card, FilterOutUnselectable))
+                                else if (card.Owner.HandCards.Count(CanPlayWickedGodCondition) == 0 && CardEffectCommons.HasMatchConditionOwnersCardInTrash(card, CanPlayWickedGodCondition))
                                 {
                                     SetFromHand(false);
                                 }
 
-                                else if (card.Owner.HandCards.Count(FilterOutUnselectable) >= 1 && card.Owner.TrashCards.Count(FilterOutUnselectable) == 0)
+                                else if (card.Owner.HandCards.Count(CanPlayWickedGodCondition) >= 1 && card.Owner.TrashCards.Count(CanPlayWickedGodCondition) == 0)
                                 {
                                     SetFromHand(true);
                                 }

+ 1 - 1
Assets/CardEffect/BT6/Blue/Gabumon_BT6_019.cs

@@ -95,7 +95,7 @@ public class Gabumon_BT6_019 : CEntity_Effect
                 {
                     if (CardEffectCommons.CanUnsuspend(card.PermanentOfThisCard()))
                     {
-                        if (card.PermanentOfThisCard().TopCard.CardNames.Contains("Gabumon-BondofFriendship"))
+                        if (card.PermanentOfThisCard().TopCard.ContainsCardName("Gabumon - Bond of Friendship"))
                         {
                             return true;
                         }

+ 4 - 3
Assets/CardEffect/LM/Black/BlackScramble_LM_031.cs

@@ -36,7 +36,8 @@ namespace DCGO.CardEffects.LM
 
                 bool CanSelectOwnPermanentCondition(Permanent permanent)
                 {
-                    return CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card) && card.Owner.HandCards.Where(CanSelectHandCardCondition).Any(cardSource => cardSource.CanPlayCardTargetFrame(permanent.PermanentFrame, false, activateClass));
+                    return CanSelectHandCardCondition(permanent.TopCard) &&
+                           card.Owner.HandCards.Where(CanSelectHandCardCondition).Any(cardSource => cardSource.CanPlayCardTargetFrame(permanent.PermanentFrame, false, activateClass));
                 }
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
@@ -95,12 +96,12 @@ namespace DCGO.CardEffects.LM
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Return a black Digimon to top of the deck from trash, then play a black Digimon from trash.", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
                 cardEffects.Add(activateClass);
 
                 string EffectDiscription()
                 {
-                    return "[Main] <Delay> Return 1 black Digimon card from your trash to the top of the deck. Then, if you don't have a Digimon, you may play 1 black Digimon card with 2000 DP or less from your trash without paying the cost.";
+                    return "[Start of your Turn] If your opponent has a Digimon, <Delay>.\r\n• Return 1 black Digimon card from your trash to the top of the deck. Then, if you don't have a Digimon, you may play 1 black Digimon card with 2000 DP or less from your trash without paying the cost.";
                 }
 
                 bool CanSelectCardCondition(CardSource cardSource)

+ 4 - 3
Assets/CardEffect/LM/Blue/BlueScramble_LM_028.cs

@@ -36,7 +36,8 @@ namespace DCGO.CardEffects.LM
 
                 bool CanSelectOwnPermanentCondition(Permanent permanent)
                 {
-                    return CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card) && card.Owner.HandCards.Where(CanSelectHandCardCondition).Any(cardSource => cardSource.CanPlayCardTargetFrame(permanent.PermanentFrame, false, activateClass));
+                    return CanSelectHandCardCondition(permanent.TopCard) &&
+                           card.Owner.HandCards.Where(CanSelectHandCardCondition).Any(cardSource => cardSource.CanPlayCardTargetFrame(permanent.PermanentFrame, false, activateClass));
                 }
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
@@ -95,12 +96,12 @@ namespace DCGO.CardEffects.LM
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Return a blue Digimon to top of the deck from trash, then play a blue Digimon from trash.", CanUseCondition, card);
-                activateClass.SetUpActivateClass(null, ActivateCoroutine, -1, false, EffectDiscription());
+                activateClass.SetUpActivateClass(null, ActivateCoroutine, -1, true, EffectDiscription());
                 cardEffects.Add(activateClass);
 
                 string EffectDiscription()
                 {
-                    return "[Main] <Delay> Return 1 blue Digimon card from your trash to the top of the deck. Then, if you don't have a Digimon, you may play 1 blue Digimon card with 2000 DP or less from your trash without paying the cost.";
+                    return "[Start of your Turn] If your opponent has a Digimon, <Delay>.\r\n• Return 1 blue Digimon card from your trash to the top of the deck. Then, if you don't have a Digimon, you may play 1 blue Digimon card with 2000 DP or less from your trash without paying the cost.";
                 }
 
                 bool CanSelectCardCondition(CardSource cardSource)

+ 4 - 3
Assets/CardEffect/LM/Green/GreenScramble_LM_030.cs

@@ -36,7 +36,8 @@ namespace DCGO.CardEffects.LM
 
                 bool CanSelectOwnPermanentCondition(Permanent permanent)
                 {
-                    return CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card) && card.Owner.HandCards.Where(CanSelectHandCardCondition).Any(cardSource => cardSource.CanPlayCardTargetFrame(permanent.PermanentFrame, false, activateClass));
+                    return CanSelectHandCardCondition(permanent.TopCard) &&
+                           card.Owner.HandCards.Where(CanSelectHandCardCondition).Any(cardSource => cardSource.CanPlayCardTargetFrame(permanent.PermanentFrame, false, activateClass));
                 }
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
@@ -95,12 +96,12 @@ namespace DCGO.CardEffects.LM
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Return a green Digimon to top of the deck from trash, then play a green Digimon from trash.", CanUseCondition, card);
-                activateClass.SetUpActivateClass(null, ActivateCoroutine, -1, false, EffectDiscription());
+                activateClass.SetUpActivateClass(null, ActivateCoroutine, -1, true, EffectDiscription());
                 cardEffects.Add(activateClass);
 
                 string EffectDiscription()
                 {
-                    return "[Main] <Delay> Return 1 green Digimon card from your trash to the top of the deck. Then, if you don't have a Digimon, you may play 1 green Digimon card with 2000 DP or less from your trash without paying the cost.";
+                    return "[Start of your Turn] If your opponent has a Digimon, <Delay>.\r\n• Return 1 green Digimon card from your trash to the top of the deck. Then, if you don't have a Digimon, you may play 1 green Digimon card with 2000 DP or less from your trash without paying the cost.";
                 }
 
                 bool CanSelectCardCondition(CardSource cardSource)

+ 1 - 1
Assets/CardEffect/LM/Purple/MegidramonAce_LM_026.cs

@@ -161,7 +161,7 @@ namespace DCGO.CardEffects.LM
                 {
                     return CardEffectCommons.IsExistOnBattleAreaDigimon(card) &&
                            CardEffectCommons.CanTriggerWhenRemoveField(hashtable, card) &&
-                           activateClass.IsSameEffect(CardEffectCommons.GetCardEffectFromHashtable(hashtable));
+                           !activateClass.IsSameEffect(CardEffectCommons.GetCardEffectFromHashtable(hashtable));
                 }
 
                 bool CanSelectCardCondition(CardSource cardSource)

+ 5 - 4
Assets/CardEffect/LM/Purple/PurpleScramble_LM_032.cs

@@ -36,7 +36,8 @@ namespace DCGO.CardEffects.LM
 
                 bool CanSelectOwnPermanentCondition(Permanent permanent)
                 {
-                    return CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card) && card.Owner.HandCards.Where(CanSelectHandCardCondition).Any(cardSource => cardSource.CanPlayCardTargetFrame(permanent.PermanentFrame, false, activateClass));
+                    return CanSelectHandCardCondition(permanent.TopCard) && 
+                           card.Owner.HandCards.Where(CanSelectHandCardCondition).Any(cardSource => cardSource.CanPlayCardTargetFrame(permanent.PermanentFrame, false, activateClass));
                 }
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
@@ -90,17 +91,17 @@ namespace DCGO.CardEffects.LM
             }
             #endregion
 
-            #region Main Delay
+            #region Start of Turn Delay
             if (timing == EffectTiming.OnStartTurn)
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Return a purple Digimon to top of the deck from trash, then play a purple Digimon from trash.", CanUseCondition, card);
-                activateClass.SetUpActivateClass(null, ActivateCoroutine, -1, false, EffectDiscription());
+                activateClass.SetUpActivateClass(null, ActivateCoroutine, -1, true, EffectDiscription());
                 cardEffects.Add(activateClass);
 
                 string EffectDiscription()
                 {
-                    return "[Main] <Delay> Return 1 purple Digimon card from your trash to the top of the deck. Then, if you don't have a Digimon, you may play 1 purple Digimon card with 2000 DP or less from your trash without paying the cost.";
+                    return "[Start of your Turn] If your opponent has a Digimon, <Delay>.\r\n• Return 1 purple Digimon card from your trash to the top of the deck. Then, if you don't have a Digimon, you may play 1 purple Digimon card with 2000 DP or less from your trash without paying the cost.";
                 }
 
                 bool CanSelectCardCondition(CardSource cardSource)

+ 4 - 3
Assets/CardEffect/LM/Red/RedScramble_LM_027.cs

@@ -36,7 +36,8 @@ namespace DCGO.CardEffects.LM
 
                 bool CanSelectOwnPermanentCondition(Permanent permanent)
                 {
-                    return CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card) && card.Owner.HandCards.Where(CanSelectHandCardCondition).Any(cardSource => cardSource.CanPlayCardTargetFrame(permanent.PermanentFrame, false, activateClass));
+                    return CanSelectHandCardCondition(permanent.TopCard) &&
+                           card.Owner.HandCards.Where(CanSelectHandCardCondition).Any(cardSource => cardSource.CanPlayCardTargetFrame(permanent.PermanentFrame, false, activateClass));
                 }
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
@@ -95,12 +96,12 @@ namespace DCGO.CardEffects.LM
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Return a red Digimon to top of the deck from trash, then play a red Digimon from trash.", CanUseCondition, card);
-                activateClass.SetUpActivateClass(null, ActivateCoroutine, -1, false, EffectDiscription());
+                activateClass.SetUpActivateClass(null, ActivateCoroutine, -1, true, EffectDiscription());
                 cardEffects.Add(activateClass);
 
                 string EffectDiscription()
                 {
-                    return "[Main] <Delay> Return 1 red Digimon card from your trash to the top of the deck. Then, if you don't have a Digimon, you may play 1 red Digimon card with 2000 DP or less from your trash without paying the cost.";
+                    return "[Start of your Turn] If your opponent has a Digimon, <Delay>.\r\n• Return 1 red Digimon card from your trash to the top of the deck. Then, if you don't have a Digimon, you may play 1 red Digimon card with 2000 DP or less from your trash without paying the cost.";
                 }
 
                 bool CanSelectCardCondition(CardSource cardSource)

+ 4 - 3
Assets/CardEffect/LM/Yellow/YellowScramble_LM_029.cs

@@ -36,7 +36,8 @@ namespace DCGO.CardEffects.LM
 
                 bool CanSelectOwnPermanentCondition(Permanent permanent)
                 {
-                    return CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card) && card.Owner.HandCards.Where(CanSelectHandCardCondition).Any(cardSource => cardSource.CanPlayCardTargetFrame(permanent.PermanentFrame, false, activateClass));
+                    return CanSelectHandCardCondition(permanent.TopCard) &&
+                           card.Owner.HandCards.Where(CanSelectHandCardCondition).Any(cardSource => cardSource.CanPlayCardTargetFrame(permanent.PermanentFrame, false, activateClass));
                 }
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
@@ -95,12 +96,12 @@ namespace DCGO.CardEffects.LM
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Return a yellow Digimon to top of the deck from trash, then play a yellow Digimon from trash.", CanUseCondition, card);
-                activateClass.SetUpActivateClass(null, ActivateCoroutine, -1, false, EffectDiscription());
+                activateClass.SetUpActivateClass(null, ActivateCoroutine, -1, true, EffectDiscription());
                 cardEffects.Add(activateClass);
 
                 string EffectDiscription()
                 {
-                    return "[Main] <Delay> Return 1 yellow Digimon card from your trash to the top of the deck. Then, if you don't have a Digimon, you may play 1 yellow Digimon card with 2000 DP or less from your trash without paying the cost.";
+                    return "[Start of your Turn] If your opponent has a Digimon, <Delay>.\r\n• Return 1 yellow Digimon card from your trash to the top of the deck. Then, if you don't have a Digimon, you may play 1 yellow Digimon card with 2000 DP or less from your trash without paying the cost.";
                 }
 
                 bool CanSelectCardCondition(CardSource cardSource)

+ 2 - 2
ProjectSettings/ProjectSettings.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:c2ee1b2b60df63ed91322c80501fc05045f036d414eb248cbda2f06fd198a064
-size 20166
+oid sha256:b9bcadff0a79bab566dd0c78f53953b1e359eb00b1846d8dff146cba6f260743
+size 20167