x89rt2 преди 3 месеца
родител
ревизия
8b25ad8c74

+ 0 - 7
Assets/AddOn/GlitchFx-master/GlitchFx.unitypackage.meta

@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: d80f995af690a474e841364c1e88ee1b
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 72 - 54
Assets/Scripts/CardEffect/BT25/Green/BT25_004.cs

@@ -1,95 +1,113 @@
-using System;
 using System.Collections;
 using System.Collections.Generic;
-using System.Linq;
 
-// Tapmon
+// Lekismon
 namespace DCGO.CardEffects.BT25
 {
-    public class BT25_004 : CEntity_Effect
+    public class BT25_024 : CEntity_Effect
     {
-        
         public override List<ICardEffect> CardEffects(EffectTiming timing, CardSource card)
         {
             List<ICardEffect> cardEffects = new List<ICardEffect>();
 
-            #region Shared Conditions
-
-            bool CardCondition(CardSource cardSource)
+            #region Alt Digivolution Condition
+            if (timing == EffectTiming.None)
             {
-                return cardSource.EqualsTraits("Social")
-                    || cardSource.EqualsTraits("Tool")
-                    || cardSource.EqualsTraits("Game");
-            }
+                static bool PermanentCondition(Permanent targetPermanent)
+                {
+                    return targetPermanent.TopCard.HasTSTraits;
+                }
 
-            bool PermanentCondition(Permanent permanent) => permanent == card.PermanentOfThisCard();
+                cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(level: 3, permanentCondition: PermanentCondition, digivolutionCost: 2, ignoreDigivolutionRequirement: false, card: card, condition: null));
+            }
+            #endregion
 
-            bool RootCondition(SelectCardEffect.Root root) => true;
+            #region Shared OP/WD
+            string SharedEffectName = "<Draw 1>";
 
-            bool isUpDown() => true;
+            CardEffectFactory.ActivateClassesForSharedEffects
+            (ref cardEffects, timing, card,
+                SharedEffectName,
+                SharedActivateCoroutine,
+                SharedEffectDescription,
+                optional: false,
+                onPlay: true,
+                whenDigivolving: true);
 
-            int reducedCost = 1;
+            string SharedEffectDescription(string tag)
+            {
+                return $"[{tag}] <Draw 1>";
+            }
 
+            IEnumerator SharedActivateCoroutine(Hashtable hashtable, ActivateClass activateClass)
+            {
+                yield return ContinuousController.instance.StartCoroutine(new DrawClass(
+                    player: card.Owner,
+                    drawCount: 1,
+                    cardEffect: activateClass).Draw()
+                );
+            }
             #endregion
 
-            #region Reduce Link Cost
-            if (timing == EffectTiming.BeforePayCost)
+            #region Your Turn
+            if (timing == EffectTiming.OnEnterFieldAnyone)
             {
-                ActivateClass activateClass = new ();
-                activateClass.SetUpICardEffect("May reduce Link cost by 1", CanUseCondition, card);
-                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, true, EffectDiscription());
-                activateClass.SetIsInheritedEffect(true);
-                activateClass.SetHashString("BT25_004_YT");
+                ActivateClass activateClass = new ActivateClass();
+                activateClass.SetUpICardEffect("Place 1 [Mineral]/[Rock] trait card from hand or trash under played/digivolved digimon", CanUseCondition, card);
+                activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, -1, true, EffectDescription());
                 cardEffects.Add(activateClass);
 
-                string EffectDiscription()
+                string EffectDescription() => "[Your Turn] When your Digimon are played or digivolve, if any of them are red, this Digimon may digivolve into [Crescemon] in the trash with the cost reduced by 1.";
+
+                bool CanUseCondition(Hashtable hashtable)
                 {
-                    return "[Your Turn] [Once Per Turn] When a [Social], [Tool] or [Game] trait card would link to this Digimon, you may reduce the cost by 1.";
+                    return CardEffectCommons.IsExistOnBattleArea(card)
+                        && CardEffectCommons.IsOwnerTurn(card)
+                        && (CardEffectCommons.CanTriggerOnPermanentPlay(hashtable, PermanentCondition)
+                            || CardEffectCommons.CanTriggerWhenPermanentDigivolving(hashtable, PermanentCondition));
                 }
 
-                bool CanUseCondition(Hashtable hashtable)
+                bool CanActivateCondition(Hashtable hashtable)
                 {
                     return CardEffectCommons.IsExistOnBattleArea(card)
-                        && CardEffectCommons.CanTriggerWhenWouldLink(hashtable, CardCondition, PermanentCondition)
-                        && CardEffectCommons.IsOwnerTurn(card);
+                        && CardEffectCommons.HasMatchConditionOwnersCardInTrash(card, CanSelectCardCondition);
+                }
+
+                bool PermanentCondition(Permanent permanent)
+                {
+                    return CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card)
+                        && permanent.TopCard.CardColors.Contains(CardColor.Red);
                 }
 
-                bool CanActivateCondition(Hashtable hashtable) => CardEffectCommons.IsExistOnBattleArea(card);
+                bool CanSelectCardCondition(CardSource cardSource)
+                {
+                    return cardSource.EqualsCardName("Crescemon")
+                        && cardSource.CanPlayCardTargetFrame(card.PermanentOfThisCard().PermanentFrame, false, activateClass); ;
+                }
 
                 IEnumerator ActivateCoroutine(Hashtable hashtable)
                 {
-                    card.Owner.UntilCalculateFixedCostEffect.Add((timing) => CardEffectFactory.GrantedReduceLinkCostClass(
-                        card: card, 
-                        reducedCost: 1,
-                        cardSourceCondition: CardCondition,
-                        permanentCondition: PermanentCondition,
-                        rootCondition: RootCondition
-                    ));
-
-                    yield return null;
+                    yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.DigivolveIntoHandOrTrashCard(
+                        targetPermanent: card.PermanentOfThisCard(),
+                        cardCondition: CanSelectCardCondition,
+                        payCost: true,
+                        reduceCostTuple: (reduceCost: 1, reduceCostCardCondition: null),
+                        fixedCostTuple: null,
+                        ignoreDigivolutionRequirementFixedCost: -1,
+                        isHand: false,
+                        activateClass: activateClass,
+                        successProcess: null));
                 }
             }
             #endregion
 
-            #region Reduce Link cost - Not Shown
+            #region Inherited Effect - Jamming
             if (timing == EffectTiming.None)
             {
-                cardEffects.Add(CardEffectFactory.ReduceLinkCostClass(
-                    card: card, 
-                    canUseCondition: CanUseCondition,
+                cardEffects.Add(CardEffectFactory.JammingSelfStaticEffect(
                     isInheritedEffect: true,
-                    isOptional: true,
-                    reducedCost: 1,
-                    cardSourceCondition: CardCondition,
-                    permanentCondition: PermanentCondition,
-                    rootCondition: RootCondition
-                ));
-
-                bool CanUseCondition(Hashtable hashtable)
-                {
-                    return CardEffectCommons.IsExistOnBattleArea(card)
-                        && CardEffectCommons.IsOwnerTurn(card);
-                }
+                    card: card,
+                    condition: null));
             }
             #endregion
 

+ 11 - 0
Assets/Scripts/Script/GameRandom.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 9233e5cc47a707e4b8f802211e635f71
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 1 - 1
ProjectSettings/ProjectSettings.asset

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:72e2e12508e05b909f705cafc924e95610872dd21371e934f51baed5fa610c1a
+oid sha256:a174f56c68c7c60aaf8637ebfa6b54fde2e875758dd51b9fa27eefba97c702cf
 size 20479