Просмотр исходного кода

Merge pull request #200 from DCGO2/AppfuseRefactor

Updated existing appfuse methods
Michael8818 11 месяцев назад
Родитель
Сommit
44befe6d6f

+ 1 - 84
Assets/CardEffect/BT21/Black/BT21_059.cs

@@ -41,91 +41,8 @@ namespace DCGO.CardEffects.BT21
 
             if (timing == EffectTiming.None)
             {
-                AddAppFusionConditionClass addAppFusionConditionClass = new AddAppFusionConditionClass();
-                addAppFusionConditionClass.SetUpICardEffect($"App Fusion", (hashtable) => true, card);
-                addAppFusionConditionClass.SetUpAddAppFusionConditionClass(getAppFusionCondition: GetAppFusion);
-                addAppFusionConditionClass.SetNotShowUI(true);
-                cardEffects.Add(addAppFusionConditionClass);
-
-                AppFusionCondition GetAppFusion(CardSource cardSource)
-                {
-                    bool linkCondition(Permanent permanent, CardSource source)
-                    {
-                        if (source != null)
-                        {
-                            if (source != card)
-                            {
-                                if (permanent.TopCard.EqualsCardName("Watchmon"))
-                                {
-                                    if (permanent.LinkedCards.Find(x => x.EqualsCardName("Savemon") || x.EqualsCardName("Calendamon")))
-                                    {
-                                        return true;
-                                    }
-                                }
-                                if (permanent.TopCard.EqualsCardName("Savemon"))
-                                {
-                                    if (permanent.LinkedCards.Find(x => x.EqualsCardName("Watchmon") || x.EqualsCardName("Calendamon")))
-                                    {
-                                        return true;
-                                    }
-                                }
-                                if (permanent.TopCard.EqualsCardName("Calendamon"))
-                                {
-                                    if (permanent.LinkedCards.Find(x => x.EqualsCardName("Watchmon") || x.EqualsCardName("Savemon")))
-                                    {
-                                        return true;
-                                    }
-                                }
-                            }
-
-                            return false;
-                        }
-
-                        return false;
-                    }
-                    bool digimonCondition(Permanent permanent)
-                    {
-                        if (CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card))
-                        {
-                            if (permanent.TopCard.EqualsCardName("Watchmon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Savemon") || x.EqualsCardName("Calendamon")))
-                                {
-                                    return true;
-                                }
-                            }
-                            if (permanent.TopCard.EqualsCardName("Savemon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Watchmon") || x.EqualsCardName("Calendamon")))
-                                {
-                                    return true;
-                                }
-                            }
-                            if (permanent.TopCard.EqualsCardName("Calendamon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Watchmon") || x.EqualsCardName("Savemon")))
-                                {
-                                    return true;
-                                }
-                            }
-                            return false;
-                        }
+                cardEffects.Add(CardEffectFactory.AddAppfuseMethodByName(new List<string>() { "Watchmon", "Savemon", "Calendamon" }, card));
 
-                        return false;
-                    }
-
-                    if (cardSource == card)
-                    {
-                        AppFusionCondition AppFusionCondition = new AppFusionCondition(
-                            linkedCondition: linkCondition,
-                            digimonCondition: digimonCondition,
-                            cost: 0);
-
-                        return AppFusionCondition;
-                    }
-
-                    return null;
-                }
             }
 
             #endregion

+ 1 - 72
Assets/CardEffect/BT21/Purple/BT21_073.cs

