[VOW] Fix Dollhouse of Horrors copy token to count constructs, not all artifacts

This commit is contained in:
Alex W. Jackson 2022-03-08 12:24:14 -05:00
parent a356e2b34a
commit 6a24bf70e3

View file

@ -6,7 +6,8 @@ import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.costs.common.ExileFromGraveCost;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.dynamicvalue.common.ArtifactYouControlCount;
import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.CreateTokenCopyTargetEffect;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
@ -20,6 +21,7 @@ import mage.constants.Duration;
import mage.constants.Outcome;
import mage.constants.SubType;
import mage.filter.StaticFilters;
import mage.filter.common.FilterControlledPermanent;
import mage.game.Game;
import mage.game.permanent.PermanentCard;
import mage.target.common.TargetCardInYourGraveyard;
@ -58,6 +60,8 @@ public final class DollhouseOfHorrors extends CardImpl {
class DollhouseOfHorrorsEffect extends OneShotEffect {
private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(new FilterControlledPermanent(SubType.CONSTRUCT));
DollhouseOfHorrorsEffect() {
super(Outcome.Benefit);
staticText = "create a token that's a copy of the exiled card, except it's a 0/0 Construct artifact in " +
@ -87,10 +91,12 @@ class DollhouseOfHorrorsEffect extends OneShotEffect {
effect.setSavedPermanent(new PermanentCard(card, source.getControllerId(), game));
effect.setAdditionalSubType(SubType.CONSTRUCT);
effect.addAdditionalAbilities(new SimpleStaticAbility(new BoostSourceEffect(
ArtifactYouControlCount.instance,
ArtifactYouControlCount.instance,
Duration.WhileOnBattlefield
).setText("This creature gets +1/+1 for each artifact you control")));
xValue,
xValue,
Duration.WhileOnBattlefield,
false,
"this creature"
)));
effect.apply(game, source);
game.addEffect(new GainAbilityTargetEffect(
HasteAbility.getInstance(), Duration.EndOfTurn