mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 11:18:01 +00:00
Fix NPE when attaching aura with Genesis Hydra
This commit is contained in:
@@ -3,11 +3,13 @@ package forge.game.ability.effects;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import forge.card.MagicColor;
|
import forge.card.MagicColor;
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.GameActionUtil;
|
import forge.game.GameActionUtil;
|
||||||
import forge.game.GameEntityCounterTable;
|
import forge.game.GameEntityCounterTable;
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.ability.AbilityUtils;
|
import forge.game.ability.AbilityUtils;
|
||||||
import forge.game.ability.SpellAbilityEffect;
|
import forge.game.ability.SpellAbilityEffect;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
@@ -323,7 +325,10 @@ public class DigEffect extends SpellAbilityEffect {
|
|||||||
}
|
}
|
||||||
c = game.getAction().moveTo(zone, c, libraryPosition, sa);
|
c = game.getAction().moveTo(zone, c, libraryPosition, sa);
|
||||||
} else {
|
} else {
|
||||||
c = game.getAction().moveTo(zone, c, sa);
|
Map<AbilityKey, Object> 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 (destZone1.equals(ZoneType.Battlefield)) {
|
||||||
if (sa.hasParam("Tapped")) {
|
if (sa.hasParam("Tapped")) {
|
||||||
c.setTapped(true);
|
c.setTapped(true);
|
||||||
|
|||||||
@@ -2,8 +2,10 @@ package forge.game.ability.effects;
|
|||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.ability.AbilityUtils;
|
import forge.game.ability.AbilityUtils;
|
||||||
import forge.game.ability.SpellAbilityEffect;
|
import forge.game.ability.SpellAbilityEffect;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
@@ -177,7 +179,10 @@ public class DigUntilEffect extends SpellAbilityEffect {
|
|||||||
Card m = null;
|
Card m = null;
|
||||||
if (sa.hasParam("GainControl") && foundDest.equals(ZoneType.Battlefield)) {
|
if (sa.hasParam("GainControl") && foundDest.equals(ZoneType.Battlefield)) {
|
||||||
c.setController(sa.getActivatingPlayer(), game.getNextTimestamp());
|
c.setController(sa.getActivatingPlayer(), game.getNextTimestamp());
|
||||||
m = game.getAction().moveTo(c.getController().getZone(foundDest), c, sa);
|
Map<AbilityKey, Object> 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")) {
|
if (sa.hasParam("Tapped")) {
|
||||||
c.setTapped(true);
|
c.setTapped(true);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user