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

+ 1 - 1
Assets/CardBaseEntity/BT18/Red/Digimon/EmperorGreymon-BT18-018.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:1f3f6cd4dd988e979e13b7e9681beb35a1d1389ff2d5f3df23d45c2c65785c55
+oid sha256:e1ec8115e778fd61b218153501a948d9c1cced1f65c65cd9578fea021b5e6ad4
 size 1650
 size 1650

+ 1 - 1
Assets/CardBaseEntity/BT18/Red/Digimon/EmperorGreymon-BT18-018_P1.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:30575e26db0e45e97686307b4af87f640afb7d6a3aa2664b3541cee54939ea26
+oid sha256:078e5b86b37c26319d7d6894c829d533b65a6ac846d01de1e507dc626874814a
 size 1656
 size 1656

+ 1 - 1
Assets/CardBaseEntity/BT18/Yellow/Digimon/MagnaGarurumon-BT18-042.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:bbd9dfab4943396bb10448d944f390a9ec222b3db04295002080cb81dd5badac
+oid sha256:6592cda79f0890aa5590d139f210ef3544f259fe70932d2b09ea099be80613c3
 size 1656
 size 1656

+ 1 - 1
Assets/CardBaseEntity/BT18/Yellow/Digimon/MagnaGarurumon-BT18-042_P1.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:e67285afc068ccd4c0275a5644dfa7854d8afaf0d4a6b49311604810d9b52f51
+oid sha256:f3e1b1513562ea3435951e237880737000f549a4e04e9b8a69b00b653529beb3
 size 1662
 size 1662

+ 1 - 1
Assets/CardEffect/BT11/Black/Bemmon_BT11_061.cs

@@ -168,7 +168,7 @@ public class Bemmon_BT11_061 : CEntity_Effect
             yield return null;
             yield return null;
         }
         }
 
 
-        if (timing == EffectTiming.OnEnterFieldAnyone)
+        if (timing == EffectTiming.BeforePayCost)
         {
         {
             cardEffects.Add(activateClass2);
             cardEffects.Add(activateClass2);
         }
         }

+ 1 - 1
Assets/CardEffect/BT18/Black/Vemmon_BT18_060.cs

@@ -179,7 +179,7 @@ namespace DCGO.CardEffects.BT18
                 yield return null;
                 yield return null;
             }
             }
 
 
-            if (timing == EffectTiming.OnEnterFieldAnyone)
+            if (timing == EffectTiming.BeforePayCost)
             {
             {
                 cardEffects.Add(activateClass2);
                 cardEffects.Add(activateClass2);
             }
             }

+ 34 - 17
Assets/CardEffect/BT18/Purple/Zanbamon_BT18_085.cs

@@ -12,19 +12,7 @@ namespace DCGO.CardEffects.BT18
 
 
             #region Shared
             #region Shared
 
 
-            int OpponentTrashColorCount()
-            {
-                List<CardColor> cardColors = new List<CardColor>();
-
-                foreach (CardSource cardSource in card.Owner.Enemy.TrashCards)
-                {
-                    cardColors.AddRange(cardSource.CardColors);
-                }
-
-                cardColors = cardColors.Distinct().ToList();
-
-                return cardColors.Count;
-            }
+            
 
 
             #endregion
             #endregion
 
 
@@ -37,6 +25,20 @@ namespace DCGO.CardEffects.BT18
                     return !CardEffectCommons.IsExistOnField(card);
                     return !CardEffectCommons.IsExistOnField(card);
                 }
                 }
 
 