@@ -27,78 +27,7 @@ namespace DCGO.CardEffects.BT21
 
             if (timing == EffectTiming.None)
             {
-                AddAppFusionConditionClass addAppFusionConditionClass = new AddAppFusionConditionClass();
-                addAppFusionConditionClass.SetUpICardEffect($"App Fusion", (hashtable) => true, card);
-                addAppFusionConditionClass.SetUpAddAppFusionConditionClass(getAppFusionCondition: GetAppFusion);
-                addAppFusionConditionClass.SetNotShowUI(true);
-                cardEffects.Add(addAppFusionConditionClass);
-
-                AppFusionCondition GetAppFusion(CardSource cardSource)
-                {
-                    bool linkCondition(Permanent permanent, CardSource source)
-                    {
-                        if (source != null)
-                        {
-                            if (source != card)
-                            {
-                                if (permanent.TopCard.EqualsCardName("Sociamon"))
-                                {
-                                    if (permanent.LinkedCards.Find(x => x.EqualsCardName("Gossipmon")))
-                                    {
-                                        return true;
-                                    }
-                                }
-                                if (permanent.TopCard.EqualsCardName("Gossipmon"))
-                                {
-                                    if (permanent.LinkedCards.Find(x => x.EqualsCardName("Sociamon")))
-                                    {
-                                        return true;
-                                    }
-                                }
-                            }
-
-                            return false;
-                        }
-
-                        return false;
-                    }
-                    bool digimonCondition(Permanent permanent)
-                    {
-                        if (CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card))
-                        {
-                            if (permanent.TopCard.EqualsCardName("Sociamon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Gossipmon")))
-                                {
-                                    return true;
-                                }
-                            }
-                            if (permanent.TopCard.EqualsCardName("Gossipmon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Sociamon")))
-                                {
-                                    return true;
-                                }
-                            }
-
-                            return false;
-                        }
-
-                        return false;
-                    }
-
-                    if (cardSource == card)
-                    {
-                        AppFusionCondition AppFusionCondition = new AppFusionCondition(
-                            linkedCondition: linkCondition,
-                            digimonCondition: digimonCondition,
-                            cost: 0);
-
-                        return AppFusionCondition;
-                    }
-
-                    return null;
-                }
+                cardEffects.Add(CardEffectFactory.AddAppfuseMethodByName(new List<string>() { "Sociamon", "Gossipmon" }, card));
             }
 
             #endregion

+ 1 - 83
Assets/CardEffect/BT21/Red/BT21_018.cs

@@ -59,89 +59,7 @@ namespace DCGO.CardEffects.BT21
 
             if (timing == EffectTiming.None)
             {
-                AddAppFusionConditionClass addAppFusionConditionClass = new AddAppFusionConditionClass();
-                addAppFusionConditionClass.SetUpICardEffect($"App Fusion", (hashtable) => true, card);
-                addAppFusionConditionClass.SetUpAddAppFusionConditionClass(getAppFusionCondition: GetAppFusion);
-                addAppFusionConditionClass.SetNotShowUI(true);
-                cardEffects.Add(addAppFusionConditionClass);
-
-                AppFusionCondition GetAppFusion(CardSource cardSource)
-                {
-                    bool linkCondition(Permanent permanent, CardSource source)
-                    {
-                        if (source != null && source != card)
-                        {
-                            if (permanent.TopCard.EqualsCardName("Gatchmon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Navimon") || x.EqualsCardName("Tweetmon")))
-                                {
-                                    return true;
-                                }
-                            }
-
-                            if (permanent.TopCard.EqualsCardName("Navimon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Gatchmon") || x.EqualsCardName("Tweetmon")))
-                                {
-                                    return true;
-                                }
-                            }
-
-                            if (permanent.TopCard.EqualsCardName("Tweetmon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Gatchmon") || x.EqualsCardName("Navimon")))
-                                {
-                                    return true;
-                                }
-                            }
-                        }
-
-                        return false;
-                    }
-                    bool digimonCondition(Permanent permanent)
-                    {
-                        if (CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card))
-                        {
-                            if (permanent.TopCard.EqualsCardName("Gatchmon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Navimon") || x.EqualsCardName("Tweetmon")))
-                                {
-                                    return true;
-                                }
-                            }
-
-                            if (permanent.TopCard.EqualsCardName("Navimon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Gatchmon") || x.EqualsCardName("Tweetmon")))
-                                {
-                                    return true;
-                                }
-                            }
-
-                            if (permanent.TopCard.EqualsCardName("Tweetmon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Gatchmon") || x.EqualsCardName("Navimon")))
-                                {
-                                    return true;
-                                }
-                            }
-                        }
-
-                        return false;
-                    }
-
-                    if (cardSource == card)
-                    {
-                        AppFusionCondition AppFusionCondition = new AppFusionCondition(
-                            linkCondition,
-                            digimonCondition,
-                            0);
-
-                        return AppFusionCondition;
-                    }
-
-                    return null;
-                }
+                cardEffects.Add(CardEffectFactory.AddAppfuseMethodByName(new List<string>() { "Gatchmon", "Navimon", "Tweetmon" }, card));
             }
 
             #endregion

