cchmc-burkewm пре 1 година
родитељ
комит
d6d31c600f
24 измењених фајлова са 194 додато и 231 уклоњено
  1. 15 5
      .idea/.idea.DCGO/.idea/workspace.xml
  2. 2 2
      Assets/CardBaseEntity/EX7/Blue/Digimon/Bulucomon-EX7-016.asset
  3. 2 2
      Assets/CardBaseEntity/EX7/Blue/Digimon/Bulucomon-EX7-016_P1.asset
  4. 2 2
      Assets/CardBaseEntity/EX7/Blue/Digimon/CrysPaledramon-EX7-021.asset
  5. 2 2
      Assets/CardBaseEntity/EX7/Blue/Digimon/Hexeblaumon-EX7-023.asset
  6. 2 2
      Assets/CardBaseEntity/EX7/Blue/Digimon/Hexeblaumon-EX7-023_P1.asset
  7. 2 2
      Assets/CardBaseEntity/EX7/Blue/Digimon/Paledramon-EX7-020.asset
  8. 2 2
      Assets/CardBaseEntity/EX7/Blue/Digimon/Paledramon-EX7-020_P1.asset
  9. 2 2
      Assets/CardBaseEntity/EX7/Blue/Digimon/SnowAgumon-EX7-017.asset
  10. 2 2
      Assets/CardBaseEntity/EX7/Blue/Digimon/SnowAgumon-EX7-017_P1.asset
  11. 2 2
      Assets/CardBaseEntity/EX7/Blue/Digimon/Sorcermon-EX7-019.asset
  12. 2 2
      Assets/CardBaseEntity/EX7/Blue/Digimon/Sorcermon-EX7-019_P1.asset
  13. 1 1
      Assets/CardEffect/BT5/Blue/Hexebraumon_BT5_032.cs
  14. 8 16
      Assets/CardEffect/EX7/Blue/Bulucomon_EX7_016.cs
  15. 44 46
      Assets/CardEffect/EX7/Blue/CrysPaledramon_EX7_021.cs
  16. 28 8
      Assets/CardEffect/EX7/Blue/Gekomon_EX7_018.cs
  17. 24 53
      Assets/CardEffect/EX7/Blue/Hexeblaumon_EX7_023.cs
  18. 2 1
      Assets/CardEffect/EX7/Blue/Hiyarimon_EX7_002.cs
  19. 7 2
      Assets/CardEffect/EX7/Blue/Otamamon_EX7_015.cs
  20. 13 25
      Assets/CardEffect/EX7/Blue/Paledramon_EX7_020.cs
  21. 14 4
      Assets/CardEffect/EX7/Blue/ShogunGekomon_EX7_022.cs
  22. 6 22
      Assets/CardEffect/EX7/Blue/SnowAgumon_EX7_017.cs
  23. 8 24
      Assets/CardEffect/EX7/Blue/Sorcermon_EX7_019.cs
  24. 2 2
      ProjectSettings/ProjectSettings.asset

+ 15 - 5
.idea/.idea.DCGO/.idea/workspace.xml

