From bd92ced539c34e158f5bbfdbd23a75f4051b5781 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Thu, 10 Jun 2021 18:42:02 -0400 Subject: [PATCH] [MH2] fixed Garth One-Eye permanent spells not becoming tokens --- Mage/src/main/java/mage/game/stack/Spell.java | 15 +++++++++------ Mage/src/main/java/mage/players/PlayerImpl.java | 3 +++ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Mage/src/main/java/mage/game/stack/Spell.java b/Mage/src/main/java/mage/game/stack/Spell.java index 3d9287d60b0..1dc9de3119e 100644 --- a/Mage/src/main/java/mage/game/stack/Spell.java +++ b/Mage/src/main/java/mage/game/stack/Spell.java @@ -257,19 +257,22 @@ public class Spell extends StackObjectImpl implements Card { card.addSubType(game, SubType.AURA); } } - UUID permId = null; - boolean flag = false; - if (!isCopy()) { - permId = card.getId(); - flag = controller.moveCards(card, Zone.BATTLEFIELD, ability, game, false, faceDown, false, null); - } else { + UUID permId; + boolean flag; + if (isCopy()) { EmptyToken token = new EmptyToken(); CardUtil.copyTo(token).from(card, game, this); // The token that a resolving copy of a spell becomes isn’t said to have been “created.” (2020-09-25) if (token.putOntoBattlefield(1, game, ability, getControllerId(), false, false, null, false)) { permId = token.getLastAddedToken(); flag = true; + } else { + permId = null; + flag = false; } + } else { + permId = card.getId(); + flag = controller.moveCards(card, Zone.BATTLEFIELD, ability, game, false, faceDown, false, null); } if (flag) { if (bestow) { diff --git a/Mage/src/main/java/mage/players/PlayerImpl.java b/Mage/src/main/java/mage/players/PlayerImpl.java index 1767a9962ec..389b9d9c2e7 100644 --- a/Mage/src/main/java/mage/players/PlayerImpl.java +++ b/Mage/src/main/java/mage/players/PlayerImpl.java @@ -1177,6 +1177,9 @@ public abstract class PlayerImpl implements Player, Serializable { logger.error("Got no spell from stack. ability: " + ability.getRule()); return false; } + if (card.isCopy()) { + spell.setCopy(true, null); + } // Update the zcc to the stack ability.setSourceObjectZoneChangeCounter(game.getState().getZoneChangeCounter(ability.getSourceId()));