+ 1 - 67
Assets/CardEffect/BT21/Red/BT21_023.cs

@@ -44,73 +44,7 @@ namespace DCGO.CardEffects.BT21
 
             if (timing == EffectTiming.None)
             {
-                AddAppFusionConditionClass addAppFusionConditionClass = new AddAppFusionConditionClass();
-                addAppFusionConditionClass.SetUpICardEffect($"App Fusion", (hashtable) => true, card);
-                addAppFusionConditionClass.SetUpAddAppFusionConditionClass(getAppFusionCondition: GetAppFusion);
-                addAppFusionConditionClass.SetNotShowUI(true);
-                cardEffects.Add(addAppFusionConditionClass);
-
-                AppFusionCondition GetAppFusion(CardSource cardSource)
-                {
-                    bool linkCondition(Permanent permanent, CardSource source)
-                    {
-                        if (source != null && source != card)
-                        {
-                            if (permanent.TopCard.EqualsCardName("DoGatchmon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Timemon")))
-                                {
-                                    return true;
-                                }
-                            }
-
-                            if (permanent.TopCard.EqualsCardName("Timemon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("DoGatchmon")))
-                                {
-                                    return true;
-                                }
-                            }
-                        }
-
-                        return false;
-                    }
-                    bool digimonCondition(Permanent permanent)
-                    {
-                        if (CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card))
-                        {
-                            if (permanent.TopCard.EqualsCardName("DoGatchmon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Timemon")))
-                                {
-                                    return true;
-                                }
-                            }
-
-                            if (permanent.TopCard.EqualsCardName("Timemon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("DoGatchmon")))
-                                {
-                                    return true;
-                                }
-                            }
-                        }
-
-                        return false;
-                    }
-
-                    if (cardSource == card)
-                    {
-                        AppFusionCondition AppFusionCondition = new AppFusionCondition(
-                            linkCondition,
-                            digimonCondition,
-                            0);
-
-                        return AppFusionCondition;
-                    }
-
-                    return null;
-                }
+                cardEffects.Add(CardEffectFactory.AddAppfuseMethodByName(new List<string>() { "DoGatchmon", "Timemon" }, card));
             }
 
             #endregion

+ 1 - 71
Assets/CardEffect/BT21/White/BT21_101.cs