@@ -6,11 +6,17 @@
   <component name="ChangeListManager">
     <list default="true" id="1f770e58-b781-4cb0-ad93-4c50994f611d" name="Changes" comment="">
       <change beforePath="$PROJECT_DIR$/.idea/.idea.DCGO/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.DCGO/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/Assets/CardEffect/EX6/Green/Antylamon_EX6_034.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/CardEffect/EX6/Green/Antylamon_EX6_034.cs" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/Assets/CardEffect/EX6/Purple/Belphemon_Rage_Mode_EX6_060.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/CardEffect/EX6/Purple/Belphemon_Rage_Mode_EX6_060.cs" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/Assets/CardEffect/EX6/Purple/Gate_of_Deadly_Sins_EX6_006.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/CardEffect/EX6/Purple/Gate_of_Deadly_Sins_EX6_006.cs" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/Assets/CardEffect/EX6/Purple/Lucemon_Chaos_Mode_EX6_054.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/CardEffect/EX6/Purple/Lucemon_Chaos_Mode_EX6_054.cs" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/Assets/CardEffect/EX6/Purple/Ogudomon_EX6_073.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/CardEffect/EX6/Purple/Ogudomon_EX6_073.cs" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/Assets/CardEffect/BT5/Blue/Hexebraumon_BT5_032.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/CardEffect/BT5/Blue/Hexebraumon_BT5_032.cs" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/Assets/CardEffect/EX7/Blue/Bulucomon_EX7_016.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/CardEffect/EX7/Blue/Bulucomon_EX7_016.cs" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/Assets/CardEffect/EX7/Blue/CrysPaledramon_EX7_021.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/CardEffect/EX7/Blue/CrysPaledramon_EX7_021.cs" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/Assets/CardEffect/EX7/Blue/Gekomon_EX7_018.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/CardEffect/EX7/Blue/Gekomon_EX7_018.cs" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/Assets/CardEffect/EX7/Blue/Hexeblaumon_EX7_023.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/CardEffect/EX7/Blue/Hexeblaumon_EX7_023.cs" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/Assets/CardEffect/EX7/Blue/Hiyarimon_EX7_002.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/CardEffect/EX7/Blue/Hiyarimon_EX7_002.cs" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/Assets/CardEffect/EX7/Blue/Otamamon_EX7_015.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/CardEffect/EX7/Blue/Otamamon_EX7_015.cs" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/Assets/CardEffect/EX7/Blue/Paledramon_EX7_020.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/CardEffect/EX7/Blue/Paledramon_EX7_020.cs" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/Assets/CardEffect/EX7/Blue/ShogunGekomon_EX7_022.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/CardEffect/EX7/Blue/ShogunGekomon_EX7_022.cs" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/Assets/CardEffect/EX7/Blue/Sorcermon_EX7_019.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/CardEffect/EX7/Blue/Sorcermon_EX7_019.cs" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/ProjectSettings/ProjectSettings.asset" beforeDir="false" afterPath="$PROJECT_DIR$/ProjectSettings/ProjectSettings.asset" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -20,6 +26,9 @@
   <component name="Git.Settings">
     <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
   </component>
+  <component name="HighlightingSettingsPerFile">
+    <setting file="file://$PROJECT_DIR$/../../Student/gl-finalproj-main/Assets/_app/scripts/CharacterController.cs" root0="SKIP_HIGHLIGHTING" />
+  </component>
   <component name="MarkdownSettingsMigration">
     <option name="stateVersion" value="1" />
   </component>
@@ -109,6 +118,7 @@
       <workItem from="1715820047500" duration="30965000" />
       <workItem from="1719540359999" duration="395000" />
       <workItem from="1720456596917" duration="698000" />
+      <workItem from="1725387928890" duration="4166000" />
     </task>
     <servers />
   </component>

+ 2 - 2
Assets/CardBaseEntity/EX7/Blue/Digimon/Bulucomon-EX7-016.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:255d9b87eb0f725bb519be06fb826e29b4c123154e5da334993f1d319e9d1fd5
-size 1413
+oid sha256:47a2158d5af3fa4bd3c7989df78d8bc04c0280ab28cfdfc59502a790901575ad
+size 1426

+ 2 - 2
Assets/CardBaseEntity/EX7/Blue/Digimon/Bulucomon-EX7-016_P1.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:60178f04c0d31a7622ada453eb94037033f3e5eb763a1b6f22d641f14b8f27ee
-size 1419
+oid sha256:4bf19637969ac6556ac367acc0b71889982f11b139a560e4a07de52b49b83fc2
+size 1432

+ 2 - 2
Assets/CardBaseEntity/EX7/Blue/Digimon/CrysPaledramon-EX7-021.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:37561f3823768c4cae9d0344913d83e55f9a0aed099093ad91328ee0c78038d4
-size 1611
+oid sha256:ccfbb34a7d159d2371caa77bce812e79eff34ec98eda833ef2dceb90176d6dbb
+size 1624

+ 2 - 2
Assets/CardBaseEntity/EX7/Blue/Digimon/Hexeblaumon-EX7-023.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:a675733b6cb5d2e7f831d4359b165ef18954c7ebfcff45fbd0496e1abbb721b2
-size 1640
+oid sha256:f920a62416fdee6ebe923b2e8897886d226e0b90ef80d1f81ead1fdf4ca64816
+size 1653

+ 2 - 2
Assets/CardBaseEntity/EX7/Blue/Digimon/Hexeblaumon-EX7-023_P1.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:3eb5704749a0316868c8fd077633d5a3a82577315509ab61abb0884c04bb96c7
-size 1646
+oid sha256:f3f73ce1e37292ae952ae0ea58df8f130b36d1ee924374ce7ee219fe192cd055
+size 1659