+                int OpponentTrashColorCount()
+                {
+                    List<CardColor> cardColors = new List<CardColor>();
+
+                    foreach (CardSource cardSource in card.Owner.Enemy.TrashCards)
+                    {
+                        cardColors.AddRange(cardSource.CardColors);
+                    }
+
+                    cardColors = cardColors.Distinct().ToList();
+
+                    return cardColors.Count;
+                }
+
                 bool PermanentCondition(Permanent targetPermanent)
                 bool PermanentCondition(Permanent targetPermanent)
                 {
                 {
                     return CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(targetPermanent, card);
                     return CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(targetPermanent, card);
@@ -67,7 +69,7 @@ namespace DCGO.CardEffects.BT18
 
 
             #region Your Turn
             #region Your Turn
 
 
-            /*if (timing == EffectTiming.None)
+            if (timing == EffectTiming.None)
             {
             {
                 bool Condition()
                 bool Condition()
                 {
                 {
@@ -75,12 +77,27 @@ namespace DCGO.CardEffects.BT18
                            CardEffectCommons.IsOwnerTurn(card);
                            CardEffectCommons.IsOwnerTurn(card);
                 }
                 }
 
 
-                cardEffects.Add(CardEffectFactory.ChangeSelfSAttackStaticEffect(changeValue: OpponentTrashColorCount() / 2,
+                int OpponentTrashColorCount()
+                {
+                    List<CardColor> cardColors = new List<CardColor>();
+
+                    foreach (CardSource cardSource in card.Owner.Enemy.TrashCards)
+                    {
+                        cardColors.AddRange(cardSource.BaseCardColorsFromEntity);
+                    }
+
+                    cardColors = cardColors.Distinct().ToList();
+
+                    return cardColors.Count / 2;
+                }
+
+
+                cardEffects.Add(CardEffectFactory.ChangeSelfSAttackStaticEffect(changeValue: OpponentTrashColorCount(),
                     isInheritedEffect: false, card: card, condition: Condition));
                     isInheritedEffect: false, card: card, condition: Condition));
 
 
-                cardEffects.Add(CardEffectFactory.ChangeSelfDPStaticEffect(changeValue: 2000 * (OpponentTrashColorCount() / 2),
+                cardEffects.Add(CardEffectFactory.ChangeSelfDPStaticEffect(changeValue: 2000 * (OpponentTrashColorCount()),
                     isInheritedEffect: false, card: card, condition: Condition));
                     isInheritedEffect: false, card: card, condition: Condition));
-            }*/
+            }
 
 
             #endregion
             #endregion
 
 

+ 40 - 8
Assets/CardEffect/BT18/Yellow/DarktoLightThundertoGunfire_BT18_097.cs

@@ -26,6 +26,37 @@ namespace DCGO.CardEffects.BT18
                         "[Main] You may place up to 5 [Hybrid] trait cards with different names from your hand or trash under 1 of your Tamers. Then, 1 of your Tamers with 5 or more cards under it may digivolve into [MagnaGarurumon] in the hand or trash, ignoring digivolution requirements and without paying the cost.";
                         "[Main] You may place up to 5 [Hybrid] trait cards with different names from your hand or trash under 1 of your Tamers. Then, 1 of your Tamers with 5 or more cards under it may digivolve into [MagnaGarurumon] in the hand or trash, ignoring digivolution requirements and without paying the cost.";
                 }
                 }
 
 
+                bool CanTargetCondition_ByPreSelecetedList(List<CardSource> cardSources, CardSource cardSource)
+                {
+                    List<string> cardNames = GetNamesList(cardSources);
+
+                    foreach (string name in cardNames)
+                    {
+                        if (cardSource.CardNames.Contains(name))
+                            return false;
+                    }
+
+                    return true;
+                }
+
+                List<string> GetNamesList(List<CardSource> cardSources)
+                {
+                    List<string> cardNames = new List<string>();
+
+                    foreach (CardSource cardName in cardSources)
+                    {
+                        foreach (string name in cardName.CardNames)
+                        {
+                            if (!cardNames.Contains(name))
+                            {
+                                cardNames.Add(name);
+                            }
+                        }
+                    }
+
+                    return cardNames;
+                }
+
                 bool CanUseCondition(Hashtable hashtable)
                 bool CanUseCondition(Hashtable hashtable)
                 {
                 {
                     return CardEffectCommons.CanTriggerOptionMainEffect(hashtable, card);
                     return CardEffectCommons.CanTriggerOptionMainEffect(hashtable, card);
@@ -46,9 +77,9 @@ namespace DCGO.CardEffects.BT18
                     return CardEffectCommons.IsPermanentExistsOnOwnerBattleArea(permanent, card) &&
                     return CardEffectCommons.IsPermanentExistsOnOwnerBattleArea(permanent, card) &&
                            permanent.IsTamer && permanent.DigivolutionCards.Count >= 5 &&
                            permanent.IsTamer && permanent.DigivolutionCards.Count >= 5 &&
                            (card.Owner.HandCards.Where(DigivolveToCardCondition).Any(cardSource =>
                            (card.Owner.HandCards.Where(DigivolveToCardCondition).Any(cardSource =>
-                                cardSource.CanPlayCardTargetFrame(permanent.PermanentFrame, false, activateClass)) ||
+                                cardSource.CanPlayCardTargetFrame(permanent.PermanentFrame, false, activateClass, ignore: CardEffectCommons.IgnoreRequirement.All)) ||
                             card.Owner.TrashCards.Where(DigivolveToCardCondition).Any(cardSource =>
                             card.Owner.TrashCards.Where(DigivolveToCardCondition).Any(cardSource =>
-                                cardSource.CanPlayCardTargetFrame(permanent.PermanentFrame, false, activateClass)));
+                                cardSource.CanPlayCardTargetFrame(permanent.PermanentFrame, false, activateClass, SelectCardEffect.Root.Trash, ignore: CardEffectCommons.IgnoreRequirement.All)));
                 }
                 }
 
 
                 bool DigivolveToCardCondition(CardSource cardSource)
                 bool DigivolveToCardCondition(CardSource cardSource)