@@ -33,77 +33,7 @@ namespace DCGO.CardEffects.BT21
 
             if (timing == EffectTiming.None)
             {
-                AddAppFusionConditionClass addAppFusionConditionClass = new AddAppFusionConditionClass();
-                addAppFusionConditionClass.SetUpICardEffect($"App Fusion", (hashtable) => true, card);
-                addAppFusionConditionClass.SetUpAddAppFusionConditionClass(getAppFusionCondition: GetAppFusion);
-                addAppFusionConditionClass.SetNotShowUI(true);
-                cardEffects.Add(addAppFusionConditionClass);
-
-                AppFusionCondition GetAppFusion(CardSource cardSource)
-                {
-                    bool linkCondition(Permanent permanent, CardSource source)
-                    {
-                        if (source != null)
-                        {
-                            if (source != card)
-                            {
-                                if (permanent.TopCard.EqualsCardName("Globemon"))
-                                {
-                                    if (permanent.LinkedCards.Find(x => x.EqualsCardName("Charismon")))
-                                    {
-                                        return true;
-                                    }
-                                }
-                                if (permanent.TopCard.EqualsCardName("Charismon"))
-                                {
-                                    if (permanent.LinkedCards.Find(x => x.EqualsCardName("Globemon")))
-                                    {
-                                        return true;
-                                    }
-                                }
-                            }
-
-                            return false;
-                        }
-
-                        return false;
-                    }
-                    bool digimonCondition(Permanent permanent)
-                    {
-                        if (CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card))
-                        {
-                            if (permanent.TopCard.EqualsCardName("Globemon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Charismon")))
-                                {
-                                    return true;
-                                }
-                            }
-                            if (permanent.TopCard.EqualsCardName("Charismon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Globemon")))
-                                {
-                                    return true;
-                                }
-                            }
-                            return false;
-                        }
-
-                        return false;
-                    }
-
-                    if (cardSource == card)
-                    {
-                        AppFusionCondition AppFusionCondition = new AppFusionCondition(
-                            linkedCondition: linkCondition,
-                            digimonCondition: digimonCondition,
-                            cost: 0);
-
-                        return AppFusionCondition;
-                    }
-
-                    return null;
-                }
+                cardEffects.Add(CardEffectFactory.AddAppfuseMethodByName(new List<string>() { "Globemon", "Charismon" }, card));
             }
 
             #endregion

+ 1 - 67
Assets/CardEffect/BT22/Purple/BT22_075.cs

@@ -29,73 +29,7 @@ namespace DCGO.CardEffects.BT22
 
             if (timing == EffectTiming.None)
             {
-                AddAppFusionConditionClass addAppFusionConditionClass = new AddAppFusionConditionClass();
-                addAppFusionConditionClass.SetUpICardEffect($"App Fusion", (hashtable) => true, card);
-                addAppFusionConditionClass.SetUpAddAppFusionConditionClass(getAppFusionCondition: GetAppFusion);
-                addAppFusionConditionClass.SetNotShowUI(true);
-                cardEffects.Add(addAppFusionConditionClass);
-
-                AppFusionCondition GetAppFusion(CardSource cardSource)
-                {
-                    bool linkCondition(Permanent permanent, CardSource source)
-                    {
-                        if (source != null && source != card)
-                        {
-                            if (permanent.TopCard.EqualsCardName("Roamon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Effecmon")))
-                                {
-                                    return true;
-                                }
-                            }
-
-                            if (permanent.TopCard.EqualsCardName("Effecmon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Roamon")))
-                                {
-                                    return true;
-                                }
-                            }
-                        }
-
-                        return false;
-                    }
-                    bool digimonCondition(Permanent permanent)
-                    {
-                        if (CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card))
-                        {
-                            if (permanent.TopCard.EqualsCardName("Roamon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Effecmon")))
-                                {
-                                    return true;
-                                }
-                            }
-
-                            if (permanent.TopCard.EqualsCardName("Effecmon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Roamon")))
-                                {
-                                    return true;
-                                }
-                            }
-                        }
-
-                        return false;
-                    }
-
-                    if (cardSource == card)
-                    {
-                        AppFusionCondition AppFusionCondition = new AppFusionCondition(
-                            linkCondition,
-                            digimonCondition,
-                            0);
-
-                        return AppFusionCondition;
-                    }
-
-                    return null;
-                }
+                cardEffects.Add(CardEffectFactory.AddAppfuseMethodByName(new List<string>() { "Roamon", "Effecmon" }, card));
             }
 
             #endregion

+ 1 - 88
Assets/CardEffect/BT22/Yellow/BT22_033.cs

