Remove use of card classes for duplicate cards. Remove set related information from being tied to card classes.

This commit is contained in:
JOAC69 2016-09-01 23:33:59 -05:00
parent 3c2189e7a1
commit e8230946af
32 changed files with 356 additions and 155 deletions

View file

@ -43,7 +43,7 @@ public class CommanderAnthology extends ExpansionSet {
}
private CommanderAnthology() {
super("Commander Anthology", "CMA", "mage.sets.commanderanthology", new GregorianCalendar(2017, 6, 9).getTime(), SetType.SUPPLEMENTAL);
super("Commander Anthology", "CMA2", "mage.sets.commanderanthology", new GregorianCalendar(2017, 6, 9).getTime(), SetType.SUPPLEMENTAL);
this.blockName = "Commander Anthology";
this.hasBasicLands = false;
}

View file

@ -27,7 +27,6 @@
*/
package mage.sets.eldritchmoon;
import java.util.UUID;
import mage.MageInt;
import mage.MageObject;
import mage.abilities.Ability;
@ -37,26 +36,28 @@ import mage.abilities.keyword.FirstStrikeAbility;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.LifelinkAbility;
import mage.abilities.keyword.VigilanceAbility;
import mage.cards.CardSetInfo;
import mage.cards.MeldCard;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Outcome;
import mage.constants.Rarity;
import mage.constants.Zone;
import mage.constants.*;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
import mage.game.stack.Spell;
import java.util.UUID;
/**
*
* @author LevelX2
*/
public class BriselaVoiceOfNightmares extends MeldCard {
// TODO: EJM - Remove this
public BriselaVoiceOfNightmares(UUID ownerId) {
super(ownerId, 15, "Brisela, Voice of Nightmares", Rarity.MYTHIC, new CardType[]{CardType.CREATURE}, "");
this.expansionSetCode = "EMN";
this(ownerId, new CardSetInfo("Brisela, Voice of Nightmares", "EMN", "15", Rarity.MYTHIC));
}
public BriselaVoiceOfNightmares(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "");
this.supertype.add("Legendary");
this.subtype.add("Eldrazi");
this.subtype.add("Angel");

View file

@ -27,7 +27,6 @@
*/
package mage.sets.eldritchmoon;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
@ -36,21 +35,27 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect;
import mage.abilities.effects.common.continuous.GainAbilityAllEffect;
import mage.abilities.keyword.HasteAbility;
import mage.abilities.keyword.MenaceAbility;
import mage.cards.CardSetInfo;
import mage.cards.MeldCard;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Rarity;
import mage.filter.common.FilterControlledCreaturePermanent;
import java.util.UUID;
/**
*
* @author LevelX2
*/
public class ChitteringHost extends MeldCard {
// TODO: EJM - Remove this
public ChitteringHost(UUID ownerId) {
super(ownerId, 96, "Chittering Host", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "");
this.expansionSetCode = "EMN";
this(ownerId, new CardSetInfo("Chittering Host", "EMN", "96", Rarity.COMMON));
}
public ChitteringHost(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "");
this.subtype.add("Eldrazi");
this.subtype.add("Horror");
this.power = new MageInt(5);

View file

@ -37,6 +37,7 @@ import mage.abilities.keyword.FirstStrikeAbility;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.LifelinkAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.TargetController;
@ -67,7 +68,10 @@ public class GiselaTheBrokenBlade extends CardImpl {
// At the beginning of your end step, if you both own and control Gisela, the Broken Blade and a creature named Bruna, the Fading Light, exile them, then meld them into Brisela, Voice of Nightmares.
this.addAbility(new ConditionalTriggeredAbility(
new BeginningOfEndStepTriggeredAbility(new MeldEffect("Bruna, the Fading Light", new BriselaVoiceOfNightmares(ownerId)), TargetController.YOU, false),
new BeginningOfEndStepTriggeredAbility(
new MeldEffect("Bruna, the Fading Light",
new BriselaVoiceOfNightmares(ownerId,
new CardSetInfo("Brisela, Voice of Nightmares", "EMN", "15", Rarity.MYTHIC))), TargetController.YOU, false),
new MeldCondition("Bruna, the Fading Light"),
"At the beginning of your end step, if you both own and control {this} and a creature named Bruna, the Fading Light, exile them, "
+ "then meld them into Brisela, Voice of Nightmares."));

View file

@ -34,6 +34,7 @@ import mage.abilities.condition.common.MeldCondition;
import mage.abilities.decorator.ConditionalTriggeredAbility;
import mage.abilities.effects.common.MeldEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.TargetController;
@ -54,7 +55,7 @@ public class GrafRats extends CardImpl {
// At the beginning of combat on your turn, if you both own and control Graf Rats and a creature named Midnight Scavengers, exile them, then meld them into Chittering Host.
this.addAbility(new ConditionalTriggeredAbility(
new BeginningOfCombatTriggeredAbility(new MeldEffect("Midnight Scavengers", new ChitteringHost(ownerId)), TargetController.YOU, false),
new BeginningOfCombatTriggeredAbility(new MeldEffect("Midnight Scavengers", new ChitteringHost(ownerId, new CardSetInfo("Chittering Host", "EMN", "96", Rarity.COMMON))), TargetController.YOU, false),
new MeldCondition("Midnight Scavengers"),
"At the beginning of combat on your turn, if you both own and control {this} and a creature named Midnight Scavengers, exile them, then meld them into Chittering Host."));
}

View file

@ -27,7 +27,6 @@
*/
package mage.sets.eldritchmoon;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.common.MeldCondition;
@ -39,12 +38,15 @@ import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
import mage.abilities.keyword.HasteAbility;
import mage.abilities.mana.ColorlessManaAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Rarity;
import mage.constants.Zone;
import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/**
*
* @author LevelX2
@ -64,7 +66,9 @@ public class HanweirBattlements extends CardImpl {
this.addAbility(ability);
// {3}{R}{R},{T}: If you both own and control Hanweir Battlements and a creature named Hanweir Garrison, exile them, then meld them into Hanweir, the Writhing Township.
ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD, new MeldEffect("Hanweir Garrison", new HanweirTheWrithingTownship(ownerId)),
ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD,
new MeldEffect("Hanweir Garrison",
new HanweirTheWrithingTownship(ownerId, new CardSetInfo("Hanweir, the Writhing Township", "EMN", "130", Rarity.RARE))),
new ManaCostsImpl("{3}{R}{R}"), new MeldCondition("Hanweir Garrison"),
"{3}{R}{R}, {T}: If you both own and control {this} and a creature named Hanweir Garrison, exile them, then meld them into Hanweir, the Writhing Township.");
ability.addCost(new TapSourceCost());

View file

@ -27,26 +27,31 @@
*/
package mage.sets.eldritchmoon;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.AttacksTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.keyword.HasteAbility;
import mage.abilities.keyword.TrampleAbility;
import mage.cards.CardSetInfo;
import mage.cards.MeldCard;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.game.permanent.token.EldraziHorrorToken;
import java.util.UUID;
/**
*
* @author LevelX2
*/
public class HanweirTheWrithingTownship extends MeldCard {
// TODO: EJM - Remove this
public HanweirTheWrithingTownship(UUID ownerId) {
super(ownerId, 130, "Hanweir, the Writhing Township", Rarity.RARE, new CardType[]{CardType.CREATURE}, "");
this.expansionSetCode = "EMN";
this(ownerId, new CardSetInfo("Hanweir, the Writhing Township", "EMN", "130", Rarity.RARE));
}
public HanweirTheWrithingTownship(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "");
this.supertype.add("Legendary");
this.subtype.add("Eldrazi");
this.subtype.add("Ooze");

View file

@ -28,35 +28,17 @@
package mage.sets.izzetvsgolgari;
import java.util.UUID;
import mage.abilities.common.DiesCreatureTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.TargetController;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.permanent.token.SaprolingToken;
/**
*
* @author markedagain
*/
public class GolgariGermination extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nontoken creature you control");
public class GolgariGermination extends mage.sets.ravnica.GolgariGermination {
static {
filter.add(new ControllerPredicate(TargetController.YOU));
filter.add(Predicates.not(new TokenPredicate()));
}
public GolgariGermination(UUID ownerId) {
super(ownerId, 70, "Golgari Germination", Rarity.UNCOMMON, new CardType[]{CardType.ENCHANTMENT}, "{1}{B}{G}");
super(ownerId);
this.cardNumber = "70";
this.expansionSetCode = "DDJ";
// Whenever a nontoken creature you control dies, put a 1/1 green Saproling creature token onto the battlefield.
this.addAbility(new DiesCreatureTriggeredAbility(new CreateTokenEffect(new SaprolingToken()),false,filter));
}
public GolgariGermination(final GolgariGermination card) {

View file

@ -29,11 +29,6 @@
package mage.sets.magic2010;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.MageInt;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
/**
*