소스 검색

1.3.9 Alpha testing

mbunch_kascope 1 년 전
부모
커밋
0652dabd83
42개의 변경된 파일1013개의 추가작업 그리고 259개의 파일을 삭제
  1. 2 2
      Assets/CardEffect/BT16/Purple/Soloogarmon_BT16_076.cs
  2. 3 2
      Assets/CardEffect/BT17/Black/Chaosdramon_BT17_057.cs
  3. 1 3
      Assets/CardEffect/BT17/Black/Diaboromon_BT17_059.cs
  4. 1 6
      Assets/CardEffect/BT17/Black/Locomon_BT17_056.cs
  5. 9 7
      Assets/CardEffect/BT17/Blue/Beowolfmon_BT17_026.cs
  6. 1 1
      Assets/CardEffect/BT17/Blue/DavisMotomiyaAndKenIchijoji_BT17_084.cs
  7. 2 2
      Assets/CardEffect/BT17/Blue/MetalGarurumon_BT17_027.cs
  8. 3 13
      Assets/CardEffect/BT17/Blue/Strabimon_BT17_020.cs
  9. 13 4
      Assets/CardEffect/BT17/Green/Morphomon_BT17_044.cs
  10. 29 25
      Assets/CardEffect/BT17/Purple/DexDoruGreymon_BT17_067.cs
  11. 1 1
      Assets/CardEffect/BT17/Purple/DexDorugamon_BT17_065.cs
  12. 5 3
      Assets/CardEffect/BT17/Purple/FenriloogamonTakemikazuchi_BT17_101.cs
  13. 14 2
      Assets/CardEffect/BT17/Purple/Fenriloogamon_BT17_069.cs
  14. 10 9
      Assets/CardEffect/BT17/Red/Aldamon_BT17_014.cs
  15. 3 13
      Assets/CardEffect/BT17/Red/Flamemon_BT17_009.cs
  16. 15 13
      Assets/CardEffect/BT17/Red/Gallantmon_BT17_016.cs
  17. 1 1
      Assets/CardEffect/BT17/Red/MiraculousMegaKnight_BT17_095.cs
  18. 3 6
      Assets/CardEffect/BT17/Red/TaiKamiyaAndMattIshida_BT17_081.cs
  19. 2 2
      Assets/CardEffect/BT17/Red/WarGreymon_BT17_015.cs
  20. 1 4
      Assets/CardEffect/BT17/White/Eosmon_BT17_076.cs
  21. 49 7
      Assets/CardEffect/BT17/White/ImperialdramonPaladinMode_BT17_077.cs
  22. 2 2
      Assets/CardEffect/BT17/White/MenoaBellucci_BT17_092.cs
  23. 1 1
      Assets/CardEffect/BT17/White/Omnimon_BT17_078.cs
  24. 2 2
      Assets/CardEffect/BT17/White/TaiKamiyaAndKariKamiya_BT17_093.cs
  25. 42 48
      Assets/CardEffect/BT17/Yellow/AwakeningoftheSun_BT17_099.cs
  26. 8 5
      Assets/CardEffect/BT17/Yellow/Boutmon_BT17_036.cs
  27. 1 1
      Assets/CardEffect/BT17/Yellow/Bulkmon_BT17_034.cs
  28. 2 7
      Assets/CardEffect/BT17/Yellow/Renamon_BT17_031.cs
  29. 1 1
      Assets/CardEffect/BT17/Yellow/RikaNonaka_BT17_085.cs
  30. 7 4
      Assets/CardEffect/BT17/Yellow/RizeGreymon_BT17_037.cs
  31. 11 30
      Assets/CardEffect/BT17/Yellow/Sakuyamon_BT17_038.cs
  32. 11 2
      Assets/CardEffect/BT17/Yellow/ShineGreymonBurstMode_BT17_041.cs
  33. 1 0
      Assets/CardEffect/BT17/Yellow/ShineGreymon_BT17_039.cs
  34. 2 0
      Assets/Scripts/AttackProcess.cs
  35. 2 2
      Assets/Scripts/CEntity_Base.cs
  36. 39 25
      Assets/Scripts/CardEffectCommons.cs
  37. 18 1
      Assets/Scripts/CardEffectCommons/KeyWordEffects/Blitz.cs
  38. 17 0
      Assets/Scripts/CardSource.cs
  39. 3 1
      Assets/Scripts/ContinuousController.cs
  40. 6 0
      Assets/Scripts/DeckData.cs
  41. 1 1
      ProjectSettings/ProjectSettings.asset
  42. 668 0
      lfs/objects/62/1d/621dbfd09b7a8b5161a996f8cf1338efce1a4bcc6d9bfe04132155e2b1ab1407

+ 2 - 2
Assets/CardEffect/BT16/Purple/Soloogarmon_BT16_076.cs

@@ -233,12 +233,12 @@ namespace DCGO.CardEffects.BT16
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.CanTriggerOnAttack(hashtable, card);
+                    return CardEffectCommons.CanTriggerOnEndAttack(hashtable, card);
                 }
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    if (CardEffectCommons.IsExistOnBattleArea(card))
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                     {
                         if (card.Owner.Enemy.MemoryForPlayer >= 1)
                         {

+ 3 - 2
Assets/CardEffect/BT17/Black/Chaosdramon_BT17_057.cs

@@ -452,11 +452,12 @@ namespace DCGO.CardEffects.BT17
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    if (CardEffectCommons.IsExistOnBattleArea(card))
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                     {
                         if (CardEffectCommons.CanTriggerWhenRemoveField(hashtable, card))
                         {
-                            return true;
+                            if(!CardEffectCommons.IsByBattle(hashtable))
+                                return true;
                         }
                     }
 

+ 1 - 3
Assets/CardEffect/BT17/Black/Diaboromon_BT17_059.cs

@@ -169,9 +169,7 @@ namespace DCGO.CardEffects.BT17
 
                     if (cardAdded)
                     {
-                        yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.PlayDiaboromonToken(activateClass));
-
-                        yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.PlayDiaboromonToken(activateClass));
+                        yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.PlayDiaboromonToken(activateClass, 2));
                     }
                 }
             }

+ 1 - 6
Assets/CardEffect/BT17/Black/Locomon_BT17_056.cs

@@ -43,12 +43,7 @@ namespace DCGO.CardEffects.BT17
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
-                    {
-                        return CardEffectCommons.CanTriggerOnAttackTargetSwitch(hashtable, card);
-                    }
-
-                    return false;
+                    return CardEffectCommons.IsExistOnBattleAreaDigimon(card);
                 }
 
                 bool CanActivateCondition(Hashtable hashtable)

+ 9 - 7
Assets/CardEffect/BT17/Blue/Beowolfmon_BT17_026.cs

@@ -374,14 +374,16 @@ namespace DCGO.CardEffects.BT17
                                         if (card.CanPlayCardTargetFrame(selectedPermanent.PermanentFrame, true,
                                                 activateClass))
                                         {
-                                            yield return ContinuousController.instance.StartCoroutine(new PlayCardClass(
-                                                cardSources: new List<CardSource>() { card },
-                                                hashtable: CardEffectCommons.CardEffectHashtable(activateClass),
-                                                payCost: true,
+                                            yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.DigivolveIntoHandOrTrashCard(
                                                 targetPermanent: selectedPermanent,
-                                                isTapped: false,
-                                                root: SelectCardEffect.Root.Hand,
-                                                activateETB: true).PlayCard());
+                                                cardCondition: source => source == card,
+                                                payCost: true,
+                                                reduceCostTuple: null,
+                                                fixedCostTuple: (fixedCost: 3, fixedCostCardCondition: null),
+                                                ignoreDigivolutionRequirementFixedCost: -1,
+                                                isHand: true,
+                                                activateClass: activateClass,
+                                                successProcess: null));
                                         }
 
                                         foreach (Func<EffectTiming, ICardEffect> getCardEffect in getCardEffects)

+ 1 - 1
Assets/CardEffect/BT17/Blue/DavisMotomiyaAndKenIchijoji_BT17_084.cs

@@ -56,7 +56,7 @@ namespace DCGO.CardEffects.BT17
                 bool IsOwnerPermanentCondition(Permanent permanent)
                 {
                     return CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card) &&
-                           permanent.Level <= 5 &&
+                           permanent.Level >= 5 &&
                            permanent.TopCard.ContainsTraits("Free") &&
                            permanent.DigivolutionCards.Count(CanSelectSourceCardCondition) >= 1;
                 }

+ 2 - 2
Assets/CardEffect/BT17/Blue/MetalGarurumon_BT17_027.cs

@@ -328,7 +328,7 @@ namespace DCGO.CardEffects.BT17
                                                 payCost: false,
                                                 reduceCostTuple: null,
                                                 fixedCostTuple: null,
-                                                ignoreDigivolutionRequirementFixedCost: -1,
+                                                ignoreDigivolutionRequirementFixedCost: 0,
                                                 isHand: true,
                                                 activateClass: activateClass,
                                                 successProcess: null,
@@ -540,7 +540,7 @@ namespace DCGO.CardEffects.BT17
                                                 payCost: false,
                                                 reduceCostTuple: null,
                                                 fixedCostTuple: null,
-                                                ignoreDigivolutionRequirementFixedCost: -1,
+                                                ignoreDigivolutionRequirementFixedCost: 0,
                                                 isHand: true,
                                                 activateClass: activateClass,
                                                 successProcess: null,

+ 3 - 13
Assets/CardEffect/BT17/Blue/Strabimon_BT17_020.cs

@@ -27,19 +27,9 @@ namespace DCGO.CardEffects.BT17
                         "[On Play] Reveal the top 3 cards of your deck. Add 1 card with the [Hybrid]/[Ten Warriors] trait and 1 Tamer card with an inherited effect among them to the hand. Return the rest to the bottom of the deck.";
                 }
 
-                bool CanSelectDigimonCardCondition(CardSource cardSource)
+                bool CanSelectCardCondition(CardSource cardSource)
                 {
-                    if (cardSource.IsDigimon)
-                    {
-                        if (cardSource.ContainsTraits("Hybrid") ||
-                            cardSource.ContainsTraits("Ten Warriors") ||
-                            cardSource.ContainsTraits("TenWarriors"))
-                        {
-                            return true;
-                        }
-                    }
-
-                    return false;
+                    return cardSource.HasHybridTenWarriorsTraits;
                 }
 
                 bool CanSelectTamerCardCondition(CardSource cardSource)
