make Morph cost reduction a separate class (and fix to work with new system)

This commit is contained in:
Steven Knipe 2023-09-18 03:33:20 -07:00
parent 3f82c36813
commit e7927cb50f
8 changed files with 49 additions and 67 deletions

View file

@ -1,13 +1,11 @@
package mage.cards.d;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.cost.SpellsCostReductionControllerEffect;
import mage.abilities.effects.common.cost.MorphSpellsCostReductionControllerEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.common.FilterCreatureCard;
import mage.filter.predicate.card.FaceDownCastablePredicate;
import java.util.UUID;
@ -15,18 +13,11 @@ import java.util.UUID;
* @author North
*/
public final class DreamChisel extends CardImpl {
private static final FilterCreatureCard filter = new FilterCreatureCard("Face-down creature spells");
static {
filter.add(FaceDownCastablePredicate.instance);
}
public DreamChisel(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}");
// Face-down creature spells you cast cost {1} less to cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostReductionControllerEffect(filter, 1)));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new MorphSpellsCostReductionControllerEffect(1)));
}
private DreamChisel(final DreamChisel card) {
@ -37,4 +28,4 @@ public final class DreamChisel extends CardImpl {
public DreamChisel copy() {
return new DreamChisel(this);
}
}
}