+ 2 - 2
Assets/CardBaseEntity/EX7/Blue/Digimon/Paledramon-EX7-020.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:f2b175c06045594f44fd4b47ccdbc598eefcdce1f8d15791c1bd9e2569dbf129
-size 1466
+oid sha256:a42b8ef46669bbe5abfe7c30bcfc7711d76d7a55407d8dbc31efb00229d8cdbc
+size 1479

+ 2 - 2
Assets/CardBaseEntity/EX7/Blue/Digimon/Paledramon-EX7-020_P1.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:0b3762ab2be4feec5e969af6a6be3d0790afca62a22a9e875cfaa8ab457d6b10
-size 1472
+oid sha256:601eb6e212597c3b8b011dae11bd0fe277b9df5e6a5da43f59c96af2d65cd645
+size 1485

+ 2 - 2
Assets/CardBaseEntity/EX7/Blue/Digimon/SnowAgumon-EX7-017.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:58f21bab67d87c2218b7a956c8c154ea0c3cc5a2867e0050741084648eeb01a8
-size 1304
+oid sha256:1b462b2830d749a28f9d16b14f221abb045bd9a66d995cf29dc1649225589c13
+size 1317

+ 2 - 2
Assets/CardBaseEntity/EX7/Blue/Digimon/SnowAgumon-EX7-017_P1.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:af4c1523439ccdb3891b2899b535ebc71123261803c7ae998f303c12bd4b1d75
-size 1310
+oid sha256:3da9572da8d8872f3bec009fee7eb27c1d4dd967a4b8befff451ff84d0774694
+size 1323

+ 2 - 2
Assets/CardBaseEntity/EX7/Blue/Digimon/Sorcermon-EX7-019.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:f0c0ce9debf5ba066942fc265cabc4a182996baaa10613650807691c900c3f08
-size 1342
+oid sha256:9fd1e4ff05d2bffbdf1571066c03c7c9a064d2abe9cb7e053404020dae55adac
+size 1355

+ 2 - 2
Assets/CardBaseEntity/EX7/Blue/Digimon/Sorcermon-EX7-019_P1.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:ae2a43b18d737de4596d5fc7881f3504c601eca695577e3dd91aefa38458c6bd
-size 1348
+oid sha256:99d812b92b9a643d46f18df30279c175e67acf3e02a5d85d52fff5bb0fa1aa7c
+size 1361

+ 1 - 1
Assets/CardEffect/BT5/Blue/Hexebraumon_BT5_032.cs

@@ -128,7 +128,7 @@ public class Hexebraumon_BT5_032 : CEntity_Effect
             {
                 return CardEffectCommons.IsExistOnBattleArea(card);
             }
-
+            
             cardEffects.Add(CardEffectFactory.CanNotAttackStaticEffect(attackerCondition: AttackerCondition, defenderCondition: null, isInheritedEffect: false, card: card, condition: Condition, effectName: "Opponent's Digimon without digivolution cards can't Attack"));
         }
 

+ 8 - 16
Assets/CardEffect/EX7/Blue/Bulucomon_EX7_016.cs