@@ -82,7 +72,7 @@ namespace DCGO.CardEffects.BT17
                             new SimplifiedSelectCardConditionClass[]
                             {
                                 new(
-                                    canTargetCondition: CanSelectDigimonCardCondition,
+                                    canTargetCondition: CanSelectCardCondition,
                                     message: "Select 1 Digimon card with the [Hybrid]/[Ten Warriors] trait.",
                                     mode: SelectCardEffect.Mode.AddHand,
                                     maxCount: 1,

+ 13 - 4
Assets/CardEffect/BT17/Green/Morphomon_BT17_044.cs

@@ -64,7 +64,7 @@ namespace DCGO.CardEffects.BT17
                 {
                     if (CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card))
                     {
-                        if (permanent.TopCard.CardNames.Contains("Eosmon"))
+                        if (permanent.TopCard.EqualsCardName("Eosmon"))
                         {
                             if (permanent != card.PermanentOfThisCard())
                                 return true;
@@ -90,10 +90,13 @@ namespace DCGO.CardEffects.BT17
                 {
                     if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                     {
-                        if (CardEffectCommons.CanTriggerOnPermanentPlay(hashtable, PermanentCondition))
+                        if (CardEffectCommons.IsOwnerTurn(card))
                         {
-                            if(CardEffectCommons.HasMatchConditionOwnersHand(card,CanSelectEosmonInHand))
+                            if (CardEffectCommons.CanTriggerOnPermanentPlay(hashtable, PermanentCondition))
+                            {
                                 return true;
+
+                            }
                         }
                     }
 
@@ -102,7 +105,13 @@ namespace DCGO.CardEffects.BT17
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.IsExistOnBattleAreaDigimon(card);
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
+                    {
+                        if (CardEffectCommons.HasMatchConditionOwnersHand(card, CanSelectEosmonInHand))
+                            return true;
+                    }
+
+                    return false;
                 }
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)

+ 29 - 25
Assets/CardEffect/BT17/Purple/DexDoruGreymon_BT17_067.cs

@@ -272,6 +272,8 @@ namespace DCGO.CardEffects.BT17
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 {
+                    List<Permanent> chosenPermanents = new List<Permanent>();
+
                     if (CardEffectCommons.HasMatchConditionPermanent(CanSelectOwnPermanentCondition))
                     {
                         SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
@@ -285,7 +287,7 @@ namespace DCGO.CardEffects.BT17
                             canNoSelect: true,
                             canEndNotMax: false,
                             selectPermanentCoroutine: SelectPermanentCoroutine,
-                            afterSelectPermanentCoroutine: null,
+                            afterSelectPermanentCoroutine: AfterSelectPermanent,
                             mode: SelectPermanentEffect.Mode.Custom,
                             cardEffect: activateClass);
 
@@ -296,40 +298,42 @@ namespace DCGO.CardEffects.BT17
 
                         IEnumerator SelectPermanentCoroutine(Permanent chosenPermanent)
                         {
-                            int deletedLevel = chosenPermanent.Level;
+                            chosenPermanents.Add(chosenPermanent);
 
-                            yield return ContinuousController.instance.StartCoroutine(
-                                CardEffectCommons.DeletePeremanentAndProcessAccordingToResult(
-                                    targetPermanents: new List<Permanent>() { chosenPermanent }, activateClass: activateClass,
-                                    successProcess: _ => SuccessProcess(), failureProcess: null));
+                            yield return null;
+                        }
 
+                        IEnumerator AfterSelectPermanent(List<Permanent> chosenPermanent)
+                        {
                             bool CanSelectOpponentPermanentCondition(Permanent permanent)
                             {
                                 return CardEffectCommons.IsPermanentExistsOnOpponentBattleAreaDigimon(permanent, card) &&
                                        permanent.TopCard.HasLevel &&
-                                       permanent.Level <= deletedLevel;
+                                       permanent.Level <= chosenPermanents[0].Level;
                             }
 
-                            IEnumerator SuccessProcess()
+                            if (CardEffectCommons.HasMatchConditionPermanent(CanSelectOpponentPermanentCondition))
                             {
-                                if (CardEffectCommons.HasMatchConditionPermanent(CanSelectOpponentPermanentCondition))
-                                {
-                                    selectPermanentEffect.SetUp(
-                                        selectPlayer: card.Owner,
-                                        canTargetCondition: CanSelectOpponentPermanentCondition,
-                                        canTargetCondition_ByPreSelecetedList: null,
-                                        canEndSelectCondition: null,
-                                        maxCount: 1,
-                                        canNoSelect: false,
-                                        canEndNotMax: false,
-                                        selectPermanentCoroutine: null,
-                                        afterSelectPermanentCoroutine: null,
-                                        mode: SelectPermanentEffect.Mode.Destroy,
-                                        cardEffect: activateClass);
-
-                                    yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
-                                }
+                                selectPermanentEffect.SetUp(
+                                    selectPlayer: card.Owner,
+                                    canTargetCondition: CanSelectOpponentPermanentCondition,
+                                    canTargetCondition_ByPreSelecetedList: null,
+                                    canEndSelectCondition: null,
+                                    maxCount: 1,
+                                    canNoSelect: false,
+                                    canEndNotMax: false,
+                                    selectPermanentCoroutine: SelectPermanentCoroutine,
+                                    afterSelectPermanentCoroutine: null,
+                                    mode: SelectPermanentEffect.Mode.Custom,
+                                    cardEffect: activateClass);
+
+                                yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
                             }
+
+                            yield return ContinuousController.instance.StartCoroutine(
+                                CardEffectCommons.DeletePeremanentAndProcessAccordingToResult(
+                                    targetPermanents: chosenPermanents, activateClass: activateClass,
+                                    successProcess: _ => null, failureProcess: null));
                         }
                     }
                 }

+ 1 - 1
Assets/CardEffect/BT17/Purple/DexDorugamon_BT17_065.cs

@@ -188,7 +188,7 @@ namespace DCGO.CardEffects.BT17
                             canTargetCondition_ByPreSelecetedList: null,
                             canEndSelectCondition: null,
                             maxCount: 1,
-                            canNoSelect: true,
+                            canNoSelect: false,
                             canEndNotMax: false,
                             isShowOpponent: true,
                             selectCardCoroutine: null,

+ 5 - 3
Assets/CardEffect/BT17/Purple/FenriloogamonTakemikazuchi_BT17_101.cs

@@ -326,13 +326,15 @@ namespace DCGO.CardEffects.BT17
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.CanTriggerOnAttack(hashtable, card);
+                    if(CardEffectCommons.CanTriggerOnAttack(hashtable, card))
+                        return card.Owner.SecurityCards.Count >= 1;
+
+                    return false;
                 }
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.IsExistOnBattleArea(card) &&
-                           card.Owner.SecurityCards.Count >= 1;
+                    return CardEffectCommons.IsExistOnBattleAreaDigimon(card);                           
                 }
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)

+ 14 - 2
Assets/CardEffect/BT17/Purple/Fenriloogamon_BT17_069.cs

@@ -2,6 +2,7 @@ using System.Collections;
 using System.Collections.Generic;
 using System;
 using System.Linq;
+using System.Diagnostics;
 
 namespace DCGO.CardEffects.BT17
 {
@@ -45,7 +46,14 @@ namespace DCGO.CardEffects.BT17
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.CanTriggerWhenDigivolving(hashtable, card);
+                    UnityEngine.Debug.Log($"CanUseCondition: {CardEffectCommons.IsExistOnBattleAreaDigimon(card)}");
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
+                    {
+                        UnityEngine.Debug.Log($"CanUseCondition: {CardEffectCommons.CanTriggerWhenDigivolving(hashtable, card)}");
+                        return CardEffectCommons.CanTriggerWhenDigivolving(hashtable, card);
+                    }
+
+                    return false;
                 }
 
                 bool CanSelectTrashCardCondition(CardSource cardSource)
@@ -64,7 +72,11 @@ namespace DCGO.CardEffects.BT17
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.IsExistOnBattleArea(card) &&
+                    UnityEngine.Debug.Log($"CanUseCondition: {CardEffectCommons.IsExistOnBattleAreaDigimon(card)}");
+                    UnityEngine.Debug.Log($"CanUseCondition: {card.PermanentOfThisCard().DigivolutionCards.Some(IsEijiCardCondition)}");
+                    UnityEngine.Debug.Log($"CanUseCondition: {CardEffectCommons.HasMatchConditionOwnersCardInTrash(card, CanSelectTrashCardCondition)}");
+                    UnityEngine.Debug.Log($"CanUseCondition: {CardEffectCommons.IsExistOnBattleAreaDigimon(card) && card.PermanentOfThisCard().DigivolutionCards.Some(IsEijiCardCondition) && CardEffectCommons.HasMatchConditionOwnersCardInTrash(card, CanSelectTrashCardCondition)}");
+                    return CardEffectCommons.IsExistOnBattleAreaDigimon(card) &&
                            card.PermanentOfThisCard().DigivolutionCards.Some(IsEijiCardCondition) &&
                            CardEffectCommons.HasMatchConditionOwnersCardInTrash(card, CanSelectTrashCardCondition);
                 }

+ 10 - 9
Assets/CardEffect/BT17/Red/Aldamon_BT17_014.cs

@@ -71,8 +71,7 @@ namespace DCGO.CardEffects.BT17
                                 {
                                     if (!permanent.IsToken)
                                     {
-                                        if (permanent.TopCard.EqualsCardName("Takuya Kanbara") || 
-                                            permanent.TopCard.EqualsCardName("TakuyaKanbara"))
+                                        if (permanent.TopCard.EqualsCardName("Takuya Kanbara"))
                                         {
                                             return true;
                                         }
@@ -374,14 +373,16 @@ namespace DCGO.CardEffects.BT17
                                         if (card.CanPlayCardTargetFrame(selectedPermanent.PermanentFrame, true,
                                                 activateClass))
                                         {
-                                            yield return ContinuousController.instance.StartCoroutine(new PlayCardClass(
-                                                cardSources: new List<CardSource>() { card },
-                                                hashtable: CardEffectCommons.CardEffectHashtable(activateClass),
-                                                payCost: true,
+                                            yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.DigivolveIntoHandOrTrashCard(
                                                 targetPermanent: selectedPermanent,
-                                                isTapped: false,
-                                                root: SelectCardEffect.Root.Hand,
-                                                activateETB: true).PlayCard());
+                                                cardCondition: source => source == card,
+                                                payCost: true,
+                                                reduceCostTuple: null,
+                                                fixedCostTuple: (fixedCost: 3, fixedCostCardCondition: null),
+                                                ignoreDigivolutionRequirementFixedCost: -1,
+                                                isHand: true,
+                                                activateClass: activateClass,
+                                                successProcess: null));
                                         }
 
                                         foreach (Func<EffectTiming, ICardEffect> getCardEffect in getCardEffects)

+ 3 - 13
Assets/CardEffect/BT17/Red/Flamemon_BT17_009.cs

@@ -26,19 +26,9 @@ namespace DCGO.CardEffects.BT17
                         "[On Play] Reveal the top 3 cards of your deck. Add 1 card with the [Hybrid]/[Ten Warriors] trait and 1 Tamer card with an inherited effect among them to the hand. Return the rest to the bottom of the deck.";
                 }
 
