diff --git a/Mage.Sets/src/mage/cards/f/ForgeNeverwinterCharlatan.java b/Mage.Sets/src/mage/cards/f/ForgeNeverwinterCharlatan.java index 3e4d993c903..d81a70e87ce 100644 --- a/Mage.Sets/src/mage/cards/f/ForgeNeverwinterCharlatan.java +++ b/Mage.Sets/src/mage/cards/f/ForgeNeverwinterCharlatan.java @@ -5,6 +5,7 @@ import mage.abilities.common.SacrificeAllTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.dynamicvalue.DynamicValue; +import mage.abilities.dynamicvalue.MultipliedValue; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.dynamicvalue.common.StaticValue; import mage.abilities.effects.common.CreateTokenEffect; @@ -28,6 +29,7 @@ import java.util.UUID; public final class ForgeNeverwinterCharlatan extends CardImpl { private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(new FilterControlledPermanent(SubType.TREASURE)); + private static final DynamicValue twiceXValue = new MultipliedValue(xValue, 2); private static final Hint hint = new ValueHint("Treasures you control", xValue); public ForgeNeverwinterCharlatan(UUID ownerId, CardSetInfo setInfo) { @@ -47,7 +49,7 @@ public final class ForgeNeverwinterCharlatan extends CardImpl { // Forge, Neverwinter Charlatan gets +2/+0 for each Treasure you control. this.addAbility(new SimpleStaticAbility(new BoostSourceEffect( - xValue, StaticValue.get(0), Duration.WhileOnBattlefield + twiceXValue, StaticValue.get(0), Duration.WhileOnBattlefield ).setText("{this} gets +2/+0 for each Treasure you control")).addHint(hint)); // Whenever one or more players sacrifice one or more creatures, you create a tapped Treasure token. This ability triggers only once each turn. diff --git a/Mage/src/main/java/mage/abilities/common/SacrificeAllTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/SacrificeAllTriggeredAbility.java index d5fc7e994d6..a03dc0d51fc 100644 --- a/Mage/src/main/java/mage/abilities/common/SacrificeAllTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/SacrificeAllTriggeredAbility.java @@ -44,22 +44,25 @@ public class SacrificeAllTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { - boolean sacrificed = false; switch (sacrificingPlayer) { case YOU: - if (event.getPlayerId().equals(getControllerId())) { - sacrificed = true; + if (!event.getPlayerId().equals(getControllerId())) { + return false; } break; case OPPONENT: Player controller = game.getPlayer(getControllerId()); - if (controller == null || controller.hasOpponent(event.getPlayerId(), game)) { - sacrificed = true; + if (controller == null || !controller.hasOpponent(event.getPlayerId(), game)) { + return false; } break; + case ANY: + break; + default: + return false; } Permanent sacrificedPermanent = game.getPermanentOrLKIBattlefield(event.getTargetId()); - return sacrificed && filter.match(sacrificedPermanent, getControllerId(), this, game); + return sacrificedPermanent != null && filter.match(sacrificedPermanent, getControllerId(), this, game); } private String generateTriggerPhrase() {