@@ -12,11 +12,11 @@ namespace DCGO.CardEffects
         {
             List<ICardEffect> cardEffects = new List<ICardEffect>();
 
-            if (timing == EffectTiming.None)
+            if (timing == EffectTiming.OnEnterFieldAnyone)
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Reveal the Top 3 cards of the deck", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
                 cardEffects.Add(activateClass);
 
                 string EffectDiscription()
@@ -38,12 +38,7 @@ namespace DCGO.CardEffects
 
                 bool CanSelectIceSnowCard(CardSource cardSource)
                 {
-                    if (cardSource.CardTraits.Contains("Ice-Snow"))
-                    {
-                        return true;
-                    }
-                    
-                    return false;
+                    return cardSource.ContainsTraits("Ice-Snow");
                 }
 
                 bool CanUseCondition(Hashtable hashtable)
@@ -53,7 +48,7 @@ namespace DCGO.CardEffects
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    if (CardEffectCommons.IsExistOnBattleArea(card))
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                     {
                         if (card.Owner.LibraryCards.Count >= 1)
                         {
@@ -90,11 +85,11 @@ namespace DCGO.CardEffects
                 }
             }
 
-            if (timing == EffectTiming.None)
+            if (timing == EffectTiming.OnAllyAttack)
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Trash digivolution cards", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
                 activateClass.SetIsInheritedEffect(true);
                 cardEffects.Add(activateClass);
 
@@ -107,17 +102,14 @@ namespace DCGO.CardEffects
                 {
                     if (CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card))
                     {
-                        if (permanent.DigivolutionCards.Count((cardSource) => !cardSource.CanNotTrashFromDigivolutionCards(activateClass)) >= 1)
-                        {
-                            return true;
-                        }
+                        return true;
                     }
 
                     return false;
                 }
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    if (isExistOnField(card))
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                     {
                         if (CardEffectCommons.HasMatchConditionPermanent(CanSelectDigimonCondition))
                         {

+ 44 - 46
Assets/CardEffect/EX7/Blue/CrysPaledramon_EX7_021.cs

@@ -9,45 +9,19 @@ namespace DCGO.CardEffects
         {
             List<ICardEffect> cardEffects = new List<ICardEffect>();
 
-            #region Change Traits, Iceclad effect
-
-            if (timing == EffectTiming.None)
-            {
-                ChangeTraitsClass changeTraitsClass = new ChangeTraitsClass();
-                changeTraitsClass.SetUpICardEffect("Trait: Has [Ice-Snow] type", CanUseCondition, card);
-                changeTraitsClass.SetUpChangeTraitsClass(changeeTraits: ChangeTraits);
-                cardEffects.Add(changeTraitsClass);
-
-                bool CanUseCondition(Hashtable hashtable)
-                {
-                    return true;
-                }
-
-                List<string> ChangeTraits(CardSource cardSource, List<string> cardTraits)
-                {
-                    if (cardSource == card)
-                    {
-                        cardTraits.Add("Ice-Snow");
-                    }
-
-                    return cardTraits;
-                }
-            }
-            
             if (timing == EffectTiming.None)
             {
-                cardEffects.Add(CardEffectFactory.IcecladSelfStaticEffect(isInheritedEffect: false, card: card, condition: null));
+                cardEffects.Add(CardEffectFactory.IcecladSelfStaticEffect(isInheritedEffect: false, card: card,
+                    condition: null));
             }
 
-            #endregion
-
             #region When Digivolving
 
             if (timing == EffectTiming.OnEnterFieldAnyone)
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Trash 2 then unsuspend", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
                 cardEffects.Add(activateClass);
 
                 string EffectDiscription()
@@ -57,17 +31,26 @@ namespace DCGO.CardEffects
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.CanTriggerWhenDigivolving(hashtable, card);
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
+                    {
+                        return CardEffectCommons.CanTriggerWhenDigivolving(hashtable, card);
+                    }
+
+                    return false;
                 }
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    return true;
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
+                    {
+                        return true;
+                    }
+                    return false;
                 }
 
                 bool CheckOpponentDigivolutionSources()
                 {
-                    if (CardEffectCommons.IsExistOnBattleArea(card))
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                     {
                         int count = CardEffectCommons.MatchConditionOpponentsPermanentCount(card, (permanent) => permanent.IsDigimon && permanent.HasNoDigivolutionCards);
 
@@ -121,12 +104,12 @@ namespace DCGO.CardEffects
 
             if (timing == EffectTiming.None)
             {
-                ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("Gain Piercing and SecAtk+1", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
-                activateClass.SetIsInheritedEffect(true);
-                activateClass.SetHashString("CrysPaledramon_EX7_021_GainPiercing_SecAtk1");
-                cardEffects.Add(activateClass);
+                AddSkillClass addSkillClass = new AddSkillClass();
+                addSkillClass.SetUpICardEffect("Gain Piercing and Security Atk+1", CanUseCondition, card);
+                addSkillClass.SetUpAddSkillClass(cardSourceCondition: CardSourceCondition, getEffects: GetEffects);
+                addSkillClass.SetIsInheritedEffect(true);
+                addSkillClass.SetHashString("CrysPaledramon_EX7_021_GainPiercing_SecAtk1");
+                cardEffects.Add(addSkillClass);
 
                 string EffectDiscription()
                 {
@@ -135,12 +118,20 @@ namespace DCGO.CardEffects
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.IsOwnerTurn(card);
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card) && CardEffectCommons.IsOwnerTurn(card))
+                    {
+                        if (card.ContainsTraits("Ice-Snow"))
+                        {
+                            return true;
+                        }
+                    }
+
+                    return false;
                 }
 
-                bool CanActivateCondition(Hashtable hashtable)
+                bool CardSourceCondition(CardSource cardSource)
                 {
-                    if (CardEffectCommons.IsExistOnBattleArea(card))
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                     {
                         int count = CardEffectCommons.MatchConditionOpponentsPermanentCount(card, (permanent) => permanent.IsDigimon && permanent.HasNoDigivolutionCards);
 
@@ -150,15 +141,22 @@ namespace DCGO.CardEffects
                     return true;
                 }
 
-                IEnumerator ActivateCoroutine(Hashtable _hashtable)
+                List<ICardEffect> GetEffects(CardSource cardSource, List<ICardEffect> cardEffects, EffectTiming timing)
                 {
-                    if (card.CardTraits.Contains("Ice-Snow"))
+                    if (timing == EffectTiming.OnAllyAttack)
                     {
-                        cardEffects.Add(CardEffectFactory.PierceSelfEffect(isInheritedEffect: true, card: card, condition: null));
-                        cardEffects.Add(CardEffectFactory.ChangeSelfSAttackStaticEffect(changeValue: 1, isInheritedEffect: true, card: card, condition: null));
+                        bool Condition()
+                        {
+                            return CardSourceCondition(cardSource);
+                        }
+
+                        cardEffects.Add(CardEffectFactory.PierceSelfEffect(isInheritedEffect: false, card: card,
+                            condition: Condition));
+                        cardEffects.Add(CardEffectFactory.ChangeSelfSAttackStaticEffect(changeValue: 1,
+                            isInheritedEffect: false, card: card, condition: Condition));
                     }
 
-                    yield return null;
+                    return cardEffects;
                 }
             }
 

+ 28 - 8
Assets/CardEffect/EX7/Blue/Gekomon_EX7_018.cs

@@ -32,8 +32,8 @@ namespace DCGO.CardEffects
             if (timing == EffectTiming.OnEnterFieldAnyone)
             {
                 ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("Draw 1 on play", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
+                activateClass.SetUpICardEffect("Draw 1", CanUseCondition, card);
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
                 cardEffects.Add(activateClass);
 
                 string EffectDiscription()
@@ -43,12 +43,22 @@ namespace DCGO.CardEffects
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.CanTriggerOnPlay(hashtable, card);
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
+                    {
+                        return CardEffectCommons.CanTriggerOnPlay(hashtable, card);
+                    }
+
+                    return false;
                 }
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    return true;
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
+                    {
+                        return true;
+                    }
+
+                    return false;
                 }
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
@@ -64,9 +74,9 @@ namespace DCGO.CardEffects
             if (timing == EffectTiming.OnEnterFieldAnyone)
             {
                 ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("Draw 1 when digivolving", CanUseCondition, card);
+                activateClass.SetUpICardEffect("Draw 1", CanUseCondition, card);
                 activateClass.SetHashString("Gekomon_EX7_018_WhenDigivolving");
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
                 cardEffects.Add(activateClass);
 
                 string EffectDiscription()
@@ -76,12 +86,22 @@ namespace DCGO.CardEffects
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.CanTriggerWhenDigivolving(hashtable, card);
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
+                    {
+                        return CardEffectCommons.CanTriggerOnPlay(hashtable, card);
+                    }
+
+                    return false;
                 }
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    return true;
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
+                    {
+                        return true;
+                    }
+
+                    return false;
                 }
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)

+ 24 - 53
Assets/CardEffect/EX7/Blue/Hexeblaumon_EX7_023.cs

@@ -11,46 +11,19 @@ namespace DCGO.CardEffects
         {
             List<ICardEffect> cardEffects = new List<ICardEffect>();
             
-            #region Change Traits, Static Effects
-
-            if (timing == EffectTiming.None)
-            {
-                ChangeTraitsClass changeTraitsClass = new ChangeTraitsClass();
-                changeTraitsClass.SetUpICardEffect("Trait: Has [Ice-Snow] type", CanUseCondition, card);
-                changeTraitsClass.SetUpChangeTraitsClass(changeeTraits: ChangeTraits);
-                cardEffects.Add(changeTraitsClass);
-
-                bool CanUseCondition(Hashtable hashtable)
-                {
-                    return true;
-                }
-
-                List<string> ChangeTraits(CardSource cardSource, List<string> cardTraits)
-                {
-                    if (cardSource == card)
-                    {
-                        cardTraits.Add("Ice-Snow");
-                    }
-
-                    return cardTraits;
-                }
-            }
-            
             if (timing == EffectTiming.None)
             {
                 cardEffects.Add(CardEffectFactory.ChangeSelfSAttackStaticEffect(changeValue: 1, isInheritedEffect: false, card: card, condition: null));
                 cardEffects.Add(CardEffectFactory.IcecladSelfStaticEffect(isInheritedEffect: false, card: card, condition: null));
             }
-
-            #endregion
-
+            
             #region When Digivolving
             
             if (timing == EffectTiming.OnEnterFieldAnyone)
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Trash 4 then return Tamer to bottom of deck", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
                 cardEffects.Add(activateClass);
 
                 string EffectDiscription()
@@ -60,45 +33,38 @@ namespace DCGO.CardEffects
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.CanTriggerWhenDigivolving(hashtable, card);
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
+                    {
+                        return CardEffectCommons.CanTriggerWhenDigivolving(hashtable, card);
+                    }
+
+                    return false;
                 }
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.IsExistOnBattleArea(card);
+                    return CardEffectCommons.IsExistOnBattleAreaDigimon(card);
                 }
                 
                 bool CanSelectPermanentCondition(Permanent permanent)
                 {
-                    if (CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card))
-                    {
-                        return true;
-                    }
-
-                    return false;
+                    return CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card);
                 }
                 
