From bff5a13c253f82bcfae43b22c8ec64b7d66fd224 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Thu, 27 May 2021 09:08:52 -0400 Subject: [PATCH] add support for "RememberMovedToZone" to DigEffect --- .../forge/game/ability/effects/DigEffect.java | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/forge-game/src/main/java/forge/game/ability/effects/DigEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DigEffect.java index 898d56af362..1932709764e 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DigEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DigEffect.java @@ -87,6 +87,20 @@ public class DigEffect extends SpellAbilityEffect { final boolean mayBeSkipped = sa.hasParam("PromptToSkipOptionalAbility"); final String optionalAbilityPrompt = sa.hasParam("OptionalAbilityPrompt") ? sa.getParam("OptionalAbilityPrompt") : ""; + boolean remZone1 = false; + boolean remZone2 = false; + if (sa.hasParam("RememberChanged")) { + remZone1 = true; + } + if (sa.hasParam("RememberMovedToZone")) { + if (sa.getParam("RememberMovedToZone").contains("1")) { + remZone1 = true; + } + if (sa.getParam("RememberMovedToZone").contains("2")) { + remZone2 = true; + } + } + boolean changeAll = false; boolean allButOne = false; @@ -341,7 +355,7 @@ public class DigEffect extends SpellAbilityEffect { if (sa.hasParam("ForgetOtherRemembered")) { host.clearRemembered(); } - if (sa.hasParam("RememberChanged")) { + if (remZone1) { host.addRemembered(c); } rest.remove(c); @@ -376,6 +390,9 @@ public class DigEffect extends SpellAbilityEffect { if (m != null && !origin.equals(m.getZone().getZoneType())) { table.put(origin, m.getZone().getZoneType(), m); } + if (remZone2) { + host.addRemembered(m); + } } } else { @@ -395,6 +412,9 @@ public class DigEffect extends SpellAbilityEffect { } c.setExiledWith(effectHost); c.setExiledBy(effectHost.getController()); + if (remZone2) { + host.addRemembered(c); + } } } }