-                bool CanSelectDigimonCardCondition(CardSource cardSource)
+                bool CanSelectCardCondition(CardSource cardSource)
                 {
-                    if (cardSource.IsDigimon)
-                    {
-                        if (cardSource.ContainsTraits("Hybrid") ||
-                            cardSource.ContainsTraits("Ten Warriors") ||
-                            cardSource.ContainsTraits("TenWarriors"))
-                        {
-                            return true;
-                        }
-                    }
-
-                    return false;
+                    return cardSource.HasHybridTenWarriorsTraits;
                 }
 
                 bool CanSelectTamerCardCondition(CardSource cardSource)
@@ -81,7 +71,7 @@ namespace DCGO.CardEffects.BT17
                             new SimplifiedSelectCardConditionClass[]
                             {
                                 new(
-                                    canTargetCondition: CanSelectDigimonCardCondition,
+                                    canTargetCondition: CanSelectCardCondition,
                                     message: "Select 1 Digimon card with the [Hybrid]/[Ten Warriors] trait.",
                                     mode: SelectCardEffect.Mode.AddHand,
                                     maxCount: 1,

+ 15 - 13
Assets/CardEffect/BT17/Red/Gallantmon_BT17_016.cs

@@ -224,24 +224,13 @@ namespace DCGO.CardEffects.BT17
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.IsExistOnBattleArea(card);
-                }
-
-                bool CardCondition(CardSource cardSource)
-                {
-                    if (CardEffectCommons.IsExistOnBattleArea(card))
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                     {
                         if (CardEffectCommons.IsOwnerTurn(card))
                         {
                             if (card.Owner.MemoryForPlayer <= 0)
                             {
-                                if (card == card.PermanentOfThisCard().TopCard)
-                                {
-                                    if (cardSource == card.PermanentOfThisCard().TopCard)
-                                    {
-                                        return true;
-                                    }
-                                }
+                                return true;
                             }
                         }
                     }
@@ -249,6 +238,19 @@ namespace DCGO.CardEffects.BT17
                     return false;
                 }
 
+                bool CardCondition(CardSource cardSource)
+                {
+                    if (card == card.PermanentOfThisCard().TopCard)
+                    {
+                        if (cardSource == card)
+                        {
+                            return true;
+                        }
+                    }
+
+                    return false;
+                }
+
                 bool SkillCondition(ICardEffect cardEffect)
                 {
                     return CardEffectCommons.IsOpponentEffect(cardEffect, card);

+ 1 - 1
Assets/CardEffect/BT17/Red/MiraculousMegaKnight_BT17_095.cs

@@ -210,7 +210,7 @@ namespace DCGO.CardEffects.BT17
                 {
                     if (cardSource.IsDigimon)
                     {
-                        if (cardSource.EqualsCardName("Omnimon") &&
+                        if (cardSource.ContainsCardName("Omnimon") &&
                             cardSource.HasLevel &&
                             cardSource.Level == 7)
                         {

+ 3 - 6
Assets/CardEffect/BT17/Red/TaiKamiyaAndMattIshida_BT17_081.cs

@@ -45,13 +45,10 @@ namespace DCGO.CardEffects.BT17
                 {
                     if (CardEffectCommons.IsExistOnBattleArea(card))
                     {
-                        if (CardEffectCommons.IsOwnerTurn(card))
-                        {
-                            if (CardEffectCommons.CanTriggerOnPermanentPlay(hashtable, PermanentCondition) ||
+                        if (CardEffectCommons.CanTriggerOnPermanentPlay(hashtable, PermanentCondition) ||
                                 CardEffectCommons.CanTriggerWhenPermanentDigivolving(hashtable, PermanentCondition))
-                            {
-                                return true;
-                            }
+                        {
+                            return true;
                         }
                     }
 

+ 2 - 2
Assets/CardEffect/BT17/Red/WarGreymon_BT17_015.cs

@@ -289,7 +289,7 @@ namespace DCGO.CardEffects.BT17
                                                 payCost: false,
                                                 reduceCostTuple: null,
                                                 fixedCostTuple: null,
-                                                ignoreDigivolutionRequirementFixedCost: -1,
+                                                ignoreDigivolutionRequirementFixedCost: 0,
                                                 isHand: true,
                                                 activateClass: activateClass,
                                                 successProcess: null,
@@ -462,7 +462,7 @@ namespace DCGO.CardEffects.BT17
                                                 payCost: false,
                                                 reduceCostTuple: null,
                                                 fixedCostTuple: null,
-                                                ignoreDigivolutionRequirementFixedCost: -1,
+                                                ignoreDigivolutionRequirementFixedCost: 0,
                                                 isHand: true,
                                                 activateClass: activateClass,
                                                 successProcess: null,

+ 1 - 4
Assets/CardEffect/BT17/White/Eosmon_BT17_076.cs

@@ -296,10 +296,7 @@ namespace DCGO.CardEffects.BT17
 
                 bool IsTamer(Permanent permanent)
                 {
-                    if(CardEffectCommons.IsOwnerPermanent(permanent, card))
-                        return permanent.IsTamer;
-
-                    return false;
+                    return permanent.IsTamer;
                 }
 
                 int DPIncrease()

+ 49 - 7
Assets/CardEffect/BT17/White/ImperialdramonPaladinMode_BT17_077.cs

@@ -111,8 +111,8 @@ namespace DCGO.CardEffects.BT17
                             maxCount: maxCount,
                             canNoSelect: true,
                             canEndNotMax: false,
-                            selectPermanentCoroutine: null,
-                            afterSelectPermanentCoroutine: SelectedBottomDeck,
+                            selectPermanentCoroutine: SelectedBottomDeck,
+                            afterSelectPermanentCoroutine: null,
                             mode: SelectPermanentEffect.Mode.PutLibraryBottom,
                             cardEffect: activateClass);
 
@@ -120,9 +120,9 @@ namespace DCGO.CardEffects.BT17
 
                         yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
 
-                        IEnumerator SelectedBottomDeck(List<Permanent> bottomDeckedPermanents)
+                        IEnumerator SelectedBottomDeck(Permanent bottomDeckedPermanent)
                         {
-                            if(bottomDeckedPermanents.Count > 0)
+                            if(bottomDeckedPermanent != null && !bottomDeckedPermanent.TopCard.CanNotBeAffected(activateClass))
                                 yield return ContinuousController.instance.StartCoroutine(new IUnsuspendPermanents(
                                     new List<Permanent> { card.PermanentOfThisCard() },
                                     activateClass).Unsuspend());
@@ -193,11 +193,53 @@ namespace DCGO.CardEffects.BT17
 
                     List<CardSource> returnedSources = willReturnYourTrash ? card.Owner.TrashCards.Clone() : card.Owner.Enemy.TrashCards.Clone();
 
-                    yield return ContinuousController.instance.StartCoroutine(CardObjectController.AddLibraryBottomCards(returnedSources));
+                    if (returnedSources.Count >= 1)
+                    {
+                        if (returnedSources.Count == 1)
+                        {
+                            yield return ContinuousController.instance.StartCoroutine(CardObjectController.AddLibraryBottomCards(returnedSources));
 
-                    yield return ContinuousController.instance.StartCoroutine(GManager.instance.GetComponent<Effects>().ShowCardEffect2(returnedSources, "Deck Bottom Cards", true, true));
+                            yield return ContinuousController.instance.StartCoroutine(GManager.instance.GetComponent<Effects>().ShowCardEffect2(returnedSources, "Deck Bottom Cards", true, true));
+                        }
+                        else
+                        {
+                            int maxCount = returnedSources.Count;
 
-                    if(returnedSources.Count(HasWhiteLevelSeven) > 0)
+                            SelectCardEffect selectCardEffect = GManager.instance.GetComponent<SelectCardEffect>();
+
+                            selectCardEffect.SetUp(
+                            canTargetCondition: (cardSource) => true,
+                            canTargetCondition_ByPreSelecetedList: null,
+                            canEndSelectCondition: null,
+                            canNoSelect: () => false,
+                            selectCardCoroutine: null,
+                            afterSelectCardCoroutine: AfterSelectCardCoroutine1,
+                            message: "Select cards to place at the bottom of the deck\n(cards will be placed back to the bottom of the deck so that cards with lower numbers are on top).",
+                            maxCount: maxCount,
+                            canEndNotMax: false,
+                            isShowOpponent: false,
+                            mode: SelectCardEffect.Mode.Custom,
+                            root: SelectCardEffect.Root.Custom,
+                            customRootCardList: returnedSources,
+                            canLookReverseCard: true,
+                            selectPlayer: card.Owner,
+                            cardEffect: activateClass);
+
+                            selectCardEffect.SetNotShowCard();
+                            selectCardEffect.SetNotAddLog();
+
+                            yield return ContinuousController.instance.StartCoroutine(selectCardEffect.Activate());
+
+                            IEnumerator AfterSelectCardCoroutine1(List<CardSource> cardSources)
+                            {
+                                yield return ContinuousController.instance.StartCoroutine(CardObjectController.AddLibraryBottomCards(cardSources));
+
+                                yield return ContinuousController.instance.StartCoroutine(GManager.instance.GetComponent<Effects>().ShowCardEffect2(cardSources, "Deck Bottom Cards", true, true));
+                            }
+                        }
+                    }
+
+                    if (returnedSources.Count(HasWhiteLevelSeven) > 0)
                         yield return ContinuousController.instance.StartCoroutine(card.Owner.AddMemory(3, activateClass));
                 }
             }

+ 2 - 2
Assets/CardEffect/BT17/White/MenoaBellucci_BT17_092.cs

@@ -143,7 +143,7 @@ namespace DCGO.CardEffects.BT17
 
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Prevent from leaving battle area, by opponents effect", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, false, EffectDiscription());
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, true, EffectDiscription());
                 activateClass.SetHashString("Prevent_BT17_092");
                 cardEffects.Add(activateClass);
 
@@ -220,7 +220,7 @@ namespace DCGO.CardEffects.BT17
                             canTargetCondition_ByPreSelecetedList: null,
                             canEndSelectCondition: null,
                             maxCount: maxCount,
-                            canNoSelect: true,
+                            canNoSelect: false,
                             canEndNotMax: false,
                             selectPermanentCoroutine: SelectPermanentCoroutine,
                             afterSelectPermanentCoroutine: null,

+ 1 - 1
Assets/CardEffect/BT17/White/Omnimon_BT17_078.cs

@@ -309,7 +309,7 @@ namespace DCGO.CardEffects.BT17
                         if (selectedLevel > 0)
                         {
                             yield return ContinuousController.instance.StartCoroutine(new DeckBottomBounceClass(
-                                deckBounceTargetPermanents: card.Owner.Enemy.GetBattleAreaDigimons().Filter(permanent => permanent.Level == selectedLevel),
+                                deckBounceTargetPermanents: card.Owner.Enemy.GetBattleAreaDigimons().Filter(permanent => permanent.Level == selectedLevel && !permanent.TopCard.CanNotBeAffected(activateClass)),
                                 hashtable: hashtable).DeckBounce());
                         }
                     }

+ 2 - 2
Assets/CardEffect/BT17/White/TaiKamiyaAndKariKamiya_BT17_093.cs

@@ -21,7 +21,7 @@ namespace DCGO.CardEffects.BT17
 
                 string EffectDiscription()
                 {
-                    return "[All Turns] When you hatch in the breeding area, by suspending this Tamer, gain 1 memory.";
+                    return "[All Turns] When your breeding area is hatched in, by suspending this Tamer, gain 1 memory.";
                 }
 
                 bool IsDigiEggHatch(Permanent permanent)
@@ -69,7 +69,7 @@ namespace DCGO.CardEffects.BT17
             if (timing == EffectTiming.OnEndTurn)
             {
                 ActivateClass activateClass = new ActivateClass();
-                activateClass.SetUpICardEffect("Return To Hand, then play a Tamer", CanUseCondition, card);
+                activateClass.SetUpICardEffect("Return this card to bottom of deck, draw 1. Then play a Tamer", CanUseCondition, card);
                 activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, false, EffectDiscription());
                 cardEffects.Add(activateClass);
 

+ 42 - 48
Assets/CardEffect/BT17/Yellow/AwakeningoftheSun_BT17_099.cs

@@ -232,18 +232,7 @@ namespace DCGO.CardEffects.BT17
 
                 bool CanActivateCondition(Hashtable hashtable)
                 {
-                    if (CardEffectCommons.IsExistOnBattleArea(card))
-                    {
-                        if (CardEffectCommons.HasMatchConditionOwnersPermanent(card, CanSelectPermanentCondition))
-                        {
-                            if (CardEffectCommons.HasMatchConditionOwnersHand(card, CanSelectCardCondition))
-                            {
-                                return true;
-                            }
-                        }
-                    }
-
-                    return false;
+                    return CardEffectCommons.IsExistOnBattleArea(card);
                 }
 
                 IEnumerator ActivateCoroutine(Hashtable _hashtable)
@@ -257,50 +246,55 @@ namespace DCGO.CardEffects.BT17
 
                 IEnumerator SuccessProcess()
                 {
-     
-                    Permanent selectedPermanent = null;
+                    if (CardEffectCommons.HasMatchConditionOwnersPermanent(card, CanSelectPermanentCondition))
+                    {
+                        if (CardEffectCommons.HasMatchConditionOwnersHand(card, CanSelectCardCondition))
+                        {
+                            Permanent selectedPermanent = null;
 
-                    int maxCount = Math.Min(1, CardEffectCommons.MatchConditionPermanentCount(CanSelectPermanentCondition));
+                            int maxCount = Math.Min(1, CardEffectCommons.MatchConditionPermanentCount(CanSelectPermanentCondition));
 
-                    SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
+                            SelectPermanentEffect selectPermanentEffect = GManager.instance.GetComponent<SelectPermanentEffect>();
 
-                    selectPermanentEffect.SetUp(
-                        selectPlayer: card.Owner,
-                        canTargetCondition: CanSelectPermanentCondition,
-                        canTargetCondition_ByPreSelecetedList: null,
-                        canEndSelectCondition: null,
-                        maxCount: maxCount,
-                        canNoSelect: true,
-                        canEndNotMax: false,
-                        selectPermanentCoroutine: SelectPermanentCoroutine,
-                        afterSelectPermanentCoroutine: null,
-                        mode: SelectPermanentEffect.Mode.Custom,
-                        cardEffect: activateClass);
+                            selectPermanentEffect.SetUp(
+                                selectPlayer: card.Owner,
+                                canTargetCondition: CanSelectPermanentCondition,
+                                canTargetCondition_ByPreSelecetedList: null,
+                                canEndSelectCondition: null,
+                                maxCount: maxCount,
+                                canNoSelect: true,
+                                canEndNotMax: false,
+                                selectPermanentCoroutine: SelectPermanentCoroutine,
+                                afterSelectPermanentCoroutine: null,
+                                mode: SelectPermanentEffect.Mode.Custom,
+                                cardEffect: activateClass);
 
-                    selectPermanentEffect.SetUpCustomMessage("Select 1 Digimon to digivolve into [ShineGreymon].", "The opponent is selecting 1 Digimon to digivolve into [ShineGreymon].");
+                            selectPermanentEffect.SetUpCustomMessage("Select 1 Digimon to digivolve into [ShineGreymon].", "The opponent is selecting 1 Digimon to digivolve into [ShineGreymon].");
 
-                    yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
+                            yield return ContinuousController.instance.StartCoroutine(selectPermanentEffect.Activate());
 
-                    IEnumerator SelectPermanentCoroutine(Permanent permanent)
-                    {
-                        selectedPermanent = permanent;
+                            IEnumerator SelectPermanentCoroutine(Permanent permanent)
+                            {
+                                selectedPermanent = permanent;
 
-                        yield return null;
-                    }
+                                yield return null;
+                            }
 
-                    if (selectedPermanent != null)
-                    {
-                        yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.DigivolveIntoHandOrTrashCard(
-                            targetPermanent: selectedPermanent,
-                            cardCondition: CanSelectCardCondition,
-                            payCost: false,
-                            reduceCostTuple: null,
-                            fixedCostTuple: null,
-                            ignoreDigivolutionRequirementFixedCost: -1,
-                            isHand: true,
-                            activateClass: activateClass,
-                            successProcess: null));
-                    }
+                            if (selectedPermanent != null)
+                            {
+                                yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.DigivolveIntoHandOrTrashCard(
+                                    targetPermanent: selectedPermanent,
+                                    cardCondition: CanSelectCardCondition,
+                                    payCost: false,
+                                    reduceCostTuple: null,
+                                    fixedCostTuple: null,
+                                    ignoreDigivolutionRequirementFixedCost: -1,
+                                    isHand: true,
+                                    activateClass: activateClass,
+                                    successProcess: null));
+                            }
+                        }
+                    }                    
                 }
             }
             #endregion

+ 8 - 5
Assets/CardEffect/BT17/Yellow/Boutmon_BT17_036.cs

@@ -38,15 +38,18 @@ namespace DCGO.CardEffects.BT17
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    if (CardEffectCommons.IsExistOnBattleArea(card))
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                     {
-                        if (CardEffectCommons.CanTriggerWhenRemoveField(hashtable, card))
+                        if(card.Owner.SecurityCards.Count > 0)
                         {
-                            if (CardEffectCommons.IsByEffect(hashtable, cardEffect => CardEffectCommons.IsOpponentEffect(cardEffect, card)))
+                            if (CardEffectCommons.CanTriggerWhenRemoveField(hashtable, card))
                             {
-                                return true;
+                                if (CardEffectCommons.IsByEffect(hashtable, cardEffect => CardEffectCommons.IsOpponentEffect(cardEffect, card)))
+                                {
+                                    return true;
+                                }
                             }
-                        }
+                        }                        
                     }
 
                     return false;

+ 1 - 1
Assets/CardEffect/BT17/Yellow/Bulkmon_BT17_034.cs

@@ -101,7 +101,7 @@ namespace DCGO.CardEffects.BT17
 
                         IEnumerator SelectPermanentCoroutine(Permanent permanent)
                         {
-                            yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.ChangeDigimonDP(targetPermanent: permanent, changeValue: -3000, effectDuration: EffectDuration.UntilOpponentTurnEnd, activateClass: activateClass));
+                            yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.ChangeDigimonDP(targetPermanent: permanent, changeValue: -3000, effectDuration: EffectDuration.UntilEachTurnEnd, activateClass: activateClass));
                         }
                     }
 

