From 5cb950e53f19d235754c72ecfa9a3ad76cfea965 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Mon, 20 Jul 2020 10:35:18 +0200 Subject: [PATCH] * Basri's Lieutenant - Fixed that it created also the token if Lieutenant dies without a +1/+1 token (fixes #6863). --- Mage.Sets/src/mage/cards/b/BasrisLieutenant.java | 7 +++---- .../DiesThisOrAnotherCreatureTriggeredAbility.java | 10 ++++++++-- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/Mage.Sets/src/mage/cards/b/BasrisLieutenant.java b/Mage.Sets/src/mage/cards/b/BasrisLieutenant.java index 330eec1325b..eae31d1a616 100644 --- a/Mage.Sets/src/mage/cards/b/BasrisLieutenant.java +++ b/Mage.Sets/src/mage/cards/b/BasrisLieutenant.java @@ -1,5 +1,6 @@ package mage.cards.b; +import java.util.UUID; import mage.MageInt; import mage.MageObject; import mage.abilities.Ability; @@ -22,8 +23,6 @@ import mage.filter.predicate.permanent.CounterPredicate; import mage.game.permanent.token.KnightToken; import mage.target.common.TargetControlledCreaturePermanent; -import java.util.UUID; - /** * * @author htrajan @@ -41,7 +40,7 @@ public final class BasrisLieutenant extends CardImpl { public BasrisLieutenant(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}"); - + this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); @@ -63,7 +62,7 @@ public final class BasrisLieutenant extends CardImpl { new CreateTokenEffect(new KnightToken()).setText("if it had a +1/+1 counter on it, create a 2/2 white Knight creature token with vigilance"), false, controlledCreatureWithP1P1CounterFilter - )); + ).setApplyFilterOnSource(true)); } private BasrisLieutenant(final BasrisLieutenant card) { diff --git a/Mage/src/main/java/mage/abilities/common/DiesThisOrAnotherCreatureTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DiesThisOrAnotherCreatureTriggeredAbility.java index c0d241039de..61478cf9ba4 100644 --- a/Mage/src/main/java/mage/abilities/common/DiesThisOrAnotherCreatureTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/DiesThisOrAnotherCreatureTriggeredAbility.java @@ -1,4 +1,3 @@ - package mage.abilities.common; import mage.MageObject; @@ -17,6 +16,7 @@ import mage.game.permanent.Permanent; public class DiesThisOrAnotherCreatureTriggeredAbility extends TriggeredAbilityImpl { protected FilterCreaturePermanent filter; + private boolean applyFilterOnSource = false; public DiesThisOrAnotherCreatureTriggeredAbility(Effect effect, boolean optional) { this(effect, optional, new FilterCreaturePermanent()); @@ -30,6 +30,12 @@ public class DiesThisOrAnotherCreatureTriggeredAbility extends TriggeredAbilityI public DiesThisOrAnotherCreatureTriggeredAbility(DiesThisOrAnotherCreatureTriggeredAbility ability) { super(ability); this.filter = ability.filter; + this.applyFilterOnSource = ability.applyFilterOnSource; + } + + public DiesThisOrAnotherCreatureTriggeredAbility setApplyFilterOnSource(boolean applyFilterOnSource) { + this.applyFilterOnSource = applyFilterOnSource; + return this; } @Override @@ -68,7 +74,7 @@ public class DiesThisOrAnotherCreatureTriggeredAbility extends TriggeredAbilityI if (zEvent.isDiesEvent()) { if (zEvent.getTarget() != null) { - if (zEvent.getTarget().getId().equals(this.getSourceId())) { + if (!applyFilterOnSource && zEvent.getTarget().getId().equals(this.getSourceId())) { return true; } else { if (filter.match(zEvent.getTarget(), getSourceId(), getControllerId(), game)) {