diff --git a/Mage.Sets/src/mage/sets/magic2014/ColossalWhale.java b/Mage.Sets/src/mage/sets/magic2014/ColossalWhale.java index 356252fe57..e940547e0f 100644 --- a/Mage.Sets/src/mage/sets/magic2014/ColossalWhale.java +++ b/Mage.Sets/src/mage/sets/magic2014/ColossalWhale.java @@ -54,6 +54,8 @@ import mage.watchers.WatcherImpl; */ public class ColossalWhale extends CardImpl { + private UUID exileId = UUID.randomUUID(); + public ColossalWhale(UUID ownerId) { super(ownerId, 48, "Colossal Whale", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{5}{U}{U}"); this.expansionSetCode = "M14"; @@ -66,8 +68,8 @@ public class ColossalWhale extends CardImpl { // Islandwalk this.addAbility(new IslandwalkAbility()); // Whenever Colossal Whale attacks, you may exile target creature defending player controls until Colossal Whale leaves the battlefield. - this.addAbility(new ColossalWhaleAbility()); - this.addWatcher(new ColossalWhaleWatcher()); + this.addAbility(new ColossalWhaleAbility(exileId)); + this.addWatcher(new ColossalWhaleWatcher(exileId)); } @@ -84,9 +86,9 @@ public class ColossalWhale extends CardImpl { class ColossalWhaleAbility extends TriggeredAbilityImpl { - public ColossalWhaleAbility() { + public ColossalWhaleAbility(UUID exileId) { super(Zone.BATTLEFIELD, null); - this.addEffect(new ExileTargetEffect(this.getSourceId(),"Colossal Whale")); + this.addEffect(new ExileTargetEffect(exileId,"Colossal Whale")); } public ColossalWhaleAbility(final ColossalWhaleAbility ability) { @@ -122,12 +124,16 @@ class ColossalWhaleAbility extends TriggeredAbilityImpl { class ColossalWhaleWatcher extends WatcherImpl { - ColossalWhaleWatcher () { + UUID exileId; + + ColossalWhaleWatcher (UUID exileId) { super("BattlefieldLeft", WatcherScope.CARD); + this.exileId = exileId; } - ColossalWhaleWatcher(ColossalWhaleWatcher watcher) { + ColossalWhaleWatcher(final ColossalWhaleWatcher watcher) { super(watcher); + this.exileId = watcher.exileId; } @Override @@ -135,7 +141,6 @@ class ColossalWhaleWatcher extends WatcherImpl { if (event.getType() == GameEvent.EventType.ZONE_CHANGE && event.getTargetId().equals(sourceId)) { ZoneChangeEvent zEvent = (ZoneChangeEvent)event; if (zEvent.getFromZone() == Zone.BATTLEFIELD) { - UUID exileId = this.getSourceId(); ExileZone exile = game.getExile().getExileZone(exileId); if (exile != null) { LinkedList cards = new LinkedList(exile); @@ -158,4 +163,4 @@ class ColossalWhaleWatcher extends WatcherImpl { public ColossalWhaleWatcher copy() { return new ColossalWhaleWatcher(this); } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/sets/magic2014/JacesMindseeker.java b/Mage.Sets/src/mage/sets/magic2014/JacesMindseeker.java index a78659611b..d21cb8934c 100644 --- a/Mage.Sets/src/mage/sets/magic2014/JacesMindseeker.java +++ b/Mage.Sets/src/mage/sets/magic2014/JacesMindseeker.java @@ -69,7 +69,7 @@ public class JacesMindseeker extends CardImpl { // When Jace's Mindseeker enters the battlefield, target opponent puts the top five cards of his or her library into his or her graveyard. // You may cast an instant or sorcery card from among them without paying its mana cost. Ability ability = new EntersBattlefieldTriggeredAbility(new JaceMindseekerEffect()); - ability.addTarget(new TargetOpponent()); + ability.addTarget(new TargetOpponent(true)); this.addAbility(ability); }