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

+ 1 - 1
Assets/CardEffect/BT14/Red/BT14_017.cs

@@ -40,7 +40,7 @@ namespace DCGO.CardEffects.BT14
                     {
                         if (!CardEffectCommons.IsExistOnBreedingAreaDigimon(card))
                         {
-                            if (cardSource.CardDP <= 6000)
+                            if (!cardSource.IsDigiEgg && cardSource.CardDP <= 6000)
                             {
                                 return true;
                             }

+ 1 - 1
Assets/CardEffect/BT20/Purple/BT20_077.cs

@@ -350,7 +350,7 @@ namespace DCGO.CardEffects.BT20
                 changeValue: 2000,
                 isInheritedEffect: false,
                 card: card,
-                condition: null,
+                condition: CanUseCondition,
                 effectName: () => "Your Digimon with [Dark Dragon] or [Evil Dragon] traits gain DP +2000"));
 
             }

+ 1 - 1
Assets/CardEffect/BT21/Purple/BT21_088.cs

@@ -156,7 +156,7 @@ namespace DCGO.CardEffects.BT21
 
                 bool CanSelectPermanentCondition(Permanent permanent)
                 {
-                    if (CardEffectCommons.IsPermanentExistsOnOwnerBattleArea(permanent, card))
+                    if (CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card))
                     {
                         if (permanent.IsTamer)
                         {

+ 1 - 1
Assets/CardEffect/BT6/Yellow/BT6_033.cs

@@ -54,7 +54,7 @@ public class BT6_033 : CEntity_Effect
 
                             List<SelectionElement<int>> selectionElements = new List<SelectionElement<int>>();
 
-                            for(int i = 1; i < card.Owner.SecurityCards.Count - 3; i++)
+                            for(int i = 1; i <= card.Owner.SecurityCards.Count - 3; i++)
                                 selectionElements.Add(new SelectionElement<int>(message: $"{i}", value: i, spriteIndex: 0));
 
                             string selectPlayerMessage = "Choose how many cards to trash?";

+ 13 - 9
Assets/CardEffect/EX2/Red/EX2_056.cs

@@ -1,5 +1,6 @@
 using System.Collections;
 using System.Collections.Generic;
+using System.Diagnostics;
 using System.Linq;
 
 namespace DCGO.CardEffects.EX2
@@ -74,7 +75,7 @@ namespace DCGO.CardEffects.EX2
 
                 string EffectDiscription()
                 {
-                    return "[Your Turn] When one of your Digimon would digivolve into a Digimon with [Gallantmon] or [Growlmon] in its name, that Digimon gains \"[When Digivolving] EX8-053 (This Digimon can attack when your opponent has 1 or more memory.)\" for the turn.";
+                    return "[Your Turn] When one of your Digimon would digivolve into a Digimon with [Gallantmon] or [Growlmon] in its name, that Digimon gains \"[When Digivolving] <Blitz> (This Digimon can attack when your opponent has 1 or more memory.)\" for the turn.";
                 }
 
                 bool DigivolvePermanentCondition(Permanent permanent)
@@ -155,24 +156,27 @@ namespace DCGO.CardEffects.EX2
                             foreach (Permanent permanent in card.Owner.GetBattleAreaPermanents().Filter(PermanentCondition))
                             {
                                 AddSkillClass addSkillClass = new AddSkillClass();
-                                addSkillClass.SetUpICardEffect("Your Digimons get Blitz", CanUseCondition1, permanent.TopCard);
+                                addSkillClass.SetUpICardEffect("Your Digimons get Blitz", CanUseCondition1, card);
                                 addSkillClass.SetUpAddSkillClass(cardSourceCondition: CardSourceCondition, getEffects: GetEffects);
-                                CardEffectCommons.AddEffectToPermanent(permanent, effectDuration: EffectDuration.UntilEachTurnEnd, card: permanent.TopCard, cardEffect: addSkillClass, timing: EffectTiming.None);
+                                CardEffectCommons.AddEffectToPlayer(effectDuration: EffectDuration.UntilEachTurnEnd, card: card, cardEffect: addSkillClass, timing: EffectTiming.None);
 
                                 yield return ContinuousController.instance.StartCoroutine(GManager.instance.GetComponent<Effects>().CreateDebuffEffect(permanent));
 
-                                bool CardSourceCondition(CardSource source)
+                                bool CanUseCondition1(Hashtable hashtable)
                                 {
                                     return true;
                                 }
 
-                                bool CanUseCondition1(Hashtable hashtable1)
+                                bool CardSourceCondition(CardSource cardSource)
                                 {
-                                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(permanent.TopCard))
+                                    if (CardEffectCommons.IsExistOnBattleArea(cardSource))
                                     {
-                                        if (CardEffectCommons.CanTriggerWhenDigivolving(hashtable1, card))
+                                        if (cardSource == cardSource.PermanentOfThisCard().TopCard)
                                         {
-                                            return true;
+                                            if (PermanentCondition(cardSource.PermanentOfThisCard()))
+                                            {
+                                                return true;
+                                            }
                                         }
                                     }
 
@@ -196,7 +200,7 @@ namespace DCGO.CardEffects.EX2
                                         cardEffects.Add(CardEffectFactory.BlitzSelfEffect(isInheritedEffect: false,
                                             card: cardSource,
                                             condition: Condition,
-                                            isWhenDigivolving: false));
+                                            isWhenDigivolving: true));
                                     }
 
                                     return cardEffects;