@@ -80,8 +111,8 @@ namespace DCGO.CardEffects.BT18
                             cardEffect: activateClass);
                             cardEffect: activateClass);
 
 
                         selectPermanentEffect.SetUpCustomMessage(
                         selectPermanentEffect.SetUpCustomMessage(
-                            "Select 1 of your Tamers that will digivolve.",
-                            "The opponent is selecting 1 of their Tamers that will digivolve.");
+                            "Select 1 of your Tamers that will add digivolution cards.",
+                            "The opponent is selecting 1 of their Tamers that will add digivolution cards.");
 
 
                         yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
                         yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
 
 
@@ -103,7 +134,7 @@ namespace DCGO.CardEffects.BT18
                                 selectHandEffect.SetUp(
                                 selectHandEffect.SetUp(
                                     selectPlayer: card.Owner,
                                     selectPlayer: card.Owner,
                                     canTargetCondition: SelectHybridCardCondition,
                                     canTargetCondition: SelectHybridCardCondition,
-                                    canTargetCondition_ByPreSelecetedList: null,
+                                    canTargetCondition_ByPreSelecetedList: CanTargetCondition_ByPreSelecetedList,
                                     canEndSelectCondition: null,
                                     canEndSelectCondition: null,
                                     maxCount: Math.Min(5,
                                     maxCount: Math.Min(5,
                                         CardEffectCommons.MatchConditionOwnersCardCountInHand(card, SelectHybridCardCondition)),
                                         CardEffectCommons.MatchConditionOwnersCardCountInHand(card, SelectHybridCardCondition)),
@@ -127,7 +158,7 @@ namespace DCGO.CardEffects.BT18
 
 
                                 selectCardEffect.SetUp(
                                 selectCardEffect.SetUp(
                                     canTargetCondition: SelectHybridCardCondition,
                                     canTargetCondition: SelectHybridCardCondition,
-                                    canTargetCondition_ByPreSelecetedList: null,
+                                    canTargetCondition_ByPreSelecetedList: CanTargetCondition_ByPreSelecetedList,
                                     canEndSelectCondition: null,
                                     canEndSelectCondition: null,
                                     canNoSelect: () => true,
                                     canNoSelect: () => true,
                                     selectCardCoroutine: null,
                                     selectCardCoroutine: null,
@@ -276,13 +307,14 @@ namespace DCGO.CardEffects.BT18
                                     CardEffectCommons.DigivolveIntoHandOrTrashCard(
                                     CardEffectCommons.DigivolveIntoHandOrTrashCard(
                                         targetPermanent: selectedPermanent,
                                         targetPermanent: selectedPermanent,
                                         cardCondition: DigivolveToCardCondition,
                                         cardCondition: DigivolveToCardCondition,
-                                        payCost: true,
+                                        payCost: false,
                                         reduceCostTuple: null,
                                         reduceCostTuple: null,
                                         fixedCostTuple: null,
                                         fixedCostTuple: null,
                                         ignoreDigivolutionRequirementFixedCost: 0,
                                         ignoreDigivolutionRequirementFixedCost: 0,
                                         isHand: fromHand,
                                         isHand: fromHand,
                                         activateClass: activateClass,
                                         activateClass: activateClass,
-                                        successProcess: null));
+                                        successProcess: null,
+                                        ignoreRequirements: CardEffectCommons.IgnoreRequirement.All));
                             }
                             }
                         }
                         }
                     }
                     }

