From c1fa46df399663a85f79cf4fd527757e1947f578 Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Fri, 1 Oct 2021 18:49:54 +0200 Subject: [PATCH] Fix NPE when attaching aura with Genesis Hydra --- .../main/java/forge/game/ability/effects/DigEffect.java | 7 ++++++- .../java/forge/game/ability/effects/DigUntilEffect.java | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) 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 6fa1bb32390..b880cf565b4 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 @@ -3,11 +3,13 @@ package forge.game.ability.effects; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.Map; import forge.card.MagicColor; import forge.game.Game; import forge.game.GameActionUtil; import forge.game.GameEntityCounterTable; +import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; @@ -323,7 +325,10 @@ public class DigEffect extends SpellAbilityEffect { } c = game.getAction().moveTo(zone, c, libraryPosition, sa); } else { - c = game.getAction().moveTo(zone, c, sa); + Map moveParams = AbilityKey.newMap(); + moveParams.put(AbilityKey.LastStateBattlefield, game.copyLastStateBattlefield()); + moveParams.put(AbilityKey.LastStateGraveyard, game.copyLastStateGraveyard()); + c = game.getAction().moveTo(zone, c, sa, moveParams); if (destZone1.equals(ZoneType.Battlefield)) { if (sa.hasParam("Tapped")) { c.setTapped(true); diff --git a/forge-game/src/main/java/forge/game/ability/effects/DigUntilEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DigUntilEffect.java index fa8dd58e4b8..909f3dadcc8 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DigUntilEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DigUntilEffect.java @@ -2,8 +2,10 @@ package forge.game.ability.effects; import java.util.Collections; import java.util.Iterator; +import java.util.Map; import forge.game.Game; +import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; @@ -177,7 +179,10 @@ public class DigUntilEffect extends SpellAbilityEffect { Card m = null; if (sa.hasParam("GainControl") && foundDest.equals(ZoneType.Battlefield)) { c.setController(sa.getActivatingPlayer(), game.getNextTimestamp()); - m = game.getAction().moveTo(c.getController().getZone(foundDest), c, sa); + Map moveParams = AbilityKey.newMap(); + moveParams.put(AbilityKey.LastStateBattlefield, game.copyLastStateBattlefield()); + moveParams.put(AbilityKey.LastStateGraveyard, game.copyLastStateGraveyard()); + m = game.getAction().moveTo(c.getController().getZone(foundDest), c, sa, moveParams); if (sa.hasParam("Tapped")) { c.setTapped(true); }