@@ -31,94 +31,7 @@ namespace DCGO.CardEffects.BT22
 
             if (timing == EffectTiming.None)
             {
-                AddAppFusionConditionClass addAppFusionConditionClass = new AddAppFusionConditionClass();
-                addAppFusionConditionClass.SetUpICardEffect($"App Fusion", (hashtable) => true, card);
-                addAppFusionConditionClass.SetUpAddAppFusionConditionClass(getAppFusionCondition: GetAppFusion);
-                addAppFusionConditionClass.SetNotShowUI(true);
-                cardEffects.Add(addAppFusionConditionClass);
-
-                #region App Fusion Condition
-
-                AppFusionCondition GetAppFusion(CardSource cardSource)
-                {
-                    bool linkCondition(Permanent permanent, CardSource source)
-                    {
-                        if (source != null && source != card)
-                        {
-                            if (permanent.TopCard.EqualsCardName("Musimon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Recomon") || x.EqualsCardName("Mcmon")))
-                                {
-                                    return true;
-                                }
-                            }
-
-                            if (permanent.TopCard.EqualsCardName("Recomon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Musimon") || x.EqualsCardName("Mcmon")))
-                                {
-                                    return true;
-                                }
-                            }
-
-                            if (permanent.TopCard.EqualsCardName("Mcmon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Musimon") || x.EqualsCardName("Recomon")))
-                                {
-                                    return true;
-                                }
-                            }
-                        }
-
-                        return false;
-                    }
-
-                    bool digimonCondition(Permanent permanent)
-                    {
-                        if (CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card))
-                        {
-                            if (permanent.TopCard.EqualsCardName("Musimon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Recomon") || x.EqualsCardName("Mcmon")))
-                                {
-                                    return true;
-                                }
-                            }
-
-                            if (permanent.TopCard.EqualsCardName("Recomon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Musimon") || x.EqualsCardName("Mcmon")))
-                                {
-                                    return true;
-                                }
-                            }
-
-                            if (permanent.TopCard.EqualsCardName("Mcmon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Musimon") || x.EqualsCardName("Recomon")))
-                                {
-                                    return true;
-                                }
-                            }
-                        }
-
-                        return false;
-                    }
-
-                    if (cardSource == card)
-                    {
-                        AppFusionCondition AppFusionCondition = new AppFusionCondition(
-                            linkCondition,
-                            digimonCondition,
-                            0);
-
-                        return AppFusionCondition;
-                    }
-
-                    return null;
-                }
-
-                #endregion
+                cardEffects.Add(CardEffectFactory.AddAppfuseMethodByName(new List<string>() { "Musimon", "Recomon", "Mcmon" }, card));
             }
 
             #endregion

+ 1 - 72
Assets/CardEffect/BT22/Yellow/BT22_035.cs

@@ -32,78 +32,7 @@ namespace DCGO.CardEffects.BT22
 
             if (timing == EffectTiming.None)
             {
-                AddAppFusionConditionClass addAppFusionConditionClass = new AddAppFusionConditionClass();
-                addAppFusionConditionClass.SetUpICardEffect($"App Fusion", (hashtable) => true, card);
-                addAppFusionConditionClass.SetUpAddAppFusionConditionClass(getAppFusionCondition: GetAppFusion);
-                addAppFusionConditionClass.SetNotShowUI(true);
-                cardEffects.Add(addAppFusionConditionClass);
-
-                #region App Fusion Condition
-
-                AppFusionCondition GetAppFusion(CardSource cardSource)
-                {
-                    bool linkCondition(Permanent permanent, CardSource source)
-                    {
-                        if (source != null && source != card)
-                        {
-                            if (permanent.TopCard.EqualsCardName("Mediamon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Dreammon")))
-                                {
-                                    return true;
-                                }
-                            }
-
-                            if (permanent.TopCard.EqualsCardName("Dreammon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Mediamon")))
-                                {
-                                    return true;
-                                }
-                            }
-                        }
-
-                        return false;
-                    }
-
-                    bool digimonCondition(Permanent permanent)
-                    {
-                        if (CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card))
-                        {
-                            if (permanent.TopCard.EqualsCardName("Mediamon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Dreammon")))
-                                {
-                                    return true;
-                                }
-                            }
-
-                            if (permanent.TopCard.EqualsCardName("Dreammon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Mediamon")))
-                                {
-                                    return true;
-                                }
-                            }
-                        }
-
-                        return false;
-                    }
-
-                    if (cardSource == card)
-                    {
-                        AppFusionCondition AppFusionCondition = new AppFusionCondition(
-                            linkCondition,
-                            digimonCondition,
-                            0);
-
-                        return AppFusionCondition;
-                    }
-
-                    return null;
-                }
-
-                #endregion
+                cardEffects.Add(CardEffectFactory.AddAppfuseMethodByName(new List<string>() { "Mediamon", "Dreammon" }, card));
             }
 
             #endregion

