diff --git a/Mage.Sets/src/mage/cards/z/ZellixSanityFlayer.java b/Mage.Sets/src/mage/cards/z/ZellixSanityFlayer.java index a6ec53671f3..7c7e9670fc1 100644 --- a/Mage.Sets/src/mage/cards/z/ZellixSanityFlayer.java +++ b/Mage.Sets/src/mage/cards/z/ZellixSanityFlayer.java @@ -84,6 +84,6 @@ class ZellixSanityFlayerTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { - return ((MilledBatchForOnePlayerEvent) event).getCards().count(StaticFilters.FILTER_CARD_CREATURE, game) > 0; + return ((MilledBatchForOnePlayerEvent) event).getCards(game).count(StaticFilters.FILTER_CARD_CREATURE, game) > 0; } } diff --git a/Mage/src/main/java/mage/abilities/common/MillTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/MillTriggeredAbility.java index e3503312e31..1721012d12b 100644 --- a/Mage/src/main/java/mage/abilities/common/MillTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/MillTriggeredAbility.java @@ -59,7 +59,7 @@ public class MillTriggeredAbility extends TriggeredAbilityImpl { default: throw new IllegalArgumentException("Wrong code usage. targetController not yet supported: " + targetController); } - Card card = ((MilledCardEvent) event).getCard(); + Card card = ((MilledCardEvent) event).getCard(game); return card != null && filter.match(card, getControllerId(), this, game); } diff --git a/Mage/src/main/java/mage/abilities/common/OneOrMoreMilledTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/OneOrMoreMilledTriggeredAbility.java index 408c8681aca..3f418ddb6d8 100644 --- a/Mage/src/main/java/mage/abilities/common/OneOrMoreMilledTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/OneOrMoreMilledTriggeredAbility.java @@ -44,7 +44,7 @@ public class OneOrMoreMilledTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { - int count = ((MilledBatchAllEvent) event).getCards().count(filter, getControllerId(), this, game); + int count = ((MilledBatchAllEvent) event).getCards(game).count(filter, getControllerId(), this, game); if (count <= 0) { return false; } diff --git a/Mage/src/main/java/mage/game/events/MilledBatchAllEvent.java b/Mage/src/main/java/mage/game/events/MilledBatchAllEvent.java index 7e828623b35..2b15385c91e 100644 --- a/Mage/src/main/java/mage/game/events/MilledBatchAllEvent.java +++ b/Mage/src/main/java/mage/game/events/MilledBatchAllEvent.java @@ -2,6 +2,7 @@ package mage.game.events; import mage.cards.Cards; import mage.cards.CardsImpl; +import mage.game.Game; import java.util.Objects; import java.util.stream.Collectors; @@ -15,10 +16,10 @@ public class MilledBatchAllEvent extends BatchEvent { super(EventType.MILLED_CARDS_BATCH_FOR_ALL, false, false, false, event); } - public Cards getCards() { + public Cards getCards(Game game) { return new CardsImpl(getEvents() .stream() - .map(MilledCardEvent::getCard) + .map(mce -> mce.getCard(game)) .filter(Objects::nonNull) .collect(Collectors.toSet()) ); diff --git a/Mage/src/main/java/mage/game/events/MilledBatchForOnePlayerEvent.java b/Mage/src/main/java/mage/game/events/MilledBatchForOnePlayerEvent.java index be40f515563..97dd387a2b6 100644 --- a/Mage/src/main/java/mage/game/events/MilledBatchForOnePlayerEvent.java +++ b/Mage/src/main/java/mage/game/events/MilledBatchForOnePlayerEvent.java @@ -2,6 +2,7 @@ package mage.game.events; import mage.cards.Cards; import mage.cards.CardsImpl; +import mage.game.Game; import java.util.Objects; import java.util.stream.Collectors; @@ -15,10 +16,10 @@ public class MilledBatchForOnePlayerEvent extends BatchEvent { super(EventType.MILLED_CARDS_BATCH_FOR_ONE_PLAYER, false, false, true, event); } - public Cards getCards() { + public Cards getCards(Game game) { return new CardsImpl(getEvents() .stream() - .map(MilledCardEvent::getCard) + .map(mce -> mce.getCard(game)) .filter(Objects::nonNull) .collect(Collectors.toSet()) ); diff --git a/Mage/src/main/java/mage/game/events/MilledCardEvent.java b/Mage/src/main/java/mage/game/events/MilledCardEvent.java index f038b66e186..093e1ffdf6a 100644 --- a/Mage/src/main/java/mage/game/events/MilledCardEvent.java +++ b/Mage/src/main/java/mage/game/events/MilledCardEvent.java @@ -2,6 +2,7 @@ package mage.game.events; import mage.abilities.Ability; import mage.cards.Card; +import mage.game.Game; import java.util.UUID; @@ -13,14 +14,11 @@ import java.util.UUID; */ public class MilledCardEvent extends GameEvent { - private final Card card; - public MilledCardEvent(Card card, UUID playerId, Ability source) { super(EventType.MILLED_CARD, card.getId(), source, playerId); - this.card = card; } - public Card getCard() { - return card; + public Card getCard(Game game) { + return game.getCard(getTargetId()); } } diff --git a/Mage/src/main/java/mage/watchers/common/CardsMilledWatcher.java b/Mage/src/main/java/mage/watchers/common/CardsMilledWatcher.java index d9fea38340e..aca19be4bfa 100644 --- a/Mage/src/main/java/mage/watchers/common/CardsMilledWatcher.java +++ b/Mage/src/main/java/mage/watchers/common/CardsMilledWatcher.java @@ -30,7 +30,7 @@ public class CardsMilledWatcher extends Watcher { if (event.getType() != GameEvent.EventType.MILLED_CARD) { return; } - Card card = ((MilledCardEvent) event).getCard(); + Card card = ((MilledCardEvent) event).getCard(game); if (card == null) { return; }