From f77e709f6b063c8c1c35bd2e0dba7876a2cf404a Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Mon, 7 Apr 2014 00:03:41 +0200 Subject: [PATCH] * Neightveil Spector - Fixed a bug that casting with the Spector exiled Enchantment Auras were not handled correctly. --- .../src/mage/sets/returntoravnica/EtherealArmor.java | 2 +- .../mage/abilities/effects/AuraReplacementEffect.java | 9 +++++++++ Mage/src/mage/game/stack/Spell.java | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/Mage.Sets/src/mage/sets/returntoravnica/EtherealArmor.java b/Mage.Sets/src/mage/sets/returntoravnica/EtherealArmor.java index ab2f8934202..b156a486a03 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/EtherealArmor.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/EtherealArmor.java @@ -70,7 +70,7 @@ public class EtherealArmor extends CardImpl { this.color.setWhite(true); // Enchant creature - TargetPermanent auraTarget = new TargetCreaturePermanent(); + TargetPermanent auraTarget = new TargetCreaturePermanent(true); this.getSpellAbility().addTarget(auraTarget); this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); Ability ability = new EnchantAbility(auraTarget.getTargetName()); diff --git a/Mage/src/mage/abilities/effects/AuraReplacementEffect.java b/Mage/src/mage/abilities/effects/AuraReplacementEffect.java index 196bc660a4a..9f0314a4134 100644 --- a/Mage/src/mage/abilities/effects/AuraReplacementEffect.java +++ b/Mage/src/mage/abilities/effects/AuraReplacementEffect.java @@ -44,6 +44,7 @@ import mage.players.Player; import mage.target.Target; import java.util.UUID; +import mage.game.stack.Spell; /** * Cards with the Aura subtype don't change the zone they are in, if there is no @@ -89,12 +90,20 @@ public class AuraReplacementEffect extends ReplacementEffectImpl no replacement + return false; + } + } if (sourceObject instanceof StackAbility) { StackAbility stackAbility = (StackAbility) sourceObject; if (!stackAbility.getEffects().isEmpty()) { targetId = stackAbility.getEffects().get(0).getTargetPointer().getFirst(game, stackAbility); } } + if (targetId == null) { Target target = card.getSpellAbility().getTargets().get(0); Player player = game.getPlayer(card.getOwnerId()); diff --git a/Mage/src/mage/game/stack/Spell.java b/Mage/src/mage/game/stack/Spell.java index 5c86b1e0c26..55e968270d3 100644 --- a/Mage/src/mage/game/stack/Spell.java +++ b/Mage/src/mage/game/stack/Spell.java @@ -107,7 +107,7 @@ public class Spell> implements StackObject, Card { this.spellCards.add(spellCard.copy()); } if (spell.spellAbilities.get(0).equals(spell.ability)) { - this.ability = spellAbilities.get(0); + this.ability = this.spellAbilities.get(0); } else { this.ability = spell.ability.copy(); }