+ 1 - 1
Assets/CardEffect/EX3/Blue/EX3_019.cs

@@ -84,7 +84,7 @@ namespace DCGO.CardEffects.EX3
 
                 bool PermanentCondition(Permanent targetPermanent)
                 {
-                    return CardEffectCommons.IsPermanentExistsOnOpponentBattleArea(targetPermanent, card) && targetPermanent.HasNoDigivolutionCards;
+                    return CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(targetPermanent, card) && targetPermanent.HasNoDigivolutionCards;
                 }
 
                 bool CardSourceCondition(CardSource cardSource)

+ 7 - 4
Assets/CardEffect/EX7/Red/EX7_014.cs

@@ -193,13 +193,16 @@ namespace DCGO.CardEffects.EX7
 
                     bool CardCondition(CardSource cardSource)
                     {
-                        if (cardSource.IsDigimon)
+                        if (cardSource.Owner == card.Owner.Enemy)
                         {
-                            if (cardSource.CardDP <= 6000)
+                            if (cardSource.IsDigimon)
                             {
-                                return true;
+                                if (cardSource.CardDP <= 6000)
+                                {
+                                    return true;
+                                }
                             }
-                        }
+                        } 
 
                         return false;
                      }

+ 9 - 2
Assets/CardEffect/EX8/Black/EX8_053.cs

@@ -1,5 +1,6 @@
 using System.Collections;
 using System.Collections.Generic;
+using System.Diagnostics;
 using System.Linq;
 
 namespace DCGO.CardEffects.EX8
@@ -24,6 +25,12 @@ namespace DCGO.CardEffects.EX8
 
             if (timing == EffectTiming.RulesTiming || timing == EffectTiming.AfterEffectsActivate)
             {
+                bool OpponentsDigimon(Permanent permanent)
+                {
+                    return permanent.IsDigimon &&
+                           permanent.DP >= 13000;
+                }
+
                 if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                 {
                     Permanent thisPermanent = card.PermanentOfThisCard();
@@ -38,7 +45,7 @@ namespace DCGO.CardEffects.EX8
                 {
                     return CardEffectCommons.IsExistOnBattleAreaDigimon(card) &&
                            card.PermanentOfThisCard().TopCard == card &&
-                           CardEffectCommons.HasMatchConditionOpponentsPermanent(card, permanent => permanent.IsDigimon && permanent.DP >= 13000);
+                           CardEffectCommons.HasMatchConditionOpponentsPermanent(card, OpponentsDigimon);
                 }
             }
 
@@ -80,7 +87,7 @@ namespace DCGO.CardEffects.EX8
                     List<CardSource> selectedCards = new List<CardSource>();
 
                     yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.RevealDeckTopCardsAndProcessForAll(
-                        revealCount: 1,
+                        revealCount: 3,
                         simplifiedSelectCardCondition:
                         new SimplifiedSelectCardConditionClass(
                             canTargetCondition: PlayableMineralorRock,

+ 4 - 1
Assets/Scripts/CardEffectCommons.cs

@@ -527,13 +527,16 @@ public partial class CardEffectCommons
                 {
                     if (!cardSource.CanNotEvolve(targetPermanent))
                     {
+                        bool isBreeding = cardSource.Owner.GetBreedingAreaPermanents().Contains(targetPermanent);
+
                         if (cardSource.CanPlayCardTargetFrame(
                             frame: targetPermanent.PermanentFrame,
                             PayCost: payCost,
                             cardEffect: activateClass,
                             root: root,
                             fixedCost: fixedCost,
-                            ignore: ignoreRequirements))
+                            ignore: ignoreRequirements,
+                            isBreedingArea: isBreeding))
                         {
                             return true;
                         }

+ 25 - 2
Assets/Scripts/CardEffectCommons/GameContextDeterminarion.cs

@@ -158,6 +158,29 @@ public partial class CardEffectCommons
 
     #endregion
 
+    #region Whether the permanent is in the Field
+    public static bool IsPermanentExistsOnField(Permanent permanent)
+    {
+        if (permanent != null)
+        {
+            if (permanent.TopCard != null)
+            {
+                if (permanent.TopCard.Owner.GetBreedingAreaPermanents().Contains(permanent))
+                {
+                    return true;
+                }
+
+                if (permanent.TopCard.Owner.GetBattleAreaPermanents().Contains(permanent))
+                {
+                    return true;
+                }
+            }
+        }
+
+        return false;
+    }
+    #endregion
+
     #region Whether the permanent is in the Battle Area
     public static bool IsPermanentExistsOnBattleArea(Permanent permanent)
     {
@@ -414,7 +437,7 @@ public partial class CardEffectCommons
         return GManager.instance.turnStateMachine.gameContext.Players
         .Map(player => player.GetBattleAreaPermanents())
         .Flat()
-        .Some(permanent => CanSelectPermanentCondition(permanent) && IsOwnerPermanent(permanent, card));
+        .Some(permanent => IsOwnerPermanent(permanent, card) && CanSelectPermanentCondition(permanent));
     }
     #endregion
 
@@ -424,7 +447,7 @@ public partial class CardEffectCommons
         return GManager.instance.turnStateMachine.gameContext.Players
         .Map(player => player.GetBattleAreaPermanents())
         .Flat()
-        .Some(permanent => CanSelectPermanentCondition(permanent) && IsOpponentPermanent(permanent, card));
+        .Some(permanent => IsOpponentPermanent(permanent, card) && CanSelectPermanentCondition(permanent));
     }
     #endregion
 

+ 1 - 1
Assets/Scripts/CardEffectFactory/ChangeDigivolutionCost.cs

@@ -104,7 +104,7 @@ public partial class CardEffectFactory
 
         bool PermanentCondition(Permanent targetPermanent)
         {
-            if (CardEffectCommons.IsPermanentExistsOnBattleArea(targetPermanent))
+            if (CardEffectCommons.IsPermanentExistsOnField(targetPermanent))
             {
                 return permanentCondition == null || permanentCondition(targetPermanent);
             }

+ 1 - 1
ProjectSettings/ProjectSettings.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:6b20831b6e59ecdb2d71679f07935e6a94f27b266575ca5a9f69df798f1e28cf
+oid sha256:705aa364a2ca562e176d02d321fe1b50a016a803b5c29c1a174215a2a136f0ab
 size 20168