mirror of
https://github.com/magefree/mage.git
synced 2026-01-26 13:19:18 -08:00
Changed SpellCostReduction effect to work with FilterSpell instead of FilterCard.
This commit is contained in:
parent
c560626883
commit
5f720983ee
35 changed files with 130 additions and 84 deletions
|
|
@ -38,7 +38,7 @@ import mage.constants.CardType;
|
|||
import mage.constants.Rarity;
|
||||
import mage.constants.Zone;
|
||||
import mage.counters.CounterType;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||
|
||||
/**
|
||||
|
|
@ -47,7 +47,7 @@ import mage.filter.predicate.mageobject.SubtypePredicate;
|
|||
*/
|
||||
public class HeroOfIroas extends CardImpl<HeroOfIroas> {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("Aura spells");
|
||||
private static final FilterSpell filter = new FilterSpell("Aura spells");
|
||||
static {
|
||||
filter.add(new SubtypePredicate("Aura"));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ import mage.abilities.common.SimpleStaticAbility;
|
|||
import mage.abilities.effects.common.continious.BoostControlledEffect;
|
||||
import mage.abilities.effects.common.cost.SpellsCostReductionEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||
|
||||
|
|
@ -50,7 +50,7 @@ import mage.filter.predicate.mageobject.SubtypePredicate;
|
|||
|
||||
public class LongForgottenGohei extends CardImpl<LongForgottenGohei> {
|
||||
|
||||
private static final FilterCard arcaneFilter = new FilterCard("Arcane spells");
|
||||
private static final FilterSpell arcaneFilter = new FilterSpell("Arcane spells");
|
||||
private static final FilterCreaturePermanent spiritFilter = new FilterCreaturePermanent("Spirit creatures");
|
||||
|
||||
static {
|
||||
|
|
|
|||
|
|
@ -28,15 +28,16 @@
|
|||
package mage.sets.futuresight;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Rarity;
|
||||
import mage.constants.Zone;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.common.cost.SpellsCostReductionEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.common.FilterCreatureCard;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Rarity;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
|
||||
|
|
@ -46,6 +47,11 @@ import mage.game.permanent.Permanent;
|
|||
*/
|
||||
public class CentaurOmenreader extends CardImpl<CentaurOmenreader> {
|
||||
|
||||
private static final FilterSpell filter = new FilterSpell("creature spells");
|
||||
static {
|
||||
filter.add(new CardTypePredicate(CardType.CREATURE));
|
||||
}
|
||||
|
||||
public CentaurOmenreader(UUID ownerId) {
|
||||
super(ownerId, 143, "Centaur Omenreader", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{3}{G}");
|
||||
this.expansionSetCode = "FUT";
|
||||
|
|
@ -58,7 +64,7 @@ public class CentaurOmenreader extends CardImpl<CentaurOmenreader> {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// As long as Centaur Omenreader is tapped, creature spells you cast cost {2} less to cast.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CentaurOmenreaderSpellsCostReductionEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CentaurOmenreaderSpellsCostReductionEffect(filter)));
|
||||
}
|
||||
|
||||
public CentaurOmenreader(final CentaurOmenreader card) {
|
||||
|
|
@ -73,8 +79,9 @@ public class CentaurOmenreader extends CardImpl<CentaurOmenreader> {
|
|||
|
||||
class CentaurOmenreaderSpellsCostReductionEffect extends SpellsCostReductionEffect {
|
||||
|
||||
public CentaurOmenreaderSpellsCostReductionEffect() {
|
||||
super(new FilterCreatureCard("creature spells"), 2);
|
||||
public CentaurOmenreaderSpellsCostReductionEffect(FilterSpell filter) {
|
||||
super(filter, 2);
|
||||
staticText = "As long as {this} is tapped, creature spells you cast cost {2} less to cast";
|
||||
}
|
||||
|
||||
protected CentaurOmenreaderSpellsCostReductionEffect(SpellsCostReductionEffect effect) {
|
||||
|
|
@ -94,4 +101,4 @@ class CentaurOmenreaderSpellsCostReductionEffect extends SpellsCostReductionEffe
|
|||
public CentaurOmenreaderSpellsCostReductionEffect copy() {
|
||||
return new CentaurOmenreaderSpellsCostReductionEffect(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,15 +28,15 @@
|
|||
package mage.sets.innistrad;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Rarity;
|
||||
import mage.constants.Zone;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.common.continious.BoostControlledEffect;
|
||||
import mage.abilities.effects.common.cost.SpellsCostReductionEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.common.FilterCreatureCard;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Rarity;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.common.FilterCreatureSpell;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -51,7 +51,7 @@ public class HeartlessSummoning extends CardImpl<HeartlessSummoning> {
|
|||
this.color.setBlack(true);
|
||||
|
||||
// Creature spells you cast cost {2} less to cast.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostReductionEffect(new FilterCreatureCard("Creature spells"), 2)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostReductionEffect(new FilterCreatureSpell("Creature spells"), 2)));
|
||||
|
||||
// Creatures you control get -1/-1.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(-1, -1, Duration.WhileOnBattlefield)));
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ import mage.MageInt;
|
|||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.common.cost.SpellsCostReductionEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||
|
||||
/**
|
||||
|
|
@ -44,7 +44,7 @@ import mage.filter.predicate.mageobject.SubtypePredicate;
|
|||
*/
|
||||
public class StinkdrinkerDaredevil extends CardImpl<StinkdrinkerDaredevil> {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("Giant spells");
|
||||
private static final FilterSpell filter = new FilterSpell("Giant spells");
|
||||
|
||||
static {
|
||||
filter.add(new SubtypePredicate("Giant"));
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ import mage.cards.CardImpl;
|
|||
import mage.constants.CardType;
|
||||
import mage.constants.Rarity;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.predicate.mageobject.AbilityPredicate;
|
||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
||||
|
||||
|
|
@ -46,7 +46,7 @@ import mage.filter.predicate.mageobject.CardTypePredicate;
|
|||
*/
|
||||
public class WardenOfEvosIsle extends CardImpl<WardenOfEvosIsle> {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("Creature spells with flying");
|
||||
private static final FilterSpell filter = new FilterSpell("Creature spells with flying");
|
||||
static {
|
||||
filter.add(new CardTypePredicate(CardType.CREATURE));
|
||||
filter.add(new AbilityPredicate(FlyingAbility.class));
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ import mage.abilities.effects.common.cost.SpellsCostReductionEffect;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.constants.CostModificationType;
|
||||
import mage.constants.Duration;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||
import mage.game.Game;
|
||||
import mage.util.CardUtil;
|
||||
|
|
@ -54,8 +54,8 @@ import mage.util.CardUtil;
|
|||
*/
|
||||
public class GrandArbiterAugustinIV extends CardImpl<GrandArbiterAugustinIV> {
|
||||
|
||||
private static final FilterCard filterWhite = new FilterCard("White spells");
|
||||
private static final FilterCard filterBlue = new FilterCard("Blue spells");
|
||||
private static final FilterSpell filterWhite = new FilterSpell("White spells");
|
||||
private static final FilterSpell filterBlue = new FilterSpell("Blue spells");
|
||||
static {
|
||||
filterWhite.add(new ColorPredicate(ObjectColor.WHITE));
|
||||
filterBlue.add(new ColorPredicate(ObjectColor.BLUE));
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ import mage.MageInt;
|
|||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.common.cost.SpellsCostReductionEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.predicate.Predicates;
|
||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||
|
||||
|
|
@ -45,7 +45,7 @@ import mage.filter.predicate.mageobject.SubtypePredicate;
|
|||
*/
|
||||
public class BallyrushBanneret extends CardImpl<BallyrushBanneret> {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("Kithkin spells and Soldier spells");
|
||||
private static final FilterSpell filter = new FilterSpell("Kithkin spells and Soldier spells");
|
||||
|
||||
static {
|
||||
filter.add(Predicates.or(
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ import mage.MageInt;
|
|||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.common.cost.SpellsCostReductionEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.predicate.Predicates;
|
||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||
|
||||
|
|
@ -45,7 +45,7 @@ import mage.filter.predicate.mageobject.SubtypePredicate;
|
|||
*/
|
||||
public class BoskBanneret extends CardImpl<BoskBanneret> {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("Treefolk spells and Shaman spells");
|
||||
private static final FilterSpell filter = new FilterSpell("Treefolk spells and Shaman spells");
|
||||
|
||||
static {
|
||||
filter.add(Predicates.or(
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ import mage.abilities.costs.mana.ManaCostsImpl;
|
|||
import mage.abilities.effects.common.cost.SpellsCostReductionEffect;
|
||||
import mage.abilities.keyword.ReinforceAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.predicate.Predicates;
|
||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||
|
||||
|
|
@ -47,7 +47,7 @@ import mage.filter.predicate.mageobject.SubtypePredicate;
|
|||
*/
|
||||
public class BrighthearthBanneret extends CardImpl<BrighthearthBanneret> {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("Elemental spells and Warrior spells");
|
||||
private static final FilterSpell filter = new FilterSpell("Elemental spells and Warrior spells");
|
||||
|
||||
static {
|
||||
filter.add(Predicates.or(
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ import mage.abilities.common.SimpleStaticAbility;
|
|||
import mage.abilities.effects.common.cost.SpellsCostReductionEffect;
|
||||
import mage.abilities.keyword.HasteAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.predicate.Predicates;
|
||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||
|
||||
|
|
@ -46,7 +46,7 @@ import mage.filter.predicate.mageobject.SubtypePredicate;
|
|||
*/
|
||||
public class FrogtosserBanneret extends CardImpl<FrogtosserBanneret> {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("Goblin spells and Rogue spells");
|
||||
private static final FilterSpell filter = new FilterSpell("Goblin spells and Rogue spells");
|
||||
|
||||
static {
|
||||
filter.add(Predicates.or(
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ import mage.abilities.common.SimpleStaticAbility;
|
|||
import mage.abilities.effects.common.cost.SpellsCostReductionEffect;
|
||||
import mage.abilities.keyword.IslandwalkAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.predicate.Predicates;
|
||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||
|
||||
|
|
@ -46,7 +46,7 @@ import mage.filter.predicate.mageobject.SubtypePredicate;
|
|||
*/
|
||||
public class StonybrookBanneret extends CardImpl<StonybrookBanneret> {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("Merfolk spells and Wizard spells");
|
||||
private static final FilterSpell filter = new FilterSpell("Merfolk spells and Wizard spells");
|
||||
|
||||
static {
|
||||
filter.add(Predicates.or(
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ import mage.constants.Zone;
|
|||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.common.cost.SpellsCostReductionEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.common.FilterCreatureCard;
|
||||
import mage.filter.common.FilterCreatureSpell;
|
||||
import mage.filter.predicate.other.FaceDownPredicate;
|
||||
|
||||
/**
|
||||
|
|
@ -43,7 +43,7 @@ import mage.filter.predicate.other.FaceDownPredicate;
|
|||
*/
|
||||
public class DreamChisel extends CardImpl<DreamChisel> {
|
||||
|
||||
private static final FilterCreatureCard filter = new FilterCreatureCard("Face-down creature spells");
|
||||
private static final FilterCreatureSpell filter = new FilterCreatureSpell("Face-down creature spells");
|
||||
|
||||
static {
|
||||
filter.add(new FaceDownPredicate());
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ import mage.abilities.effects.common.continious.BoostControlledEffect;
|
|||
import mage.abilities.effects.common.cost.SpellsCostReductionEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||
|
||||
|
|
@ -47,7 +48,7 @@ import mage.filter.predicate.mageobject.SubtypePredicate;
|
|||
*/
|
||||
public class UndeadWarchief extends CardImpl<UndeadWarchief> {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("Zombie spells");
|
||||
private static final FilterSpell filter = new FilterSpell("Zombie spells");
|
||||
private static final FilterCreaturePermanent filterCreatures = new FilterCreaturePermanent("Zombie creatures");
|
||||
|
||||
static {
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ import mage.abilities.costs.mana.ManaCostsImpl;
|
|||
import mage.abilities.effects.common.RegenerateSourceEffect;
|
||||
import mage.abilities.effects.common.cost.SpellsCostReductionEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.predicate.Predicates;
|
||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||
|
||||
|
|
@ -49,7 +49,7 @@ import mage.filter.predicate.mageobject.ColorPredicate;
|
|||
*/
|
||||
public class NightscapeFamiliar extends CardImpl<NightscapeFamiliar> {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("Blue spells and red spells");
|
||||
private static final FilterSpell filter = new FilterSpell("Blue spells and red spells");
|
||||
|
||||
static {
|
||||
filter.add(Predicates.or(
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ import mage.abilities.common.SimpleStaticAbility;
|
|||
import mage.abilities.effects.common.cost.SpellsCostReductionEffect;
|
||||
import mage.abilities.keyword.DefenderAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.predicate.Predicates;
|
||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||
|
||||
|
|
@ -47,7 +47,7 @@ import mage.filter.predicate.mageobject.ColorPredicate;
|
|||
*/
|
||||
public class SunscapeFamiliar extends CardImpl<SunscapeFamiliar> {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("Green spells and blue spells");
|
||||
private static final FilterSpell filter = new FilterSpell("Green spells and blue spells");
|
||||
|
||||
static {
|
||||
filter.add(Predicates.or(
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ import mage.ObjectColor;
|
|||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.common.cost.SpellsCostReductionEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.predicate.Predicates;
|
||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||
|
||||
|
|
@ -46,7 +46,7 @@ import mage.filter.predicate.mageobject.ColorPredicate;
|
|||
*/
|
||||
public class ThornscapeFamiliar extends CardImpl<ThornscapeFamiliar> {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("Red spells and white spells");
|
||||
private static final FilterSpell filter = new FilterSpell("Red spells and white spells");
|
||||
|
||||
static {
|
||||
filter.add(Predicates.or(
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ import mage.abilities.common.SimpleStaticAbility;
|
|||
import mage.abilities.effects.common.cost.SpellsCostReductionEffect;
|
||||
import mage.abilities.keyword.FirstStrikeAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.predicate.Predicates;
|
||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||
|
||||
|
|
@ -47,7 +47,7 @@ import mage.filter.predicate.mageobject.ColorPredicate;
|
|||
*/
|
||||
public class ThunderscapeFamiliar extends CardImpl<ThunderscapeFamiliar> {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("Black spells and green spells");
|
||||
private static final FilterSpell filter = new FilterSpell("Black spells and green spells");
|
||||
|
||||
static {
|
||||
filter.add(Predicates.or(
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ import mage.abilities.common.SimpleStaticAbility;
|
|||
import mage.abilities.effects.common.cost.SpellsCostReductionEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.predicate.Predicates;
|
||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
||||
|
||||
|
|
@ -46,7 +46,7 @@ import mage.filter.predicate.mageobject.CardTypePredicate;
|
|||
*/
|
||||
public class GoblinElectromancer extends CardImpl<GoblinElectromancer> {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("Instant and sorcery spells");
|
||||
private static final FilterSpell filter = new FilterSpell("Instant and sorcery spells");
|
||||
static {
|
||||
filter.add(Predicates.or(
|
||||
new CardTypePredicate(CardType.INSTANT),
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ import mage.abilities.common.SimpleStaticAbility;
|
|||
import mage.abilities.effects.common.continious.BoostControlledEffect;
|
||||
import mage.abilities.effects.common.cost.SpellsCostReductionEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||
|
||||
|
|
@ -47,7 +47,7 @@ import mage.filter.predicate.mageobject.SubtypePredicate;
|
|||
*/
|
||||
public class DaruWarchief extends CardImpl<DaruWarchief> {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("Soldier spells");
|
||||
private static final FilterSpell filter = new FilterSpell("Soldier spells");
|
||||
private static final FilterCreaturePermanent filterCreatures = new FilterCreaturePermanent("Soldier creatures");
|
||||
|
||||
static {
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ import mage.MageInt;
|
|||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.common.cost.SpellsCostReductionEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||
|
||||
/**
|
||||
|
|
@ -44,7 +44,7 @@ import mage.filter.predicate.mageobject.SubtypePredicate;
|
|||
*/
|
||||
public class DragonspeakerShaman extends CardImpl<DragonspeakerShaman> {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("Dragon spells");
|
||||
private static final FilterSpell filter = new FilterSpell("Dragon spells");
|
||||
|
||||
static {
|
||||
filter.add(new SubtypePredicate("Dragon"));
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ import mage.abilities.effects.common.continious.GainAbilityControlledEffect;
|
|||
import mage.abilities.effects.common.cost.SpellsCostReductionEffect;
|
||||
import mage.abilities.keyword.HasteAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||
|
||||
|
|
@ -48,7 +48,7 @@ import mage.filter.predicate.mageobject.SubtypePredicate;
|
|||
*/
|
||||
public class GoblinWarchief extends CardImpl<GoblinWarchief> {
|
||||
|
||||
private static final FilterCard filterSpells = new FilterCard("Goblin spells");
|
||||
private static final FilterSpell filterSpells = new FilterSpell("Goblin spells");
|
||||
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Goblins");
|
||||
|
||||
static {
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ import mage.abilities.costs.mana.ManaCostsImpl;
|
|||
import mage.abilities.effects.common.RegenerateTargetEffect;
|
||||
import mage.abilities.effects.common.cost.SpellsCostReductionEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||
import mage.target.Target;
|
||||
|
|
@ -50,7 +50,7 @@ import mage.target.common.TargetCreaturePermanent;
|
|||
*/
|
||||
public class KrosanWarchief extends CardImpl<KrosanWarchief> {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("Beast spells");
|
||||
private static final FilterSpell filter = new FilterSpell("Beast spells");
|
||||
private static final FilterCreaturePermanent filterTarget = new FilterCreaturePermanent("Beast");
|
||||
|
||||
static {
|
||||
|
|
|
|||
|
|
@ -35,13 +35,18 @@ import mage.MageInt;
|
|||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.common.cost.SpellsCostReductionEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.common.FilterArtifactCard;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author North
|
||||
*/
|
||||
public class EtheriumSculptor extends CardImpl<EtheriumSculptor> {
|
||||
private static final FilterSpell filter = new FilterSpell("Artifact spells");
|
||||
static {
|
||||
filter.add(new CardTypePredicate(CardType.ARTIFACT));
|
||||
}
|
||||
|
||||
public EtheriumSculptor(UUID ownerId) {
|
||||
super(ownerId, 42, "Etherium Sculptor", Rarity.COMMON, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{1}{U}");
|
||||
|
|
@ -54,7 +59,7 @@ public class EtheriumSculptor extends CardImpl<EtheriumSculptor> {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Artifact spells you cast cost {1} less to cast.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostReductionEffect(new FilterArtifactCard("Artifact spells"), 1)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostReductionEffect(filter, 1)));
|
||||
}
|
||||
|
||||
public EtheriumSculptor(final EtheriumSculptor card) {
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ import mage.ObjectColor;
|
|||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.common.cost.SpellsCostReductionEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||
|
||||
/**
|
||||
|
|
@ -43,7 +43,7 @@ import mage.filter.predicate.mageobject.ColorPredicate;
|
|||
*/
|
||||
public class EmeraldMedallion extends CardImpl<EmeraldMedallion> {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("Green spells");
|
||||
private static final FilterSpell filter = new FilterSpell("Green spells");
|
||||
|
||||
static {
|
||||
filter.add(new ColorPredicate(ObjectColor.GREEN));
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ import mage.ObjectColor;
|
|||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.common.cost.SpellsCostReductionEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||
|
||||
/**
|
||||
|
|
@ -43,7 +43,7 @@ import mage.filter.predicate.mageobject.ColorPredicate;
|
|||
*/
|
||||
public class JetMedallion extends CardImpl<JetMedallion> {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("Black spells");
|
||||
private static final FilterSpell filter = new FilterSpell("Black spells");
|
||||
|
||||
static {
|
||||
filter.add(new ColorPredicate(ObjectColor.BLACK));
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ import mage.ObjectColor;
|
|||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.common.cost.SpellsCostReductionEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||
|
||||
/**
|
||||
|
|
@ -43,7 +43,7 @@ import mage.filter.predicate.mageobject.ColorPredicate;
|
|||
*/
|
||||
public class PearlMedallion extends CardImpl<PearlMedallion> {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("White spells");
|
||||
private static final FilterSpell filter = new FilterSpell("White spells");
|
||||
|
||||
static {
|
||||
filter.add(new ColorPredicate(ObjectColor.WHITE));
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ import mage.ObjectColor;
|
|||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.common.cost.SpellsCostReductionEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||
|
||||
/**
|
||||
|
|
@ -43,7 +43,7 @@ import mage.filter.predicate.mageobject.ColorPredicate;
|
|||
*/
|
||||
public class RubyMedallion extends CardImpl<RubyMedallion> {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("Red spells");
|
||||
private static final FilterSpell filter = new FilterSpell("Red spells");
|
||||
|
||||
static {
|
||||
filter.add(new ColorPredicate(ObjectColor.RED));
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ import mage.ObjectColor;
|
|||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.common.cost.SpellsCostReductionEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||
|
||||
/**
|
||||
|
|
@ -43,7 +43,7 @@ import mage.filter.predicate.mageobject.ColorPredicate;
|
|||
*/
|
||||
public class SapphireMedallion extends CardImpl<SapphireMedallion> {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("Blue spells");
|
||||
private static final FilterSpell filter = new FilterSpell("Blue spells");
|
||||
|
||||
static {
|
||||
filter.add(new ColorPredicate(ObjectColor.BLUE));
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ import mage.abilities.common.SimpleStaticAbility;
|
|||
import mage.abilities.effects.common.cost.SpellsCostReductionEffect;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.predicate.Predicates;
|
||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||
|
||||
|
|
@ -47,7 +47,7 @@ import mage.filter.predicate.mageobject.ColorPredicate;
|
|||
*/
|
||||
public class StormscapeFamiliar extends CardImpl<StormscapeFamiliar> {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("White spells and black spells");
|
||||
private static final FilterSpell filter = new FilterSpell("White spells and black spells");
|
||||
|
||||
static {
|
||||
filter.add(Predicates.or(
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ import mage.abilities.costs.mana.ManaCostsImpl;
|
|||
import mage.abilities.effects.common.cost.SpellsCostReductionEffect;
|
||||
import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.common.FilterCreatureCard;
|
||||
import mage.filter.predicate.mageobject.ColorlessPredicate;
|
||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||
|
|
@ -53,7 +53,7 @@ import mage.target.common.TargetCardInLibrary;
|
|||
public class EyeOfUgin extends CardImpl<EyeOfUgin> {
|
||||
|
||||
private static final FilterCreatureCard filter = new FilterCreatureCard();
|
||||
private static final FilterCard filterSpells = new FilterCard("Colorless Eldrazi spells");
|
||||
private static final FilterSpell filterSpells = new FilterSpell("Colorless Eldrazi spells");
|
||||
|
||||
static {
|
||||
filter.add(new ColorlessPredicate());
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue