From d9884aa9de9e01a18c9cf4cac576d5a423baf28f Mon Sep 17 00:00:00 2001 From: jeffwadsworth Date: Tue, 27 Jul 2021 11:05:15 -0500 Subject: [PATCH] - Fixed #8060 --- .../mage/cards/l/LaeliaTheBladeReforged.java | 44 ++++++++++++++----- 1 file changed, 34 insertions(+), 10 deletions(-) diff --git a/Mage.Sets/src/mage/cards/l/LaeliaTheBladeReforged.java b/Mage.Sets/src/mage/cards/l/LaeliaTheBladeReforged.java index 2f0e06a7e87..8fb2c59d697 100644 --- a/Mage.Sets/src/mage/cards/l/LaeliaTheBladeReforged.java +++ b/Mage.Sets/src/mage/cards/l/LaeliaTheBladeReforged.java @@ -78,19 +78,43 @@ class LaeliaTheBladeReforgedAddCountersTriggeredAbility extends TriggeredAbility @Override public boolean checkTrigger(GameEvent event, Game game) { ZoneChangeGroupEvent zEvent = (ZoneChangeGroupEvent) event; - return zEvent.getToZone() == Zone.EXILED - && (zEvent.getFromZone() == Zone.LIBRARY || zEvent.getFromZone() == Zone.GRAVEYARD) - && game - .getCards() - .stream() - .filter(Objects::nonNull) - .map(Card::getOwnerId) - .anyMatch(this::isControlledBy); + final int numberExiled = zEvent.getCards().size(); + if (zEvent.getToZone() != Zone.EXILED + || numberExiled == 0) { + return false; + } + switch (zEvent.getFromZone()) { + case LIBRARY: + if (zEvent + .getCards() + .stream() + .filter(Objects::nonNull) + .map(Card::getOwnerId) + .anyMatch(this::isControlledBy) + && numberExiled > 0) { + this.getEffects().clear(); + this.getEffects().add(new AddCountersSourceEffect(CounterType.P1P1.createInstance())); + return true; + } + case GRAVEYARD: + if (zEvent + .getCards() + .stream() + .filter(Objects::nonNull) + .map(Card::getOwnerId) + .anyMatch(this::isControlledBy) + && numberExiled > 0) { + this.getEffects().clear(); + this.getEffects().add(new AddCountersSourceEffect(CounterType.P1P1.createInstance())); + return true; + } + } + return false; } @Override public String getRule() { - return "Whenever one or more cards are put into exile from your library " + - "and/or your graveyard, put a +1/+1 counter on {this}."; + return "Whenever one or more cards are put into exile from your library " + + "and/or your graveyard, put a +1/+1 counter on {this}."; } }