+ 24 - 13
Assets/Scripts/CardEffectFactory/KeyWordEffects/BlastDNADigivolution.cs

@@ -33,18 +33,6 @@ public partial class CardEffectFactory
         List<Permanent> permanentSources = new List<Permanent>();
         List<Permanent> permanentSources = new List<Permanent>();
         List<CardSource> handSources = new List<CardSource>();
         List<CardSource> handSources = new List<CardSource>();
 
 
-        foreach (BlastDNACondition DNACondition in blastDNAConditions)
-        {
-            DNACondition.Permanents = fieldPermanents.Filter(permanent => permanent.TopCard.EqualsCardName(DNACondition.Name));
-            DNACondition.CardSources = card.Owner.HandCards.Filter(cardSource => cardSource.EqualsCardName(DNACondition.Name));
-
-            permanentSources.AddRange(DNACondition.Permanents);
-            handSources.AddRange(DNACondition.CardSources);
-        }
-
-        FilterDNAPermanents();
-        FilterDNAHandSources();
-
         void FilterDNAPermanents()
         void FilterDNAPermanents()
         {
         {
             if (blastDNAConditions[0].Permanents.Count >= 1 && blastDNAConditions[0].CardSources.Count == 0)
             if (blastDNAConditions[0].Permanents.Count >= 1 && blastDNAConditions[0].CardSources.Count == 0)
@@ -65,6 +53,18 @@ public partial class CardEffectFactory
 
 
         bool HasValidDNATargets()
         bool HasValidDNATargets()
         {
         {
+            foreach (BlastDNACondition DNACondition in blastDNAConditions)
+            {
+                DNACondition.Permanents = fieldPermanents.Filter(permanent => permanent.TopCard.EqualsCardName(DNACondition.Name));
+                DNACondition.CardSources = card.Owner.HandCards.Filter(cardSource => cardSource.EqualsCardName(DNACondition.Name));
+
+                permanentSources.AddRange(DNACondition.Permanents);
+                handSources.AddRange(DNACondition.CardSources);
+            }
+
+            FilterDNAPermanents();
+            FilterDNAHandSources();
+
             if (blastDNAConditions[0].Permanents.Count(permanent => !permanent.TopCard.CanNotEvolve(permanent)) > 0 && blastDNAConditions[1].CardSources.Count > 0)
             if (blastDNAConditions[0].Permanents.Count(permanent => !permanent.TopCard.CanNotEvolve(permanent)) > 0 && blastDNAConditions[1].CardSources.Count > 0)
                 return true;
                 return true;
 
 
@@ -214,7 +214,18 @@ public partial class CardEffectFactory
                     yield return ContinuousController.instance.StartCoroutine(CardObjectController.CreateNewPermanent(playedPermanent, frameID));
                     yield return ContinuousController.instance.StartCoroutine(CardObjectController.CreateNewPermanent(playedPermanent, frameID));
                 }
                 }
 
 
-                int[] JogressEvoRootsFrameIDs = { selectedPermanent.PermanentFrame.FrameID, selectedCardSource.PermanentOfThisCard().PermanentFrame.FrameID };
+                int[] JogressEvoRootsFrameIDs = { 0, 0 };
+
+                if (selectedPermanent.TopCard.EqualsCardName(blastDNAConditions[0].Name))
+                {
+                    JogressEvoRootsFrameIDs[0] = selectedPermanent.PermanentFrame.FrameID;
+                    JogressEvoRootsFrameIDs[1] = selectedCardSource.PermanentOfThisCard().PermanentFrame.FrameID;
+                }
+                else
+                {
+                    JogressEvoRootsFrameIDs[0] = selectedCardSource.PermanentOfThisCard().PermanentFrame.FrameID;
+                    JogressEvoRootsFrameIDs[1] = selectedPermanent.PermanentFrame.FrameID;
+                }
 
 
                 if (card.CanPlayJogress(true))
                 if (card.CanPlayJogress(true))
                 {
                 {

+ 1 - 1
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:4c51bdfb4e0015e6ba11c3f497751d45fba8db504bfe5210800f95875fad8d90
+oid sha256:f0ba8508d58e69327c952c782addc46974039816c8d25361ed43caf147a7c98c
 size 20166
 size 20166