Bläddra i källkod

Updated App Fusion

Lewisaaronwelch 1 år sedan
förälder
incheckning
72f4f329b6
2 ändrade filer med 31 tillägg och 64 borttagningar
  1. 20 51
      Assets/CardEffect/BT21/Red/BT21_018.cs
  2. 11 13
      Assets/CardEffect/BT21/Red/BT21_023.cs

+ 20 - 51
Assets/CardEffect/BT21/Red/BT21_018.cs

@@ -55,51 +55,40 @@ namespace DCGO.CardEffects.BT21
 
                 AppFusionCondition GetAppFusion(CardSource cardSource)
                 {
-                    string selectLinkMessage = "";
-                    string selectDigimonMessage = "";
-                    bool linkCondition(CardSource source)
+                    bool linkCondition(Permanent permanent, CardSource source)
                     {
-                        if (source != null)
+                        if (source != null && source != card)
                         {
                             if (source.PermanentOfThisCard().TopCard.EqualsCardName("Gatchmon"))
                             {
-                                if (source.PermanentOfThisCard().LinkedCards.Find(x => x.EqualsCardName("Navimon")))
+                                if (source.PermanentOfThisCard().LinkedCards.Find(x => x.EqualsCardName("Navimon")) || source.PermanentOfThisCard().LinkedCards.Find(x => x.EqualsCardName("Tweetmon")))
                                 {
-                                    selectLinkMessage = "1 [Navimon]";
-                                    return true;
-                                }
-                                if (source.PermanentOfThisCard().LinkedCards.Find(x => x.EqualsCardName("Tweetmon")))
-                                {
-                                    selectLinkMessage = "1 [Tweetmon]";
-                                    return true;
+                                    if (source.CanAppFusionFromTargetPermanent(permanent, true))
+                                    {
+                                        return true;
+                                    }
                                 }
                             }
 
                             if (source.PermanentOfThisCard().TopCard.EqualsCardName("Navimon"))
                             {
-                                if (source.PermanentOfThisCard().LinkedCards.Find(x => x.EqualsCardName("Gatchmon")))
+                                if (source.PermanentOfThisCard().LinkedCards.Find(x => x.EqualsCardName("Gatchmon")) || source.PermanentOfThisCard().LinkedCards.Find(x => x.EqualsCardName("Tweetmon")))
                                 {
-                                    selectLinkMessage = "1 [Gatchmon]";
-                                    return true;
-                                }
-                                if (source.PermanentOfThisCard().LinkedCards.Find(x => x.EqualsCardName("Tweetmon")))
-                                {
-                                    selectLinkMessage = "1 [Tweetmon]";
-                                    return true;
+                                    if (source.CanAppFusionFromTargetPermanent(permanent, true))
+                                    {
+                                        return true;
+                                    }
                                 }
                             }
 
                             if (source.PermanentOfThisCard().TopCard.EqualsCardName("Tweetmon"))
                             {
-                                if (source.PermanentOfThisCard().LinkedCards.Find(x => x.EqualsCardName("Gatchmon")))
+                                if (source.PermanentOfThisCard().LinkedCards.Find(x => x.EqualsCardName("Gatchmon")) || source.PermanentOfThisCard().LinkedCards.Find(x => x.EqualsCardName("Navimon")))
                                 {
-                                    selectLinkMessage = "1 [Gatchmon]";
-                                    return true;
-                                }
-                                if (source.PermanentOfThisCard().LinkedCards.Find(x => x.EqualsCardName("Navimon")))
-                                {
-                                    selectLinkMessage = "1 [Navimon]";
-                                    return true;
+                                    if (source.CanAppFusionFromTargetPermanent(permanent, true))
+                                    {
+                                        return true;
+                                    }
                                 }
                             }
                         }
@@ -112,42 +101,24 @@ namespace DCGO.CardEffects.BT21
                         {
                             if (permanent.TopCard.EqualsCardName("Gatchmon"))
                             {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Navimon")))
+                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Navimon")) || permanent.LinkedCards.Find(x => x.EqualsCardName("Tweetmon")))
                                 {
-                                    selectLinkMessage = "1 [Navimon]";
-                                    return true;
-                                }
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Tweetmon")))
-                                {
-                                    selectLinkMessage = "1 [Tweetmon]";
                                     return true;
                                 }
                             }
 
                             if (permanent.TopCard.EqualsCardName("Navimon"))
                             {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Gatchmon")))
-                                {
-                                    selectLinkMessage = "1 [Gatchmon]";
-                                    return true;
-                                }
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Tweetmon")))
+                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Gatchmon")) || permanent.LinkedCards.Find(x => x.EqualsCardName("Tweetmon")))
                                 {
-                                    selectLinkMessage = "1 [Tweetmon]";
                                     return true;
                                 }
                             }
 
                             if (permanent.TopCard.EqualsCardName("Tweetmon"))
                             {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Gatchmon")))
-                                {
-                                    selectLinkMessage = "1 [Gatchmon]";
-                                    return true;
-                                }
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Navimon")))
+                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Gatchmon")) || permanent.LinkedCards.Find(x => x.EqualsCardName("Navimon")))
                                 {
-                                    selectLinkMessage = "1 [Navimon]";
                                     return true;
                                 }
                             }
@@ -160,9 +131,7 @@ namespace DCGO.CardEffects.BT21
                     {
                         AppFusionCondition AppFusionCondition = new AppFusionCondition(
                             linkCondition,
-                            selectLinkMessage,
                             digimonCondition,
-                            selectDigimonMessage,
                             0);
 
                         return AppFusionCondition;

+ 11 - 13
Assets/CardEffect/BT21/Red/BT21_023.cs

@@ -38,18 +38,18 @@ namespace DCGO.CardEffects.BT21
 
                 AppFusionCondition GetAppFusion(CardSource cardSource)
                 {
-                    string selectLinkMessage = "";
-                    string selectDigimonMessage = "";
-                    bool linkCondition(CardSource source)
+                    bool linkCondition(Permanent permanent, CardSource source)
                     {
-                        if (source != null)
+                        if (source != null && source != card)
                         {
                             if (source.PermanentOfThisCard().TopCard.EqualsCardName("DoGatchmon"))
                             {
                                 if (source.PermanentOfThisCard().LinkedCards.Find(x => x.EqualsCardName("Timemon")))
                                 {
-                                    selectLinkMessage = "1 [Timemon]";
-                                    return true;
+                                    if (source.CanAppFusionFromTargetPermanent(permanent, true))
+                                    {
+                                        return true;
+                                    }
                                 }
                             }
 
@@ -57,8 +57,10 @@ namespace DCGO.CardEffects.BT21
                             {
                                 if (source.PermanentOfThisCard().LinkedCards.Find(x => x.EqualsCardName("DoGatchmon")))
                                 {
-                                    selectLinkMessage = "1 [DoGatchmon]";
-                                    return true;
+                                    if (source.CanAppFusionFromTargetPermanent(permanent, true))
+                                    {
+                                        return true;
+                                    }
                                 }
                             }
                         }
@@ -73,7 +75,6 @@ namespace DCGO.CardEffects.BT21
                             {
                                 if (permanent.LinkedCards.Find(x => x.EqualsCardName("Timemon")))
                                 {
-                                    selectDigimonMessage = "1 [Timemon]";
                                     return true;
                                 }
                             }
@@ -82,7 +83,6 @@ namespace DCGO.CardEffects.BT21
                             {
                                 if (permanent.LinkedCards.Find(x => x.EqualsCardName("DoGatchmon")))
                                 {
-                                    selectDigimonMessage = "1 [DoGatchmon]";
                                     return true;
                                 }
                             }
@@ -95,9 +95,7 @@ namespace DCGO.CardEffects.BT21
                     {
                         AppFusionCondition AppFusionCondition = new AppFusionCondition(
                             linkCondition,
-                            selectLinkMessage,
                             digimonCondition,
-                            selectDigimonMessage,
                             0);
 
                         return AppFusionCondition;
@@ -132,7 +130,7 @@ namespace DCGO.CardEffects.BT21
                 {
                     if (source.HasLevel && source.Level <= 4)
                     {
-                        if (source.CanLinkFromTargetPermanent(card.PermanentOfThisCard(), false))
+                        if (source.CanLinkToTargetPermanent(card.PermanentOfThisCard(), false))
                         {
                             return true;
                         }