+ 1 - 72
Assets/CardEffect/BT22/Yellow/BT22_039.cs

@@ -32,78 +32,7 @@ namespace DCGO.CardEffects.BT22
 
             if (timing == EffectTiming.None)
             {
-                AddAppFusionConditionClass addAppFusionConditionClass = new AddAppFusionConditionClass();
-                addAppFusionConditionClass.SetUpICardEffect($"App Fusion", (hashtable) => true, card);
-                addAppFusionConditionClass.SetUpAddAppFusionConditionClass(getAppFusionCondition: GetAppFusion);
-                addAppFusionConditionClass.SetNotShowUI(true);
-                cardEffects.Add(addAppFusionConditionClass);
-
-                AppFusionCondition GetAppFusion(CardSource cardSource)
-                {
-                    bool linkCondition(Permanent permanent, CardSource source)
-                    {
-                        if (source != null)
-                        {
-                            if (source != card)
-                            {
-                                if (permanent.TopCard.EqualsCardName("Entermon"))
-                                {
-                                    if (permanent.LinkedCards.Find(x => x.EqualsCardName("Fakemon")))
-                                    {
-                                        return true;
-                                    }
-                                }
-                                if (permanent.TopCard.EqualsCardName("Fakemon"))
-                                {
-                                    if (permanent.LinkedCards.Find(x => x.EqualsCardName("Entermon")))
-                                    {
-                                        return true;
-                                    }
-                                }
-                            }
-
-                            return false;
-                        }
-
-                        return false;
-                    }
-
-                    bool digimonCondition(Permanent permanent)
-                    {
-                        if (CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card))
-                        {
-                            if (permanent.TopCard.EqualsCardName("Entermon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Fakemon")))
-                                {
-                                    return true;
-                                }
-                            }
-                            if (permanent.TopCard.EqualsCardName("Fakemon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Entermon")))
-                                {
-                                    return true;
-                                }
-                            }
-                            return false;
-                        }
-
-                        return false;
-                    }
-
-                    if (cardSource == card)
-                    {
-                        AppFusionCondition AppFusionCondition = new AppFusionCondition(
-                            linkedCondition: linkCondition,
-                            digimonCondition: digimonCondition,
-                            cost: 0);
-
-                        return AppFusionCondition;
-                    }
-
-                    return null;
-                }
+                cardEffects.Add(CardEffectFactory.AddAppfuseMethodByName(new List<string>() { "Entermon", "Fakemon" }, card));
             }
 
             #endregion

+ 1 - 67
Assets/CardEffect/EX10/Black/EX10_030.cs

