瀏覽代碼

Merge pull request #1571 from DCGO2/hooperk-EX12-059

Update EX12-059 display effect
x89rt2 1 月之前
父節點
當前提交
09a870be27
共有 2 個文件被更改,包括 13 次插入4 次删除
  1. 1 0
      Assets/Scripts/CardEffect/EX12/Black/EX12_059.cs
  2. 12 4
      Assets/Scripts/Script/PermanentEffectFactory.cs

+ 1 - 0
Assets/Scripts/CardEffect/EX12/Black/EX12_059.cs

@@ -243,6 +243,7 @@ namespace DCGO.CardEffects.EX12
                         immuneFromStackTrashingClass.SetUpICardEffect("Isn't affected by trashing any stacked card", hashtable => true, card);
                         immuneFromStackTrashingClass.SetUpImmuneFromStackTrashingClass(PermanentCondition: DigimonCondition, EffectCondition: EffectCondition);
                         card.Owner.UntilOpponentTurnEndEffects.Add((_timing) => immuneFromStackTrashingClass);
+                        card.Owner.UntilOpponentTurnEndEffects.Add((_timing) => PermanentEffectFactory.StaticAddDetailClass(_ => true, DigimonCondition, "Opponent's effects cannot trash stacked cards", false, activateClass));
 
                         bool EffectCondition(ICardEffect cardEffect) => CardEffectCommons.IsOpponentEffect(cardEffect, card);
                     }

+ 12 - 4
Assets/Scripts/Script/PermanentEffectFactory.cs

@@ -1,3 +1,4 @@
+using System;
 using System.Collections;
 using System.Collections.Generic;
 
@@ -157,19 +158,26 @@ public partial class PermanentEffectFactory
     {
         if(targetPermanent == null || targetPermanent.TopCard == null) return null;
         
-        return CardEffectFactory.AddDetailClass(CanUseCondition, PermanentCondition, detail, triggerEffect, activateClass.EffectSourceCard);
+        return StaticAddDetailClass(CanUseCondition, PermanentCondition, detail, triggerEffect, activateClass);
 
         bool PermanentCondition(Permanent permanent)
         {
             return permanent != null
-                && permanent == targetPermanent;
+                && permanent == targetPermanent
+                && !targetPermanent.TopCard.CanNotBeAffected(activateClass);
         }
 
         bool CanUseCondition(Hashtable hashtable)
         {
-            return CardEffectCommons.IsPermanentExistsOnBattleArea(targetPermanent)
-                && !targetPermanent.TopCard.CanNotBeAffected(activateClass);
+            return CardEffectCommons.IsPermanentExistsOnBattleArea(targetPermanent);
         }
     }
     #endregion
+
+    #region Add Global Detail for Display
+    public static AddDetailClass StaticAddDetailClass(Func<Hashtable, bool> canUseCondition, Func<Permanent, bool> permanentCondition, string detail, bool triggerEffect, ICardEffect activateClass)
+    {
+        return CardEffectFactory.AddDetailClass(canUseCondition, permanentCondition, detail, triggerEffect, activateClass.EffectSourceCard);
+    }
+    #endregion
 }