-                bool CanSelectTrashSourceCondition(Permanent permanent)
+
+                bool CanSelectCardCondition(CardSource cardSource)
                 {
-                    if (CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card))
+                    if (cardSource.Owner.Enemy && cardSource.IsDigimon)
                     {
-                        if (permanent.DigivolutionCards.Count(CanSelectCardCondition) >= 1)
-                        {
-                            return true;
-                        }
+                        return true;
                     }
 
                     return false;
                 }
-
-                bool CanSelectCardCondition(CardSource cardSource)
-                {
-                    return !cardSource.CanNotTrashFromDigivolutionCards(activateClass);
-                }
                 
                 bool CanBounceTamerCondition(Hashtable hashtable)
                 {
-                    if (CardEffectCommons.IsExistOnBattleArea(card))
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                     {
                         int count = CardEffectCommons.MatchConditionOpponentsPermanentCount(card, (permanent) => permanent.IsDigimon && permanent.HasNoDigivolutionCards);
 
@@ -118,7 +84,7 @@ namespace DCGO.CardEffects
                     if (CardEffectCommons.HasMatchConditionPermanent(CanSelectPermanentCondition))
                     {
                         yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.SelectTrashDigivolutionCards(
-                            permanentCondition: CanSelectTrashSourceCondition,
+                            permanentCondition: CanSelectPermanentCondition,
                             cardCondition: CanSelectCardCondition,
                             maxCount: 4,
                             canNoTrash: false,
@@ -161,7 +127,7 @@ namespace DCGO.CardEffects
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Opponent's digimon can't suspend", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
                 cardEffects.Add(activateClass);
 
                 string EffectDiscription()
@@ -171,12 +137,17 @@ namespace DCGO.CardEffects
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.IsOpponentTurn(card);
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
+                    {
+                        return CardEffectCommons.IsOpponentTurn(card);
+                    }
+
+                    return false;
                 }
                 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    if (CardEffectCommons.IsExistOnBattleArea(card))
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                         return true;
 
                     return false;

+ 2 - 1
Assets/CardEffect/EX7/Blue/Hiyarimon_EX7_002.cs

@@ -13,6 +13,7 @@ namespace DCGO.CardEffects
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Draw 1", CanUseCondition, card);
+                activateClass.SetHashString("Draw_1_EX7_002");
                 activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, false, EffectDiscription());
                 activateClass.SetIsInheritedEffect(true);
                 cardEffects.Add(activateClass);
@@ -29,7 +30,7 @@ namespace DCGO.CardEffects
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    if (CardEffectCommons.IsExistOnBattleArea(card))
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                     {
                         if (CardEffectCommons.HasMatchConditionOpponentsPermanent(card, (permanent) => permanent.IsDigimon && !permanent.HasNoDigivolutionCards))
                         {

+ 7 - 2
Assets/CardEffect/EX7/Blue/Otamamon_EX7_015.cs

@@ -48,12 +48,17 @@ namespace DCGO.CardEffects
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.IsExistOnBattleArea(card);
+                    return CardEffectCommons.IsExistOnBattleAreaDigimon(card);
                 }
 
                 bool PlayerCondition(Player player)
                 {
-                    return true;
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
+                    {
+                        return true;
+                    }
+
+                    return false;
                 }
 
                 bool TargetPermanentsCondition(List<Permanent> targetPermanents)

+ 13 - 25
Assets/CardEffect/EX7/Blue/Paledramon_EX7_020.cs

@@ -10,26 +10,9 @@ namespace DCGO.CardEffects
         public override List<ICardEffect> CardEffects(EffectTiming timing, CardSource card)
         {
             List<ICardEffect> cardEffects = new List<ICardEffect>();
-
-            if (timing == EffectTiming.None)
-            {
-                ChangeTraitsClass changeTraitsClass = new ChangeTraitsClass();
-                changeTraitsClass.SetUpICardEffect("Has the [Ice-Snow] Type", _ => true, card);
-                changeTraitsClass.SetUpChangeTraitsClass(changeeTraits: ChangeCardTraits);
-                cardEffects.Add(changeTraitsClass);
-
-                List<string> ChangeCardTraits(CardSource cardSource, List<string> cardTraits)
-                {
-                    if (cardSource == card)
-                    {
-                        cardTraits.Add("Ice-Snow");
-                    }
-
-                    return cardTraits;
-                }
-            }
             
-            if (timing == EffectTiming.None)
+            
+            if (timing == EffectTiming.OnEnterFieldAnyone)
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Trash digivolution cards and gain Jamming and Blocker", CanUseCondition, card);
@@ -61,7 +44,7 @@ namespace DCGO.CardEffects
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    if (CardEffectCommons.IsExistOnBattleArea(card))
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                     {
                         return true;
                     }
@@ -127,7 +110,7 @@ namespace DCGO.CardEffects
                     if (CardEffectCommons.HasMatchConditionOpponentsPermanent(card, (permanent) => permanent.IsDigimon && permanent.HasNoDigivolutionCards))
                     {
                         Permanent selectedPermanent = card.PermanentOfThisCard();
-
+                        
                         yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.GainBlocker(targetPermanent: selectedPermanent, effectDuration: EffectDuration.UntilEachTurnEnd, activateClass: activateClass));
                     }
                 }
@@ -137,7 +120,7 @@ namespace DCGO.CardEffects
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Trash digivolution cards", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
                 activateClass.SetIsInheritedEffect(true);
                 cardEffects.Add(activateClass);
 
@@ -150,7 +133,7 @@ namespace DCGO.CardEffects
                 {
                     if (CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card))
                     {
-                        if (permanent.DigivolutionCards.Count((cardSource) => !cardSource.CanNotTrashFromDigivolutionCards(activateClass)) >= 1)
+                        if (permanent.IsDigimon)
                         {
                             return true;
                         }
@@ -160,7 +143,7 @@ namespace DCGO.CardEffects
                 }
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    if (isExistOnField(card))
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                     {
                         if (CardEffectCommons.HasMatchConditionPermanent(CanSelectDigimonCondition))
                         {
@@ -173,7 +156,12 @@ namespace DCGO.CardEffects
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.CanTriggerWhenDigivolving(hashtable, card);
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
+                    {
+                        return CardEffectCommons.CanTriggerWhenDigivolving(hashtable, card);
+                    }
+
+                    return false;
                 }
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)

+ 14 - 4
Assets/CardEffect/EX7/Blue/ShogunGekomon_EX7_022.cs

@@ -50,12 +50,17 @@ namespace DCGO.CardEffects
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.CanTriggerOnPlay(hashtable, card);
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
+                    {
+                        return CardEffectCommons.CanTriggerOnPlay(hashtable, card);
+                    }
+
+                    return false;
                 }
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    if (CardEffectCommons.IsExistOnBattleArea(card))
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                     {
                         if (CardEffectCommons.HasMatchConditionPermanent(CanSelectPermanentCondition))
                         {
@@ -155,12 +160,17 @@ namespace DCGO.CardEffects
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.IsOwnerTurn(card);
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
+                    {
+                        return CardEffectCommons.IsOwnerTurn(card);
+                    }
+
+                    return false;
                 }
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    if (CardEffectCommons.IsExistOnBattleArea(card))
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                         return true;
                     
                     return false;

+ 6 - 22
Assets/CardEffect/EX7/Blue/SnowAgumon_EX7_017.cs

@@ -10,35 +10,19 @@ namespace DCGO.CardEffects
         public override List<ICardEffect> CardEffects(EffectTiming timing, CardSource card)
         {
             List<ICardEffect> cardEffects = new List<ICardEffect>();
-
-            if (timing == EffectTiming.None)
-            {
-                ChangeTraitsClass changeTraitsClass = new ChangeTraitsClass();
-                changeTraitsClass.SetUpICardEffect("Has the [Ice-Snow] Type", _ => true, card);
-                changeTraitsClass.SetUpChangeTraitsClass(changeeTraits: ChangeCardTraits);
-                cardEffects.Add(changeTraitsClass);
-
-                List<string> ChangeCardTraits(CardSource cardSource, List<string> cardTraits)
-                {
-                    if (cardSource == card)
-                    {
-                        cardTraits.Add("Ice-Snow");
-                    }
-
-                    return cardTraits;
-                }
-            }
+            
             
             if (timing == EffectTiming.None)
             {
                 cardEffects.Add(CardEffectFactory.IcecladSelfStaticEffect(isInheritedEffect: false, card: card, condition: null));
             }
             
-            if (timing == EffectTiming.None)
+            if (timing == EffectTiming.OnAllyAttack)
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Trash digivolution cards", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
+                activateClass.SetHashString("TashCard_EX7_017");
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
                 activateClass.SetIsInheritedEffect(true);
                 cardEffects.Add(activateClass);
 
@@ -51,7 +35,7 @@ namespace DCGO.CardEffects
                 {
                     if (CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card))
                     {
-                        if (permanent.DigivolutionCards.Count((cardSource) => !cardSource.CanNotTrashFromDigivolutionCards(activateClass)) >= 1)
+                        if (permanent.IsDigimon)
                         {
                             return true;
                         }
@@ -61,7 +45,7 @@ namespace DCGO.CardEffects
                 }
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    if (isExistOnField(card))
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                     {
                         if (CardEffectCommons.HasMatchConditionPermanent(CanSelectDigimonCondition))
                         {

+ 8 - 24
Assets/CardEffect/EX7/Blue/Sorcermon_EX7_019.cs

@@ -10,34 +10,17 @@ namespace DCGO.CardEffects
         public override List<ICardEffect> CardEffects(EffectTiming timing, CardSource card)
         {
             List<ICardEffect> cardEffects = new List<ICardEffect>();
-
-            if (timing == EffectTiming.None)
-            {
-                ChangeTraitsClass changeTraitsClass = new ChangeTraitsClass();
-                changeTraitsClass.SetUpICardEffect("Has the [Ice-Snow] Type", _ => true, card);
-                changeTraitsClass.SetUpChangeTraitsClass(changeeTraits: ChangeCardTraits);
-                cardEffects.Add(changeTraitsClass);
-
-                List<string> ChangeCardTraits(CardSource cardSource, List<string> cardTraits)
-                {
-                    if (cardSource == card)
-                    {
-                        cardTraits.Add("Ice-Snow");
-                    }
-
-                    return cardTraits;
-                }
-            }
+            
             if (timing == EffectTiming.None)
             {
                 cardEffects.Add(CardEffectFactory.BlockerSelfStaticEffect(isInheritedEffect: false, card: card, condition: null));
             }
             
-            if (timing == EffectTiming.None)
+            if (timing == EffectTiming.OnEnterFieldAnyone)
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Unsuspend your digimon", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
                 cardEffects.Add(activateClass);
 
                 string EffectDiscription()
@@ -122,12 +105,13 @@ namespace DCGO.CardEffects
                 }
             }
 
-            if (timing == EffectTiming.None)
+            if (timing == EffectTiming.OnAllyAttack)
             {
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Trash digivolution cards", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
                 activateClass.SetIsInheritedEffect(true);
+                activateClass.SetHashString("Unsuspend_EX7_019");
                 cardEffects.Add(activateClass);
 
                 string EffectDiscription()
@@ -139,7 +123,7 @@ namespace DCGO.CardEffects
                 {
                     if (CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card))
                     {
-                        if (permanent.DigivolutionCards.Count((cardSource) => !cardSource.CanNotTrashFromDigivolutionCards(activateClass)) >= 1)
+                        if (permanent.IsDigimon)
                         {
                             return true;
                         }
@@ -149,7 +133,7 @@ namespace DCGO.CardEffects
                 }
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    if (isExistOnField(card))
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                     {
                         if (CardEffectCommons.HasMatchConditionPermanent(CanSelectDigimonCondition))
                         {

+ 2 - 2
ProjectSettings/ProjectSettings.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:08bad6e86d98c06cf333f8f8d41072161559020d0e5923e8126b7025798c508d
-size 20166
+oid sha256:c0ac39d778e07b19caaf716134af039e0ca4f2e668e843e6487507e1235d396b
+size 21877