@@ -17,73 +17,7 @@ namespace DCGO.CardEffects.EX10
 
             if (timing == EffectTiming.None)
             {
-                AddAppFusionConditionClass addAppFusionConditionClass = new AddAppFusionConditionClass();
-                addAppFusionConditionClass.SetUpICardEffect($"App Fusion", (hashtable) => true, card);
-                addAppFusionConditionClass.SetUpAddAppFusionConditionClass(getAppFusionCondition: GetAppFusion);
-                addAppFusionConditionClass.SetNotShowUI(true);
-                cardEffects.Add(addAppFusionConditionClass);
-
-                AppFusionCondition GetAppFusion(CardSource cardSource)
-                {
-                    bool linkCondition(Permanent permanent, CardSource source)
-                    {
-                        if (source != null && source != card)
-                        {
-                            if (permanent.TopCard.EqualsCardName("Warpmon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Weatherdramon")))
-                                {
-                                    return true;
-                                }
-                            }
-
-                            if (permanent.TopCard.EqualsCardName("Weatherdramon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Warpmon")))
-                                {
-                                    return true;
-                                }
-                            }
-                        }
-
-                        return false;
-                    }
-                    bool digimonCondition(Permanent permanent)
-                    {
-                        if (CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card))
-                        {
-                            if (permanent.TopCard.EqualsCardName("Warpmon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Weatherdramon")))
-                                {
-                                    return true;
-                                }
-                            }
-
-                            if (permanent.TopCard.EqualsCardName("Weatherdramon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Warpmon")))
-                                {
-                                    return true;
-                                }
-                            }
-                        }
-
-                        return false;
-                    }
-
-                    if (cardSource == card)
-                    {
-                        AppFusionCondition AppFusionCondition = new AppFusionCondition(
-                            linkCondition,
-                            digimonCondition,
-                            0);
-
-                        return AppFusionCondition;
-                    }
-
-                    return null;
-                }
+                cardEffects.Add(CardEffectFactory.AddAppfuseMethodByName(new List<string>() { "Warpmon", "Weatherdramon" }, card));
             }
 
             #endregion

+ 1 - 71
Assets/CardEffect/EX10/Black/EX10_073.cs

@@ -46,77 +46,7 @@ namespace DCGO.CardEffects.EX10
 
             if (timing == EffectTiming.None)
             {
-                AddAppFusionConditionClass addAppFusionConditionClass = new AddAppFusionConditionClass();
-                addAppFusionConditionClass.SetUpICardEffect($"App Fusion", (hashtable) => true, card);
-                addAppFusionConditionClass.SetUpAddAppFusionConditionClass(getAppFusionCondition: GetAppFusion);
-                addAppFusionConditionClass.SetNotShowUI(true);
-                cardEffects.Add(addAppFusionConditionClass);
-
-                AppFusionCondition GetAppFusion(CardSource cardSource)
-                {
-                    bool linkCondition(Permanent permanent, CardSource source)
-                    {
-                        if (source != null)
-                        {
-                            if (source != card)
-                            {
-                                if (permanent.TopCard.EqualsCardName("Warudamon"))
-                                {
-                                    if (permanent.LinkedCards.Find(x => x.EqualsCardName("Cometmon")))
-                                    {
-                                        return true;
-                                    }
-                                }
-                                if (permanent.TopCard.EqualsCardName("Cometmon"))
-                                {
-                                    if (permanent.LinkedCards.Find(x => x.EqualsCardName("Warudamon")))
-                                    {
-                                        return true;
-                                    }
-                                }
-                            }
-
-                            return false;
-                        }
-
-                        return false;
-                    }
-                    bool digimonCondition(Permanent permanent)
-                    {
-                        if (CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card))
-                        {
-                            if (permanent.TopCard.EqualsCardName("Warudamon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Cometmon")))
-                                {
-                                    return true;
-                                }
-                            }
-                            if (permanent.TopCard.EqualsCardName("Cometmon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Warudamon")))
-                                {
-                                    return true;
-                                }
-                            }
-                            return false;
-                        }
-
-                        return false;
-                    }
-
-                    if (cardSource == card)
-                    {
-                        AppFusionCondition AppFusionCondition = new AppFusionCondition(
-                            linkedCondition: linkCondition,
-                            digimonCondition: digimonCondition,
-                            cost: 0);
-
-                        return AppFusionCondition;
-                    }
-
-                    return null;
-                }
+                cardEffects.Add(CardEffectFactory.AddAppfuseMethodByName(new List<string>() { "Warudamon", "Cometmon" }, card));
             }
 
             #endregion