+ 2 - 7
Assets/CardEffect/BT17/Yellow/Renamon_BT17_031.cs

@@ -27,7 +27,7 @@ namespace DCGO.CardEffects.BT17
                 {
                     if (cardSource.IsDigimon)
                     {
-                        if (cardSource.name.Contains("Kyubimon") || cardSource.name.Contains("Taomon") || cardSource.name.Contains("Sakuyamon"))
+                        if (cardSource.EqualsCardName("Kyubimon") || cardSource.EqualsCardName("Taomon") || cardSource.EqualsCardName("Sakuyamon"))
                         {
                             return true;
                         }
@@ -38,12 +38,7 @@ namespace DCGO.CardEffects.BT17
 
                 bool CanSelectCardCondition1(CardSource cardSource)
                 {
-                    if (cardSource.CardNames.Contains("Rika Nonaka") || cardSource.CardNames.Contains("RikaNonaka"))
-                    {
-                        return true;
-                    }
-
-                    if (cardSource.CardNames.Contains("RikaNonaka"))
+                    if (cardSource.EqualsCardName("Rika Nonaka"))
                     {
                         return true;
                     }

+ 1 - 1
Assets/CardEffect/BT17/Yellow/RikaNonaka_BT17_085.cs

@@ -308,7 +308,7 @@ namespace DCGO.CardEffects.BT17
                                 cardCondition: CanSelectCardCondition2,
                                 payCost: true,
                                 reduceCostTuple: null,
-                                fixedCostTuple: null,
+                                fixedCostTuple: (fixedCost: 4, fixedCostCardCondition: null),
                                 ignoreDigivolutionRequirementFixedCost: 4,
                                 isHand: true,
                                 activateClass: activateClass,

+ 7 - 4
Assets/CardEffect/BT17/Yellow/RizeGreymon_BT17_037.cs

@@ -11,16 +11,19 @@ namespace DCGO.CardEffects.BT17
         {
             List<ICardEffect> cardEffects = new List<ICardEffect>();
 
-            #region All Turns
+            #region Your Turn
             if (timing == EffectTiming.None)
             {
                 bool Condition()
                 {
-                    if (CardEffectCommons.IsExistOnBattleArea(card))
+                    if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
                     {
-                        if (CardEffectCommons.HasMatchConditionOwnersPermanent(card, (permanent) => permanent.IsSuspended && permanent.IsTamer))
+                        if (CardEffectCommons.IsOwnerTurn(card))
                         {
-                            return true;
+                            if (CardEffectCommons.HasMatchConditionOwnersPermanent(card, (permanent) => permanent.IsSuspended && permanent.IsTamer))
+                            {
+                                return true;
+                            }
                         }
                     }
 

+ 11 - 30
Assets/CardEffect/BT17/Yellow/Sakuyamon_BT17_038.cs

@@ -203,21 +203,6 @@ namespace DCGO.CardEffects.BT17
                     return false;
                 }
 
-                bool CanUseCondition2()
-                {
-                    if (CardEffectCommons.IsExistOnBattleArea(card))
-                    {
-                        return true;
-                    }
-
-                    return false;
-                }
-
-                bool PermanentCondition(Permanent permanent)
-                {
-                    return permanent == card.PermanentOfThisCard();
-                }
-
                 bool CardEffectCondition(ICardEffect cardEffect)
                 {
                     return CardEffectCommons.IsOpponentEffect(cardEffect, card);
@@ -235,23 +220,19 @@ namespace DCGO.CardEffects.BT17
 
                 IEnumerator ActivateCoroutine(Hashtable _hashtable)
                 {
-                    cardEffects.Add(CardEffectFactory.CannotReturnToDeckStaticEffect(
-                        permanentCondition: PermanentCondition,
+                    yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.GainCanNotReturnToHand(
+                            targetPermanent: card.PermanentOfThisCard(),
+                            cardEffectCondition: CardEffectCondition,
+                            effectDuration: EffectDuration.UntilOpponentTurnEnd,
+                            activateClass: activateClass,
+                            effectName: "Can't return to hand by opponent's effects"));
+
+                    yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.GainCanNotReturnToDeck(
+                        targetPermanent: card.PermanentOfThisCard(),
                         cardEffectCondition: CardEffectCondition,
-                        isInheritedEffect: false,
-                        card: card,
-                        condition: CanUseCondition2,
+                        effectDuration: EffectDuration.UntilOpponentTurnEnd,
+                        activateClass: activateClass,
                         effectName: "Can't return to deck by opponent's effects"));
-
-                    cardEffects.Add(CardEffectFactory.CannotReturnToHandStaticEffect(
-                        permanentCondition: PermanentCondition,
-                        cardEffectCondition: CardEffectCondition,
-                        isInheritedEffect: false,
-                        card: card,
-                        condition: CanUseCondition2,
-                        effectName: "Can't return to hand by opponent's effects"));
-
-                    yield return null;
                 }
                 
             }          

+ 11 - 2
Assets/CardEffect/BT17/Yellow/ShineGreymonBurstMode_BT17_041.cs

@@ -297,7 +297,8 @@ namespace DCGO.CardEffects.BT17
                     {
                         if (permanent.IsTamer && permanent.TopCard.CardColors.Contains(CardColor.Yellow))
                         {
-                            return true;
+                            if(!permanent.IsSuspended && permanent.CanSuspend)
+                                return true;
                         }
                     }
 
@@ -306,7 +307,15 @@ namespace DCGO.CardEffects.BT17
 
                 bool CanUseCondition(Hashtable hashtable)
                 {
-                    return CardEffectCommons.CanTriggerOnAttack(hashtable, card);
+                    if(CardEffectCommons.CanTriggerOnAttack(hashtable, card))
+                    {
+                        if(CardEffectCommons.MatchConditionOpponentsPermanentCount(card, CanSelectPermanentCondition) >= 2)
+                        {
+                            return true;
+                        }
+                    }
+
+                    return false;
                 }
 
                 bool CanActivateCondition(Hashtable hashtable)

+ 1 - 0
Assets/CardEffect/BT17/Yellow/ShineGreymon_BT17_039.cs

@@ -103,6 +103,7 @@ namespace DCGO.CardEffects.BT17
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("Return 1 Tamer to hand to prevent this Digimon from leaving Battle Area", CanUseCondition, card);
                 activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, true, EffectDiscription());
+                activateClass.SetHashString("Protection_BT17_039");
                 cardEffects.Add(activateClass);
 
                 string EffectDiscription()

+ 2 - 0
Assets/Scripts/AttackProcess.cs

@@ -17,6 +17,8 @@ public class AttackProcess : MonoBehaviourPunCallbacks
     public bool DoSecurityCheck { get; set; } = false;
     public bool IsEndAttack { get; set; } = false;
 
+    public bool UsedBlitz { get; set; } = false;
+
     void SetAttackerDefender(Permanent attackingPermanent, Permanent defendingPermanent)
     {
         AttackingPermanent = attackingPermanent;

+ 2 - 2
Assets/Scripts/CEntity_Base.cs

@@ -32,8 +32,8 @@ public class CEntity_Base : ScriptableObject
     public int DP = 0;
     public Rarity rarity;
     public int OverflowMemory = 0;
-    public bool HasInhetitedEffect => !string.IsNullOrEmpty(InheritedEffectDiscription_JPN);
-    public bool HasSecutiryEffect => !string.IsNullOrEmpty(SecurityEffectDiscription_JPN);
+    public bool HasInhetitedEffect => !string.IsNullOrEmpty(InheritedEffectDiscription_ENG);
+    public bool HasSecutiryEffect => !string.IsNullOrEmpty(SecurityEffectDiscription_ENG);
     public string CardID = "";
     public int MaxCountInDeck = 4;
     public bool HasLoadStarted { get; set; } = false;

+ 39 - 25
Assets/Scripts/CardEffectCommons.cs

@@ -103,7 +103,7 @@ public partial class CardEffectCommons
     #endregion
 
     #region Play 1 Token
-    public static IEnumerator PlayToken(CEntity_Base tokenData, ICardEffect activateClass, bool isOwnerPermanent, bool isTapped)
+    public static IEnumerator PlayToken(CEntity_Base tokenData, ICardEffect activateClass, bool isOwnerPermanent, bool isTapped, int quantity = 1)
     {
         if (activateClass == null) yield break;
         if (activateClass.EffectSourceCard == null) yield break;
@@ -115,15 +115,19 @@ public partial class CardEffectCommons
 
         if (card.Owner.fieldCardFrames.Count((frame) => frame.IsEmptyFrame() && frame.IsBattleAreaFrame()) >= 1)
         {
+            List<CardSource> playCards = new List<CardSource>();
             CardSource tokenCard = CardObjectController.CreateCardSource(
                 player.PlayerID,
                 tokenData,
                 true);
 
+            for (int i = 0; i < quantity; i++)
+                playCards.Add(tokenCard);
+
             if (CanPlayAsNewPermanent(cardSource: tokenCard, payCost: false, cardEffect: activateClass))
             {
                 yield return ContinuousController.instance.StartCoroutine(new PlayCardClass(
-                    cardSources: new List<CardSource>() { tokenCard },
+                    cardSources: playCards,
                     hashtable: CardEffectHashtable(activateClass),
                     payCost: false,
                     targetPermanent: null,
@@ -136,13 +140,14 @@ public partial class CardEffectCommons
     #endregion
 
     #region Play 1 [Diaboromon] Token
-    public static IEnumerator PlayDiaboromonToken(ICardEffect activateClass)
+    public static IEnumerator PlayDiaboromonToken(ICardEffect activateClass,int quantity = 1)
     {
         yield return ContinuousController.instance.StartCoroutine(PlayToken(
             tokenData: ContinuousController.instance.DiaboromonToken,
             activateClass: activateClass,
             isOwnerPermanent: true,
-            isTapped: false
+            isTapped: false,
+            quantity: quantity
         ));
     }
     #endregion
@@ -552,28 +557,37 @@ public partial class CardEffectCommons
         {
             if (owner.HandCards.Count(CanSelectCardCondition) >= 1)
             {
-                int maxCount = 1;
 
-                SelectHandEffect selectHandEffect = GManager.instance.GetComponent<SelectHandEffect>();
-
-                selectHandEffect.SetUp(
-                    selectPlayer: owner,
-                    canTargetCondition: CanSelectCardCondition,
-                    canTargetCondition_ByPreSelecetedList: null,
-                    canEndSelectCondition: null,
-                    maxCount: maxCount,
-                    canNoSelect: true,
-                    canEndNotMax: false,
-                    isShowOpponent: true,
-                    selectCardCoroutine: SelectCardCoroutine,
-                    afterSelectCardCoroutine: null,
-                    mode: SelectHandEffect.Mode.Custom,
-                    cardEffect: activateClass);
-
-                selectHandEffect.SetUpCustomMessage("Select 1 card to digivolve.", "The opponent is selecting 1 card to digivolve.");
-                selectHandEffect.SetUpCustomMessage_ShowCard("Selected Card");
-
-                yield return ContinuousController.instance.StartCoroutine(selectHandEffect.Activate());
+                int maxCount = Mathf.Max(1, owner.HandCards.Count(CanSelectCardCondition));
+
+                if(maxCount > 1)
+                {
+                    SelectHandEffect selectHandEffect = GManager.instance.GetComponent<SelectHandEffect>();
+
+                    selectHandEffect.SetUp(
+                        selectPlayer: owner,
+                        canTargetCondition: CanSelectCardCondition,
+                        canTargetCondition_ByPreSelecetedList: null,
+                        canEndSelectCondition: null,
+                        maxCount: maxCount,
+                        canNoSelect: true,
+                        canEndNotMax: false,
+                        isShowOpponent: true,
+                        selectCardCoroutine: SelectCardCoroutine,
+                        afterSelectCardCoroutine: null,
+                        mode: SelectHandEffect.Mode.Custom,
+                        cardEffect: activateClass);
+
+                    selectHandEffect.SetUpCustomMessage("Select 1 card to digivolve.", "The opponent is selecting 1 card to digivolve.");
+                    selectHandEffect.SetUpCustomMessage_ShowCard("Selected Card");
+
+                    yield return ContinuousController.instance.StartCoroutine(selectHandEffect.Activate());
+                }
+                else
+                {
+                    selectedCards.Add(owner.HandCards.Find(CanSelectCardCondition));
+                }
+                
             }
         }
 

+ 18 - 1
Assets/Scripts/CardEffectCommons/KeyWordEffects/Blitz.cs

@@ -17,8 +17,19 @@ public partial class CardEffectCommons
                 {
                     if (!GManager.instance.attackProcess.IsAttacking)
                     {
-                        if(GManager.instance.attackProcess.AttackingPermanent != cardSource.PermanentOfThisCard())
+                        if (!GManager.instance.attackProcess.UsedBlitz)
+                        {
                             return true;
+                        }
+                        else
+                        {
+                            if (GManager.instance.attackProcess.AttackingPermanent.TopCard != cardSource.PermanentOfThisCard().TopCard)
+                            {
+
+                                return true;
+                            }
+                        }
+                                                
                     }
                 }
             }
@@ -44,6 +55,12 @@ public partial class CardEffectCommons
             selectAttackEffect.SetBeforeOnAttackCoroutine(beforeOnAttackCoroutine);
 
             yield return ContinuousController.instance.StartCoroutine(selectAttackEffect.Activate());
+
+            GManager.instance.attackProcess.UsedBlitz = true;
+        }
+        else
+        {
+            GManager.instance.attackProcess.UsedBlitz = false;
         }
     }
     #endregion

+ 17 - 0
Assets/Scripts/CardSource.cs

@@ -1462,6 +1462,23 @@ public class CardSource : MonoBehaviour
     }
     #endregion
 
+    #region whether this card has at least 1 trait that contains "Hybrid", "Ten Warriors"
+    public bool HasHybridTenWarriorsTraits
+    {
+        get
+        {
+            if (ContainsTraits("Hybrid"))
+                return true;
+
+            if (ContainsTraits("Ten Warriors"))
+                return true;
+
+            return false;
+        }
+    }
+    #endregion
+
+
     #region whether this card has "XAntibody" trait
     public bool HasXAntibodyTraits => CardTraits.Some(DataBase.IsXAntibodyString);
     #endregion

+ 3 - 1
Assets/Scripts/ContinuousController.cs

@@ -451,7 +451,7 @@ public class ContinuousController : MonoBehaviour
                 deckCards.Add(cEntity_Base);
             }
         }
-
+        Debug.Log($"Create Deck From File: {name}");
         DeckData deckData = (new DeckData(DeckData.GetDeckCode(name, deckCards, digitamaDeckCards, null),id)).ModifiedDeckData();
 
         deckData.KeyCardId = keyID;
@@ -1332,6 +1332,8 @@ public class PhotonUtility
 
         else
         {
+            Debug.Log($"SIGN UP BATTLE DECK: {ContinuousController.DeckDataPropertyKey}");
+            Debug.Log($"SIGN UP BATTLE DECK: {ContinuousController.instance.BattleDeckData.GetThisDeckCode()}");
             hash.Add(ContinuousController.DeckDataPropertyKey, ContinuousController.instance.BattleDeckData.GetThisDeckCode());
         }
 

+ 6 - 0
Assets/Scripts/DeckData.cs

@@ -727,6 +727,8 @@ public class DeckData
             }
         }
 
+        Debug.Log($"ModifiedDeckData: {deckCards.Count}");
+
         List<CEntity_Base> modifiedDeckCards = modifiedList(deckCards);
         List<CEntity_Base> modifiedDigitamaDeckCards = modifiedList(digitamaDeckCards);
 
@@ -755,6 +757,7 @@ public class DeckData
             //Remove more than the specified number of cards
             foreach (CEntity_Base cEntity_Base in DistinctDeckCards1)
             {
+                Debug.Log($"Remove more than max count: {cEntity_Base.SameCardIDCount(deckCards)}, {cEntity_Base.MaxCountInDeck}");
                 while (cEntity_Base.SameCardIDCount(deckCards) > cEntity_Base.MaxCountInDeck)
                 {
                     CEntity_Base removeCard = null;
@@ -770,11 +773,14 @@ public class DeckData
 
                     if (removeCard != null)
                     {
+                        Debug.Log($"Remove card: {removeCard.CardID}");
                         deckCards.Remove(removeCard);
                     }
                 }
             }
 
+            Debug.Log($"Modified Deck: {deckCards.Count}");
+
             return deckCards;
         }
 

+ 1 - 1
ProjectSettings/ProjectSettings.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:a25bf032f2f43e156aacbb90ffc8f61d37312e69e766e38e21e25f2229de6a1c
+oid sha256:621dbfd09b7a8b5161a996f8cf1338efce1a4bcc6d9bfe04132155e2b1ab1407
 size 20166

+ 668 - 0
lfs/objects/62/1d/621dbfd09b7a8b5161a996f8cf1338efce1a4bcc6d9bfe04132155e2b1ab1407

@@ -0,0 +1,668 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!129 &1
+PlayerSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 23
+  productGUID: 8fbfd141f045ffc4bbe9d3347b8eb87d
+  AndroidProfiler: 0
+  AndroidFilterTouchesWhenObscured: 0
+  AndroidEnableSustainedPerformanceMode: 0
+  defaultScreenOrientation: 4
+  targetDevice: 2
+  useOnDemandResources: 0
+  accelerometerFrequency: 60
+  companyName: DCGO
+  productName: DCGO
+  defaultCursor: {fileID: 2800000, guid: b086a093dbd45b24e80e13a51af2e5f8, type: 3}
+  cursorHotspot: {x: 0, y: 0}
+  m_SplashScreenBackgroundColor: {r: 0.12156863, g: 0.12156863, b: 0.1254902, a: 1}
+  m_ShowUnitySplashScreen: 1
+  m_ShowUnitySplashLogo: 0
+  m_SplashScreenOverlayOpacity: 0
+  m_SplashScreenAnimation: 0
+  m_SplashScreenLogoStyle: 1
+  m_SplashScreenDrawMode: 0
+  m_SplashScreenBackgroundAnimationZoom: 1
+  m_SplashScreenLogoAnimationZoom: 1
+  m_SplashScreenBackgroundLandscapeAspect: 1
+  m_SplashScreenBackgroundPortraitAspect: 1
+  m_SplashScreenBackgroundLandscapeUvs:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 0.9999999
+  m_SplashScreenBackgroundPortraitUvs:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  m_SplashScreenLogos:
+  - logo: {fileID: 0}
+    duration: 8
+  m_VirtualRealitySplashScreen: {fileID: 0}
+  m_HolographicTrackingLossScreen: {fileID: 0}
+  defaultScreenWidth: 1920
+  defaultScreenHeight: 1080
+  defaultScreenWidthWeb: 960
+  defaultScreenHeightWeb: 600
+  m_StereoRenderingPath: 0
+  m_ActiveColorSpace: 0
+  m_MTRendering: 1
+  mipStripping: 0
+  numberOfMipsStripped: 0
+  m_StackTraceTypes: 010000000100000001000000010000000100000001000000
+  iosShowActivityIndicatorOnLoading: -1
+  androidShowActivityIndicatorOnLoading: -1
+  iosUseCustomAppBackgroundBehavior: 0
+  iosAllowHTTPDownload: 1
+  allowedAutorotateToPortrait: 1
+  allowedAutorotateToPortraitUpsideDown: 1
+  allowedAutorotateToLandscapeRight: 1
+  allowedAutorotateToLandscapeLeft: 1
+  useOSAutorotation: 1
+  use32BitDisplayBuffer: 1
+  preserveFramebufferAlpha: 0
+  disableDepthAndStencilBuffers: 0
+  androidStartInFullscreen: 1
+  androidRenderOutsideSafeArea: 1
+  androidUseSwappy: 1
+  androidBlitType: 0
+  androidResizableWindow: 0
+  androidDefaultWindowWidth: 1920
+  androidDefaultWindowHeight: 1080
+  androidMinimumWindowWidth: 400
+  androidMinimumWindowHeight: 300
+  androidFullscreenMode: 1
+  defaultIsNativeResolution: 1
+  macRetinaSupport: 1
+  runInBackground: 0
+  captureSingleScreen: 0
+  muteOtherAudioSources: 0
+  Prepare IOS For Recording: 0
+  Force IOS Speakers When Recording: 0
+  deferSystemGesturesMode: 0
+  hideHomeButton: 0
+  submitAnalytics: 1
+  usePlayerLog: 1
+  bakeCollisionMeshes: 0
+  forceSingleInstance: 0
+  useFlipModelSwapchain: 1
+  resizableWindow: 0
+  useMacAppStoreValidation: 0
+  macAppStoreCategory: public.app-category.games
+  gpuSkinning: 0
+  xboxPIXTextureCapture: 0
+  xboxEnableAvatar: 0
+  xboxEnableKinect: 0
+  xboxEnableKinectAutoTracking: 0
+  xboxEnableFitness: 0
+  visibleInBackground: 1
+  allowFullscreenSwitch: 1
+  fullscreenMode: 1
+  xboxSpeechDB: 0
+  xboxEnableHeadOrientation: 0
+  xboxEnableGuest: 0
+  xboxEnablePIXSampling: 0
+  metalFramebufferOnly: 0
+  xboxOneResolution: 0
+  xboxOneSResolution: 0
+  xboxOneXResolution: 3
+  xboxOneMonoLoggingLevel: 0
+  xboxOneLoggingLevel: 1
+  xboxOneDisableEsram: 0
+  xboxOneEnableTypeOptimization: 0
+  xboxOnePresentImmediateThreshold: 0
+  switchQueueCommandMemory: 1048576
+  switchQueueControlMemory: 16384
+  switchQueueComputeMemory: 262144
+  switchNVNShaderPoolsGranularity: 33554432
+  switchNVNDefaultPoolsGranularity: 16777216
+  switchNVNOtherPoolsGranularity: 16777216
+  switchNVNMaxPublicTextureIDCount: 0
+  switchNVNMaxPublicSamplerIDCount: 0
+  stadiaPresentMode: 0
+  stadiaTargetFramerate: 0
+  vulkanNumSwapchainBuffers: 3
+  vulkanEnableSetSRGBWrite: 0
+  vulkanEnablePreTransform: 0
+  vulkanEnableLateAcquireNextImage: 0
+  vulkanEnableCommandBufferRecycling: 1
+  m_SupportedAspectRatios:
+    4:3: 1
+    5:4: 1
+    16:10: 1
+    16:9: 1
+    Others: 1
+  bundleVersion: 1.3.9
+  preloadedAssets: []
+  metroInputSource: 0
+  wsaTransparentSwapchain: 0
+  m_HolographicPauseOnTrackingLoss: 1
+  xboxOneDisableKinectGpuReservation: 1
+  xboxOneEnable7thCore: 1
+  vrSettings:
+    enable360StereoCapture: 0
+  isWsaHolographicRemotingEnabled: 0
+  enableFrameTimingStats: 0
+  enableOpenGLProfilerGPURecorders: 1
+  useHDRDisplay: 0
+  D3DHDRBitDepth: 0
+  m_ColorGamuts: 00000000
+  targetPixelDensity: 30
+  resolutionScalingMode: 0
+  resetResolutionOnWindowResize: 0
+  androidSupportedAspectRatio: 1
+  androidMaxAspectRatio: 2.1
+  applicationIdentifier:
+    Standalone: com.DCGO.DCGO
+  buildNumber:
+    Standalone: 0
+    iPhone: 0
+    tvOS: 0
+  overrideDefaultApplicationIdentifier: 0
+  AndroidBundleVersionCode: 1
+  AndroidMinSdkVersion: 22
+  AndroidTargetSdkVersion: 0
+  AndroidPreferredInstallLocation: 1
+  aotOptions: 
+  stripEngineCode: 1
+  iPhoneStrippingLevel: 0
+  iPhoneScriptCallOptimization: 0
+  ForceInternetPermission: 0
+  ForceSDCardPermission: 0
+  CreateWallpaper: 0
+  APKExpansionFiles: 0
+  keepLoadedShadersAlive: 0
+  StripUnusedMeshComponents: 0
+  VertexChannelCompressionMask: 4054
+  iPhoneSdkVersion: 988
+  iOSTargetOSVersionString: 11.0
+  tvOSSdkVersion: 0
+  tvOSRequireExtendedGameController: 0
+  tvOSTargetOSVersionString: 11.0
+  uIPrerenderedIcon: 0
+  uIRequiresPersistentWiFi: 0
+  uIRequiresFullScreen: 1
+  uIStatusBarHidden: 1
+  uIExitOnSuspend: 0
+  uIStatusBarStyle: 0
+  appleTVSplashScreen: {fileID: 0}
+  appleTVSplashScreen2x: {fileID: 0}
+  tvOSSmallIconLayers: []
+  tvOSSmallIconLayers2x: []
+  tvOSLargeIconLayers: []
+  tvOSLargeIconLayers2x: []
+  tvOSTopShelfImageLayers: []
+  tvOSTopShelfImageLayers2x: []
+  tvOSTopShelfImageWideLayers: []
+  tvOSTopShelfImageWideLayers2x: []
+  iOSLaunchScreenType: 0
+  iOSLaunchScreenPortrait: {fileID: 0}
+  iOSLaunchScreenLandscape: {fileID: 0}
+  iOSLaunchScreenBackgroundColor:
+    serializedVersion: 2
+    rgba: 0
+  iOSLaunchScreenFillPct: 100
+  iOSLaunchScreenSize: 100
+  iOSLaunchScreenCustomXibPath: 
+  iOSLaunchScreeniPadType: 0
+  iOSLaunchScreeniPadImage: {fileID: 0}
+  iOSLaunchScreeniPadBackgroundColor:
+    serializedVersion: 2
+    rgba: 0
+  iOSLaunchScreeniPadFillPct: 100
+  iOSLaunchScreeniPadSize: 100
+  iOSLaunchScreeniPadCustomXibPath: 
+  iOSLaunchScreenCustomStoryboardPath: 
+  iOSLaunchScreeniPadCustomStoryboardPath: 
+  iOSDeviceRequirements: []
+  iOSURLSchemes: []
+  macOSURLSchemes: []
+  iOSBackgroundModes: 0
+  iOSMetalForceHardShadows: 0
+  metalEditorSupport: 1
+  metalAPIValidation: 1
+  iOSRenderExtraFrameOnPause: 0
+  iosCopyPluginsCodeInsteadOfSymlink: 0
+  appleDeveloperTeamID: 
+  iOSManualSigningProvisioningProfileID: 
+  tvOSManualSigningProvisioningProfileID: 
+  iOSManualSigningProvisioningProfileType: 0
+  tvOSManualSigningProvisioningProfileType: 0
+  appleEnableAutomaticSigning: 0
+  iOSRequireARKit: 0
+  iOSAutomaticallyDetectAndAddCapabilities: 1
+  appleEnableProMotion: 0
+  shaderPrecisionModel: 0
+  clonedFromGUID: 00000000000000000000000000000000
+  templatePackageId: 
+  templateDefaultScene: 
+  useCustomMainManifest: 0
+  useCustomLauncherManifest: 0
+  useCustomMainGradleTemplate: 0
+  useCustomLauncherGradleManifest: 0
+  useCustomBaseGradleTemplate: 0
+  useCustomGradlePropertiesTemplate: 0
+  useCustomProguardFile: 0
+  AndroidTargetArchitectures: 1
+  AndroidTargetDevices: 0
+  AndroidSplashScreenScale: 0
+  androidSplashScreen: {fileID: 0}
+  AndroidKeystoreName: 
+  AndroidKeyaliasName: 
+  AndroidBuildApkPerCpuArchitecture: 0
+  AndroidTVCompatibility: 0
+  AndroidIsGame: 1
+  AndroidEnableTango: 0
+  androidEnableBanner: 1
+  androidUseLowAccuracyLocation: 0
+  androidUseCustomKeystore: 0
+  m_AndroidBanners:
+  - width: 320
+    height: 180
+    banner: {fileID: 0}
+  androidGamepadSupportLevel: 0
+  chromeosInputEmulation: 1
+  AndroidMinifyWithR8: 0
+  AndroidMinifyRelease: 0
+  AndroidMinifyDebug: 0
+  AndroidValidateAppBundleSize: 1
+  AndroidAppBundleSizeToValidate: 150
+  m_BuildTargetIcons:
+  - m_BuildTarget: 
+    m_Icons:
+    - serializedVersion: 2
+      m_Icon: {fileID: 2800000, guid: 388af3b42075feb47ae156f0a332faa9, type: 3}
+      m_Width: 128
+      m_Height: 128
+      m_Kind: 0
+  m_BuildTargetPlatformIcons: []
+  m_BuildTargetBatching: []
+  m_BuildTargetShaderSettings: []
+  m_BuildTargetGraphicsJobs: []
+  m_BuildTargetGraphicsJobMode: []
+  m_BuildTargetGraphicsAPIs: []
+  m_BuildTargetVRSettings: []
+  m_DefaultShaderChunkSizeInMB: 16
+  m_DefaultShaderChunkCount: 0
+  openGLRequireES31: 0
+  openGLRequireES31AEP: 0
+  openGLRequireES32: 0
+  m_TemplateCustomTags: {}
+  mobileMTRendering:
+    Android: 1
+    iPhone: 1
+    tvOS: 1
+  m_BuildTargetGroupLightmapEncodingQuality: []
+  m_BuildTargetGroupLightmapSettings: []
+  m_BuildTargetNormalMapEncoding: []
+  m_BuildTargetDefaultTextureCompressionFormat: []
+  playModeTestRunnerEnabled: 0
+  runPlayModeTestAsEditModeTest: 0
+  actionOnDotNetUnhandledException: 1
+  enableInternalProfiler: 0
+  logObjCUncaughtExceptions: 1
+  enableCrashReportAPI: 0
+  cameraUsageDescription: 
+  locationUsageDescription: 
+  microphoneUsageDescription: 
+  bluetoothUsageDescription: 
+  switchNMETAOverride: 
+  switchNetLibKey: 
+  switchSocketMemoryPoolSize: 6144
+  switchSocketAllocatorPoolSize: 128
+  switchSocketConcurrencyLimit: 14
+  switchScreenResolutionBehavior: 2
+  switchUseCPUProfiler: 0
+  switchUseGOLDLinker: 0
+  switchLTOSetting: 0
+  switchApplicationID: 0x01004b9000490000
+  switchNSODependencies: 
+  switchTitleNames_0: 
+  switchTitleNames_1: 
+  switchTitleNames_2: 
+  switchTitleNames_3: 
+  switchTitleNames_4: 
+  switchTitleNames_5: 
+  switchTitleNames_6: 
+  switchTitleNames_7: 
+  switchTitleNames_8: 
+  switchTitleNames_9: 
+  switchTitleNames_10: 
+  switchTitleNames_11: 
+  switchTitleNames_12: 
+  switchTitleNames_13: 
+  switchTitleNames_14: 
+  switchTitleNames_15: 
+  switchPublisherNames_0: 
+  switchPublisherNames_1: 
+  switchPublisherNames_2: 
+  switchPublisherNames_3: 
+  switchPublisherNames_4: 
+  switchPublisherNames_5: 
+  switchPublisherNames_6: 
+  switchPublisherNames_7: 
+  switchPublisherNames_8: 
+  switchPublisherNames_9: 
+  switchPublisherNames_10: 
+  switchPublisherNames_11: 
+  switchPublisherNames_12: 
+  switchPublisherNames_13: 
+  switchPublisherNames_14: 
+  switchPublisherNames_15: 
+  switchIcons_0: {fileID: 0}
+  switchIcons_1: {fileID: 0}
+  switchIcons_2: {fileID: 0}
+  switchIcons_3: {fileID: 0}
+  switchIcons_4: {fileID: 0}
+  switchIcons_5: {fileID: 0}
+  switchIcons_6: {fileID: 0}
+  switchIcons_7: {fileID: 0}
+  switchIcons_8: {fileID: 0}
+  switchIcons_9: {fileID: 0}
+  switchIcons_10: {fileID: 0}
+  switchIcons_11: {fileID: 0}
+  switchIcons_12: {fileID: 0}
+  switchIcons_13: {fileID: 0}
+  switchIcons_14: {fileID: 0}
+  switchIcons_15: {fileID: 0}
+  switchSmallIcons_0: {fileID: 0}
+  switchSmallIcons_1: {fileID: 0}
+  switchSmallIcons_2: {fileID: 0}
+  switchSmallIcons_3: {fileID: 0}
+  switchSmallIcons_4: {fileID: 0}
+  switchSmallIcons_5: {fileID: 0}
+  switchSmallIcons_6: {fileID: 0}
+  switchSmallIcons_7: {fileID: 0}
+  switchSmallIcons_8: {fileID: 0}
+  switchSmallIcons_9: {fileID: 0}
+  switchSmallIcons_10: {fileID: 0}
+  switchSmallIcons_11: {fileID: 0}
+  switchSmallIcons_12: {fileID: 0}
+  switchSmallIcons_13: {fileID: 0}
+  switchSmallIcons_14: {fileID: 0}
+  switchSmallIcons_15: {fileID: 0}
+  switchManualHTML: 
+  switchAccessibleURLs: 
+  switchLegalInformation: 
+  switchMainThreadStackSize: 1048576
+  switchPresenceGroupId: 
+  switchLogoHandling: 0
+  switchReleaseVersion: 0
+  switchDisplayVersion: 1.0.0
+  switchStartupUserAccount: 0
+  switchTouchScreenUsage: 0
+  switchSupportedLanguagesMask: 0
+  switchLogoType: 0
+  switchApplicationErrorCodeCategory: 
+  switchUserAccountSaveDataSize: 0
+  switchUserAccountSaveDataJournalSize: 0
+  switchApplicationAttribute: 0
+  switchCardSpecSize: -1
+  switchCardSpecClock: -1
+  switchRatingsMask: 0
+  switchRatingsInt_0: 0
+  switchRatingsInt_1: 0
+  switchRatingsInt_2: 0
+  switchRatingsInt_3: 0
+  switchRatingsInt_4: 0
+  switchRatingsInt_5: 0
+  switchRatingsInt_6: 0
+  switchRatingsInt_7: 0
+  switchRatingsInt_8: 0
+  switchRatingsInt_9: 0
+  switchRatingsInt_10: 0
+  switchRatingsInt_11: 0
+  switchRatingsInt_12: 0
+  switchLocalCommunicationIds_0: 
+  switchLocalCommunicationIds_1: 
+  switchLocalCommunicationIds_2: 
+  switchLocalCommunicationIds_3: 
+  switchLocalCommunicationIds_4: 
+  switchLocalCommunicationIds_5: 
+  switchLocalCommunicationIds_6: 
+  switchLocalCommunicationIds_7: 
+  switchParentalControl: 0
+  switchAllowsScreenshot: 1
+  switchAllowsVideoCapturing: 1
+  switchAllowsRuntimeAddOnContentInstall: 0
+  switchDataLossConfirmation: 0
+  switchUserAccountLockEnabled: 0
+  switchSystemResourceMemory: 16777216
+  switchSupportedNpadStyles: 22
+  switchNativeFsCacheSize: 32
+  switchIsHoldTypeHorizontal: 0
+  switchSupportedNpadCount: 8
+  switchSocketConfigEnabled: 0
+  switchTcpInitialSendBufferSize: 32
+  switchTcpInitialReceiveBufferSize: 64
+  switchTcpAutoSendBufferSizeMax: 256
+  switchTcpAutoReceiveBufferSizeMax: 256
+  switchUdpSendBufferSize: 9
+  switchUdpReceiveBufferSize: 42
+  switchSocketBufferEfficiency: 4
+  switchSocketInitializeEnabled: 1
+  switchNetworkInterfaceManagerInitializeEnabled: 1
+  switchPlayerConnectionEnabled: 1
+  switchUseNewStyleFilepaths: 0
+  switchUseLegacyFmodPriorities: 1
+  switchUseMicroSleepForYield: 1
+  switchEnableRamDiskSupport: 0
+  switchMicroSleepForYieldTime: 25
+  switchRamDiskSpaceSize: 12
+  ps4NPAgeRating: 12
+  ps4NPTitleSecret: 
+  ps4NPTrophyPackPath: 
+  ps4ParentalLevel: 11
+  ps4ContentID: ED1633-NPXX51362_00-0000000000000000
+  ps4Category: 0
+  ps4MasterVersion: 01.00
+  ps4AppVersion: 01.00
+  ps4AppType: 0
+  ps4ParamSfxPath: 
+  ps4VideoOutPixelFormat: 0
+  ps4VideoOutInitialWidth: 1920
+  ps4VideoOutBaseModeInitialWidth: 1920
+  ps4VideoOutReprojectionRate: 60
+  ps4PronunciationXMLPath: 
+  ps4PronunciationSIGPath: 
+  ps4BackgroundImagePath: 
+  ps4StartupImagePath: 
+  ps4StartupImagesFolder: 
+  ps4IconImagesFolder: 
+  ps4SaveDataImagePath: 
+  ps4SdkOverride: 
+  ps4BGMPath: 
+  ps4ShareFilePath: 
+  ps4ShareOverlayImagePath: 
+  ps4PrivacyGuardImagePath: 
+  ps4ExtraSceSysFile: 
+  ps4NPtitleDatPath: 
+  ps4RemotePlayKeyAssignment: -1
+  ps4RemotePlayKeyMappingDir: 
+  ps4PlayTogetherPlayerCount: 0
+  ps4EnterButtonAssignment: 2
+  ps4ApplicationParam1: 0
+  ps4ApplicationParam2: 0
+  ps4ApplicationParam3: 0
+  ps4ApplicationParam4: 0
+  ps4DownloadDataSize: 0
+  ps4GarlicHeapSize: 2048
+  ps4ProGarlicHeapSize: 2560
+  playerPrefsMaxSize: 32768
+  ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ
+  ps4pnSessions: 1
+  ps4pnPresence: 1
+  ps4pnFriends: 1
+  ps4pnGameCustomData: 1
+  playerPrefsSupport: 0
+  enableApplicationExit: 0
+  resetTempFolder: 1
+  restrictedAudioUsageRights: 0
+  ps4UseResolutionFallback: 0
+  ps4ReprojectionSupport: 0
+  ps4UseAudio3dBackend: 0
+  ps4UseLowGarlicFragmentationMode: 1
+  ps4SocialScreenEnabled: 0
+  ps4ScriptOptimizationLevel: 2
+  ps4Audio3dVirtualSpeakerCount: 14
+  ps4attribCpuUsage: 0
+  ps4PatchPkgPath: 
+  ps4PatchLatestPkgPath: 
+  ps4PatchChangeinfoPath: 
+  ps4PatchDayOne: 0
+  ps4attribUserManagement: 0
+  ps4attribMoveSupport: 0
+  ps4attrib3DSupport: 0
+  ps4attribShareSupport: 0
+  ps4attribExclusiveVR: 0
+  ps4disableAutoHideSplash: 0
+  ps4videoRecordingFeaturesUsed: 0
+  ps4contentSearchFeaturesUsed: 0
+  ps4CompatibilityPS5: 0
+  ps4AllowPS5Detection: 0
+  ps4GPU800MHz: 1
+  ps4attribEyeToEyeDistanceSettingVR: 0
+  ps4IncludedModules: []
+  ps4attribVROutputEnabled: 0
+  monoEnv: 
+  splashScreenBackgroundSourceLandscape: {fileID: 21300000, guid: 516ed7e95df0bfc478e34188a82d224c, type: 3}
+  splashScreenBackgroundSourcePortrait: {fileID: 0}
+  blurSplashScreenBackground: 0
+  spritePackerPolicy: 
+  webGLMemorySize: 32
+  webGLExceptionSupport: 1
+  webGLNameFilesAsHashes: 0
+  webGLDataCaching: 1
+  webGLDebugSymbols: 0
+  webGLEmscriptenArgs: 
+  webGLModulesDirectory: 
+  webGLTemplate: APPLICATION:Default
+  webGLAnalyzeBuildSize: 0
+  webGLUseEmbeddedResources: 0
+  webGLCompressionFormat: 0
+  webGLWasmArithmeticExceptions: 0
+  webGLLinkerTarget: 1
+  webGLThreadsSupport: 0
+  webGLDecompressionFallback: 0
+  webGLPowerPreference: 2
+  scriptingDefineSymbols:
+    Android: PHOTON_UNITY_NETWORKING;PUN_2_0_OR_NEWER;PUN_2_OR_NEWER;PUN_2_19_OR_NEWER
+    EmbeddedLinux: PHOTON_UNITY_NETWORKING;PUN_2_0_OR_NEWER;PUN_2_OR_NEWER;PUN_2_19_OR_NEWER
+    GameCoreScarlett: PHOTON_UNITY_NETWORKING;PUN_2_0_OR_NEWER;PUN_2_OR_NEWER;PUN_2_19_OR_NEWER
+    GameCoreXboxOne: PHOTON_UNITY_NETWORKING;PUN_2_0_OR_NEWER;PUN_2_OR_NEWER;PUN_2_19_OR_NEWER
+    LinuxHeadlessSimulation: PHOTON_UNITY_NETWORKING;PUN_2_0_OR_NEWER;PUN_2_OR_NEWER;PUN_2_19_OR_NEWER
+    Lumin: PHOTON_UNITY_NETWORKING;PUN_2_0_OR_NEWER;PUN_2_OR_NEWER;PUN_2_19_OR_NEWER
+    Nintendo Switch: PHOTON_UNITY_NETWORKING;PUN_2_0_OR_NEWER;PUN_2_OR_NEWER;PUN_2_19_OR_NEWER
+    PS4: PHOTON_UNITY_NETWORKING;PUN_2_0_OR_NEWER;PUN_2_OR_NEWER;PUN_2_19_OR_NEWER
+    PS5: PHOTON_UNITY_NETWORKING;PUN_2_0_OR_NEWER;PUN_2_OR_NEWER;PUN_2_19_OR_NEWER
+    Stadia: PHOTON_UNITY_NETWORKING;PUN_2_0_OR_NEWER;PUN_2_OR_NEWER;PUN_2_19_OR_NEWER
+    Standalone: PHOTON_UNITY_NETWORKING;PUN_2_0_OR_NEWER;PUN_2_OR_NEWER;PUN_2_19_OR_NEWER
+    WebGL: PHOTON_UNITY_NETWORKING;PUN_2_0_OR_NEWER;PUN_2_OR_NEWER;PUN_2_19_OR_NEWER
+    Windows Store Apps: PHOTON_UNITY_NETWORKING;PUN_2_0_OR_NEWER;PUN_2_OR_NEWER;PUN_2_19_OR_NEWER
+    XboxOne: PHOTON_UNITY_NETWORKING;PUN_2_0_OR_NEWER;PUN_2_OR_NEWER;PUN_2_19_OR_NEWER
+    iPhone: PHOTON_UNITY_NETWORKING;PUN_2_0_OR_NEWER;PUN_2_OR_NEWER;PUN_2_19_OR_NEWER
+    tvOS: PHOTON_UNITY_NETWORKING;PUN_2_0_OR_NEWER;PUN_2_OR_NEWER;PUN_2_19_OR_NEWER
+  additionalCompilerArguments: {}
+  platformArchitecture: {}
+  scriptingBackend:
+    Standalone: 1
+  il2cppCompilerConfiguration: {}
+  managedStrippingLevel: {}
+  incrementalIl2cppBuild: {}
+  suppressCommonWarnings: 1
+  allowUnsafeCode: 0
+  useDeterministicCompilation: 1
+  enableRoslynAnalyzers: 1
+  selectedPlatform: 0
+  additionalIl2CppArgs: 
+  scriptingRuntimeVersion: 1
+  gcIncremental: 1
+  assemblyVersionValidation: 1
+  gcWBarrierValidation: 0
+  apiCompatibilityLevelPerPlatform: {}
+  m_RenderingPath: 1
+  m_MobileRenderingPath: 1
+  metroPackageName: DCGO
+  metroPackageVersion: 
+  metroCertificatePath: 
+  metroCertificatePassword: 
+  metroCertificateSubject: 
+  metroCertificateIssuer: 
+  metroCertificateNotAfter: 0000000000000000
+  metroApplicationDescription: DCGO
+  wsaImages: {}
+  metroTileShortName: 
+  metroTileShowName: 0
+  metroMediumTileShowName: 0
+  metroLargeTileShowName: 0
+  metroWideTileShowName: 0
+  metroSupportStreamingInstall: 0
+  metroLastRequiredScene: 0
+  metroDefaultTileSize: 1
+  metroTileForegroundText: 2
+  metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0}
+  metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, a: 1}
+  metroSplashScreenUseBackgroundColor: 0
+  platformCapabilities: {}
+  metroTargetDeviceFamilies: {}
+  metroFTAName: 
+  metroFTAFileTypes: []
+  metroProtocolName: 
+  vcxProjDefaultLanguage: 
+  XboxOneProductId: 
+  XboxOneUpdateKey: 
+  XboxOneSandboxId: 
+  XboxOneContentId: 
+  XboxOneTitleId: 
+  XboxOneSCId: 
+  XboxOneGameOsOverridePath: 
+  XboxOnePackagingOverridePath: 
+  XboxOneAppManifestOverridePath: 
+  XboxOneVersion: 1.0.0.0
+  XboxOnePackageEncryption: 0
+  XboxOnePackageUpdateGranularity: 2
+  XboxOneDescription: 
+  XboxOneLanguage:
+  - enus
+  XboxOneCapability: []
+  XboxOneGameRating: {}
+  XboxOneIsContentPackage: 0
+  XboxOneEnhancedXboxCompatibilityMode: 0
+  XboxOneEnableGPUVariability: 1
+  XboxOneSockets: {}
+  XboxOneSplashScreen: {fileID: 0}
+  XboxOneAllowedProductIds: []
+  XboxOnePersistentLocalStorageSize: 0
+  XboxOneXTitleMemory: 8
+  XboxOneOverrideIdentityName: 
+  XboxOneOverrideIdentityPublisher: 
+  vrEditorSettings: {}
+  cloudServicesEnabled: {}
+  luminIcon:
+    m_Name: 
+    m_ModelFolderPath: 
+    m_PortalFolderPath: 
+  luminCert:
+    m_CertPath: 
+    m_SignPackage: 1
+  luminIsChannelApp: 0
+  luminVersion:
+    m_VersionCode: 1
+    m_VersionName: 
+  apiCompatibilityLevel: 6
+  activeInputHandler: 0
+  windowsGamepadBackendHint: 0
+  cloudProjectId: 
+  framebufferDepthMemorylessMode: 0
+  qualitySettingsNames: []
+  projectName: 
+  organizationId: 
+  cloudEnabled: 0
+  legacyClampBlendShapeWeights: 0
+  playerDataPath: 
+  forceSRGBBlit: 1
+  virtualTexturingSupportEnabled: 0