+ 1 - 71
Assets/CardEffect/EX10/Green/EX10_019.cs

@@ -29,77 +29,7 @@ namespace DCGO.CardEffects.EX10
 
             if (timing == EffectTiming.None)
             {
-                AddAppFusionConditionClass addAppFusionConditionClass = new AddAppFusionConditionClass();
-                addAppFusionConditionClass.SetUpICardEffect($"App Fusion", (hashtable) => true, card);
-                addAppFusionConditionClass.SetUpAddAppFusionConditionClass(getAppFusionCondition: GetAppFusion);
-                addAppFusionConditionClass.SetNotShowUI(true);
-                cardEffects.Add(addAppFusionConditionClass);
-
-                AppFusionCondition GetAppFusion(CardSource cardSource)
-                {
-                    bool linkCondition(Permanent permanent, CardSource source)
-                    {
-                        if (source != null)
-                        {
-                            if (source != card)
-                            {
-                                if (permanent.TopCard.EqualsCardName("Mienumon"))
-                                {
-                                    if (permanent.LinkedCards.Find(x => x.EqualsCardName("Sakusimon")))
-                                    {
-                                        return true;
-                                    }
-                                }
-                                if (permanent.TopCard.EqualsCardName("Sakusimon"))
-                                {
-                                    if (permanent.LinkedCards.Find(x => x.EqualsCardName("Mienumon")))
-                                    {
-                                        return true;
-                                    }
-                                }
-                            }
-
-                            return false;
-                        }
-
-                        return false;
-                    }
-                    bool digimonCondition(Permanent permanent)
-                    {
-                        if (CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card))
-                        {
-                            if (permanent.TopCard.EqualsCardName("Mienumon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Sakusimon")))
-                                {
-                                    return true;
-                                }
-                            }
-                            if (permanent.TopCard.EqualsCardName("Sakusimon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Mienumon")))
-                                {
-                                    return true;
-                                }
-                            }
-                            return false;
-                        }
-
-                        return false;
-                    }
-
-                    if (cardSource == card)
-                    {
-                        AppFusionCondition AppFusionCondition = new AppFusionCondition(
-                            linkedCondition: linkCondition,
-                            digimonCondition: digimonCondition,
-                            cost: 0);
-
-                        return AppFusionCondition;
-                    }
-
-                    return null;
-                }
+                cardEffects.Add(CardEffectFactory.AddAppfuseMethodByName(new List<string>() { "Mienumon", "Sakusimon" }, card));
             }
 
             #endregion

+ 3 - 3
Assets/Scripts/CardEffectFactory/AddAppfusionMethod.cs

@@ -30,11 +30,11 @@ public partial class CardEffectFactory
                 {
                     if (source != card)
                     {
-                        for(int i = 0; i < cardConditions.Count; i++)
+                        for (int i = 0; i < cardConditions.Count; i++)
                         {
                             if (cardConditions[i](source)) 
                             {
-                                for (int j = 0; j <= cardConditions.Count; j++)
+                                for (int j = 0; j < cardConditions.Count; j++)
                                 {
                                     if(i != j)
                                     {
@@ -60,7 +60,7 @@ public partial class CardEffectFactory
                     {
                         if (cardConditions[i](permanent.TopCard))
                         {
-                            for (int j = 0; j <= cardConditions.Count; j++)
+                            for (int j = 0; j < cardConditions.Count; j++)
                             {
                                 if (i != j)
                                 {