mirror of
https://github.com/magefree/mage.git
synced 2026-01-25 20:59:14 -08:00
Merge remote-tracking branch 'fork/master'
This commit is contained in:
commit
f309717616
131 changed files with 1655 additions and 755 deletions
|
|
@ -27,7 +27,6 @@
|
|||
*/
|
||||
package mage.cards.a;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.AttacksTriggeredAbility;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
|
|
@ -41,6 +40,8 @@ import mage.cards.CardSetInfo;
|
|||
import mage.constants.CardType;
|
||||
import mage.game.permanent.token.ServoToken;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author fireshoes
|
||||
|
|
@ -62,7 +63,7 @@ public class AetherChaser extends CardImpl {
|
|||
this.addAbility(new EntersBattlefieldTriggeredAbility(new GetEnergyCountersControllerEffect(2)));
|
||||
|
||||
// Whenever Aether Chaser attacks, you may pay {E}{E}. If you do, create a 1/1 colorless Servo artifact creature token.
|
||||
this.addAbility(new AttacksTriggeredAbility(new DoIfCostPaid(new CreateTokenEffect(new ServoToken()), new PayEnergyCost(2)), false,
|
||||
this.addAbility(new AttacksTriggeredAbility(new DoIfCostPaid(new CreateTokenEffect(new ServoToken()), new PayEnergyCost(2)), true,
|
||||
"Whenever {this} attacks you may pay {E}{E}. If you do, create a 1/1 colorless Servo artifact creature token."));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -86,6 +86,10 @@ class AshlingsPrerogativeIncorrectOddityEffect extends PermanentsEnterBattlefiel
|
|||
super(creaturefilter);
|
||||
staticText = "Each creature without converted mana cost of the chosen value enters the battlefield tapped.";
|
||||
}
|
||||
|
||||
public AshlingsPrerogativeIncorrectOddityEffect(final AshlingsPrerogativeIncorrectOddityEffect effect) {
|
||||
super(effect);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean applies(GameEvent event, Ability source, Game game) {
|
||||
|
|
@ -101,6 +105,11 @@ class AshlingsPrerogativeIncorrectOddityEffect extends PermanentsEnterBattlefiel
|
|||
|
||||
return permanent != null && creaturefilter.match(permanent, game) && permanent.getConvertedManaCost() % 2 == incorrectModResult;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AshlingsPrerogativeIncorrectOddityEffect copy() {
|
||||
return new AshlingsPrerogativeIncorrectOddityEffect(this);
|
||||
}
|
||||
}
|
||||
|
||||
class AshlingsPrerogativeCorrectOddityEffect extends GainAbilityAllEffect {
|
||||
|
|
@ -112,6 +121,9 @@ class AshlingsPrerogativeCorrectOddityEffect extends GainAbilityAllEffect {
|
|||
super(HasteAbility.getInstance(), Duration.WhileOnBattlefield, creaturefilter);
|
||||
staticText = "Each creature with converted mana cost of the chosen value has haste.";
|
||||
}
|
||||
public AshlingsPrerogativeCorrectOddityEffect(final AshlingsPrerogativeCorrectOddityEffect effect) {
|
||||
super(effect);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean selectedByRuntimeData(Permanent permanent, Ability source, Game game) {
|
||||
|
|
@ -123,5 +135,9 @@ class AshlingsPrerogativeCorrectOddityEffect extends GainAbilityAllEffect {
|
|||
}
|
||||
return permanent != null && creaturefilter.match(permanent, game) && permanent.getConvertedManaCost() % 2 == correctModResult;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public AshlingsPrerogativeCorrectOddityEffect copy() {
|
||||
return new AshlingsPrerogativeCorrectOddityEffect(this);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ public class CanopyCover extends CardImpl {
|
|||
private static final FilterObject filter = new FilterStackObject("spells or abilities your opponents control");
|
||||
|
||||
public CanopyCover(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{G}");
|
||||
this.subtype.add("Aura");
|
||||
|
||||
// Enchant creature
|
||||
|
|
@ -70,7 +70,7 @@ public class CanopyCover extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Enchanted creature can't be blocked except by creatures with flying or reach. (!this is a static ability of the enchantment)
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new OrchardSpiritEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CanopyCoverEffect()));
|
||||
|
||||
// Enchanted creature can't be the target of spells or abilities your opponents control.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBeTargetedAttachedEffect(filter, Duration.WhileOnBattlefield, AttachmentType.AURA, TargetController.OPPONENT)));
|
||||
|
|
@ -86,14 +86,14 @@ public class CanopyCover extends CardImpl {
|
|||
}
|
||||
}
|
||||
|
||||
class OrchardSpiritEffect extends RestrictionEffect {
|
||||
class CanopyCoverEffect extends RestrictionEffect {
|
||||
|
||||
public OrchardSpiritEffect() {
|
||||
public CanopyCoverEffect() {
|
||||
super(Duration.WhileOnBattlefield);
|
||||
staticText = "Enchanted creature can't be blocked except by creatures with flying or reach";
|
||||
}
|
||||
|
||||
public OrchardSpiritEffect(final OrchardSpiritEffect effect) {
|
||||
public CanopyCoverEffect(final CanopyCoverEffect effect) {
|
||||
super(effect);
|
||||
}
|
||||
|
||||
|
|
@ -102,7 +102,7 @@ class OrchardSpiritEffect extends RestrictionEffect {
|
|||
Permanent equipment = game.getPermanent(source.getSourceId());
|
||||
if (equipment != null && equipment.getAttachedTo() != null) {
|
||||
Permanent equipped = game.getPermanent(equipment.getAttachedTo());
|
||||
if (permanent.getId().equals(equipped.getId())) {
|
||||
if (equipped != null && permanent.getId().equals(equipped.getId())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
@ -115,7 +115,7 @@ class OrchardSpiritEffect extends RestrictionEffect {
|
|||
}
|
||||
|
||||
@Override
|
||||
public OrchardSpiritEffect copy() {
|
||||
return new OrchardSpiritEffect(this);
|
||||
public CanopyCoverEffect copy() {
|
||||
return new CanopyCoverEffect(this);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ package mage.cards.c;
|
|||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
import mage.MageObject;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.LoyaltyAbility;
|
||||
|
|
@ -62,13 +63,12 @@ import mage.target.TargetPlayer;
|
|||
import mage.target.targetpointer.FixedTarget;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author jeffwadsworth
|
||||
*/
|
||||
public class ChandraPyromaster extends CardImpl {
|
||||
|
||||
public ChandraPyromaster(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{R}{R}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{R}{R}");
|
||||
this.subtype.add("Chandra");
|
||||
|
||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
||||
|
|
@ -211,9 +211,11 @@ class ChandraPyromasterEffect2 extends OneShotEffect {
|
|||
Card card = library.removeFromTop(game);
|
||||
if (card != null) {
|
||||
controller.moveCardToExileWithInfo(card, source.getSourceId(), sourceObject.getIdName() + " <this card may be played the turn it was exiled>", source.getSourceId(), game, Zone.LIBRARY, true);
|
||||
ContinuousEffect effect = new ChandraPyromasterCastFromExileEffect();
|
||||
effect.setTargetPointer(new FixedTarget(card.getId()));
|
||||
game.addEffect(effect, source);
|
||||
if (!card.getManaCost().isEmpty()) {
|
||||
ContinuousEffect effect = new ChandraPyromasterCastFromExileEffect();
|
||||
effect.setTargetPointer(new FixedTarget(card.getId()));
|
||||
game.addEffect(effect, source);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@
|
|||
package mage.cards.c;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import mage.MageObject;
|
||||
import mage.Mana;
|
||||
import mage.abilities.Ability;
|
||||
|
|
@ -57,7 +58,6 @@ import mage.target.common.TargetCreatureOrPlayer;
|
|||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author fireshoes
|
||||
*/
|
||||
public class ChandraTorchOfDefiance extends CardImpl {
|
||||
|
|
@ -120,17 +120,19 @@ class ChandraTorchOfDefianceEffect extends OneShotEffect {
|
|||
if (card != null) {
|
||||
boolean exiledCardWasCast = false;
|
||||
controller.moveCardToExileWithInfo(card, source.getSourceId(), sourceObject.getIdName(), source.getSourceId(), game, Zone.LIBRARY, true);
|
||||
if (controller.chooseUse(Outcome.Benefit, "Cast the card? (You still pay the costs)", source, game) && !card.getCardType().contains(CardType.LAND)) {
|
||||
if (!card.getManaCost().isEmpty())
|
||||
if (controller.chooseUse(Outcome.Benefit, "Cast the card? (You still pay the costs)", source, game) && !card.getCardType().contains(CardType.LAND)) {
|
||||
// LinkedHashMap<UUID, ActivatedAbility> useableAbilities = controller.getUseableActivatedAbilities(card, Zone.EXILED, game);
|
||||
// for (ActivatedAbility ability : useableAbilities.values()) {
|
||||
//
|
||||
// }
|
||||
// controller.activateAbility(useableAbilities, game);
|
||||
exiledCardWasCast = controller.cast(card.getSpellAbility(), game, false);
|
||||
}
|
||||
exiledCardWasCast = controller.cast(card.getSpellAbility(), game, false);
|
||||
}
|
||||
if (!exiledCardWasCast) {
|
||||
new DamagePlayersEffect(Outcome.Damage, new StaticValue(2), TargetController.OPPONENT).apply(game, source);
|
||||
}
|
||||
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
99
Mage.Sets/src/mage/cards/c/CoalhaulerSwine.java
Normal file
99
Mage.Sets/src/mage/cards/c/CoalhaulerSwine.java
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
/*
|
||||
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification, are
|
||||
* permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
* conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||
* provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* The views and conclusions contained in the software and documentation are those of the
|
||||
* authors and should not be interpreted as representing official policies, either expressed
|
||||
* or implied, of BetaSteward_at_googlemail.com.
|
||||
*/
|
||||
package mage.cards.c;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.DealtDamageToSourceTriggeredAbility;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.Zone;
|
||||
import mage.game.Game;
|
||||
import mage.players.Player;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author vereena42
|
||||
*/
|
||||
public class CoalhaulerSwine extends CardImpl {
|
||||
|
||||
public CoalhaulerSwine(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}{R}");
|
||||
|
||||
this.subtype.add("Boar");
|
||||
this.subtype.add("Beast");
|
||||
this.power = new MageInt(4);
|
||||
this.toughness = new MageInt(4);
|
||||
|
||||
// Whenever Coalhauler Swine is dealt damage, it deals that much damage to each player.
|
||||
this.addAbility(new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, new CoalhaulerSwineEffect(), false));
|
||||
}
|
||||
|
||||
public CoalhaulerSwine(final CoalhaulerSwine card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CoalhaulerSwine copy() {
|
||||
return new CoalhaulerSwine(this);
|
||||
}
|
||||
|
||||
class CoalhaulerSwineEffect extends OneShotEffect {
|
||||
|
||||
public CoalhaulerSwineEffect() {
|
||||
super(Outcome.Damage);
|
||||
staticText = "it deals that much damage to each player";
|
||||
}
|
||||
|
||||
public CoalhaulerSwineEffect(final CoalhaulerSwineEffect effect) {
|
||||
super(effect);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CoalhaulerSwineEffect copy() {
|
||||
return new CoalhaulerSwineEffect(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
for (UUID playerId : game.getPlayers().keySet()) {
|
||||
Player player = game.getPlayer(playerId);
|
||||
if(player != null) {
|
||||
player.damage((Integer) this.getValue("damage"), source.getSourceId(), game, false, true);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
112
Mage.Sets/src/mage/cards/d/DeathWatch.java
Normal file
112
Mage.Sets/src/mage/cards/d/DeathWatch.java
Normal file
|
|
@ -0,0 +1,112 @@
|
|||
/*
|
||||
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification, are
|
||||
* permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
* conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||
* provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* The views and conclusions contained in the software and documentation are those of the
|
||||
* authors and should not be interpreted as representing official policies, either expressed
|
||||
* or implied, of BetaSteward_at_googlemail.com.
|
||||
*/
|
||||
package mage.cards.d;
|
||||
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.DiesAttachedTriggeredAbility;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.AttachEffect;
|
||||
import mage.abilities.keyword.EnchantAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
import mage.target.TargetPermanent;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author vereena42
|
||||
*/
|
||||
public class DeathWatch extends CardImpl {
|
||||
|
||||
public DeathWatch(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{B}");
|
||||
|
||||
this.subtype.add("Aura");
|
||||
|
||||
// Enchant creature
|
||||
TargetPermanent auraTarget = new TargetCreaturePermanent();
|
||||
this.getSpellAbility().addTarget(auraTarget);
|
||||
this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature));
|
||||
Ability ability = new EnchantAbility(auraTarget.getTargetName());
|
||||
this.addAbility(ability);
|
||||
|
||||
// When enchanted creature dies, its controller loses life equal to its power and you gain life equal to its toughness.
|
||||
this.addAbility( new DiesAttachedTriggeredAbility(new DeathWatchEffect(), "enchanted creature"));
|
||||
}
|
||||
|
||||
public DeathWatch(final DeathWatch card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DeathWatch copy() {
|
||||
return new DeathWatch(this);
|
||||
}
|
||||
|
||||
class DeathWatchEffect extends OneShotEffect {
|
||||
|
||||
public DeathWatchEffect() {
|
||||
super(Outcome.LoseLife);
|
||||
staticText = "that creature's controller loses life equal to its power and you gain life equal to its toughness.";
|
||||
}
|
||||
|
||||
public DeathWatchEffect(DeathWatchEffect copy) {
|
||||
super(copy);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DeathWatchEffect copy() {
|
||||
return new DeathWatchEffect(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
Permanent creature = (Permanent) getValue("attachedTo");
|
||||
if(creature != null){
|
||||
Player opponent = game.getPlayer(creature.getOwnerId());
|
||||
if (opponent != null) {
|
||||
Player controller = game.getPlayer(source.getControllerId());
|
||||
if (controller != null) {
|
||||
controller.gainLife(creature.getToughness().getValue(), game);
|
||||
opponent.loseLife(creature.getPower().getValue(), game, false);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -29,23 +29,28 @@ package mage.cards.d;
|
|||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.MageObject;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.abilities.effects.ContinuousEffectImpl;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.CopyEffect;
|
||||
import mage.cards.Card;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.cards.Cards;
|
||||
import mage.cards.CardsImpl;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Layer;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SubLayer;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.common.FilterCreatureCard;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.game.permanent.PermanentCard;
|
||||
import mage.players.Player;
|
||||
import mage.target.common.TargetCardInGraveyard;
|
||||
import mage.util.functions.ApplyToPermanent;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -54,7 +59,7 @@ import mage.target.common.TargetCardInGraveyard;
|
|||
public class DimirDoppelganger extends CardImpl {
|
||||
|
||||
public DimirDoppelganger(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{B}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}{B}");
|
||||
this.subtype.add("Shapeshifter");
|
||||
|
||||
this.power = new MageInt(0);
|
||||
|
|
@ -77,14 +82,14 @@ public class DimirDoppelganger extends CardImpl {
|
|||
}
|
||||
}
|
||||
|
||||
class DimirDoppelgangerEffect extends ContinuousEffectImpl {
|
||||
class DimirDoppelgangerEffect extends OneShotEffect {
|
||||
|
||||
public DimirDoppelgangerEffect() {
|
||||
super(Duration.WhileOnBattlefield, Layer.CopyEffects_1, SubLayer.NA, Outcome.BecomeCreature);
|
||||
DimirDoppelgangerEffect() {
|
||||
super(Outcome.Copy);
|
||||
staticText = "Exile target creature card from a graveyard. {this} becomes a copy of that card and gains this ability";
|
||||
}
|
||||
|
||||
public DimirDoppelgangerEffect(final DimirDoppelgangerEffect effect) {
|
||||
DimirDoppelgangerEffect(final DimirDoppelgangerEffect effect) {
|
||||
super(effect);
|
||||
}
|
||||
|
||||
|
|
@ -95,49 +100,48 @@ class DimirDoppelgangerEffect extends ContinuousEffectImpl {
|
|||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
Card card = game.getCard(source.getFirstTarget());
|
||||
Permanent permanent = game.getPermanent(source.getSourceId());
|
||||
if (card == null || permanent == null) {
|
||||
return false;
|
||||
}
|
||||
card.moveToExile(null, "Dimir Doppelganger", source.getSourceId(), game);
|
||||
Card cardToCopy = card.copy();
|
||||
cardToCopy.assignNewId();
|
||||
permanent.setName(cardToCopy.getName());
|
||||
permanent.getPower().setValue(cardToCopy.getPower().getValue());
|
||||
permanent.getToughness().setValue(cardToCopy.getToughness().getValue());
|
||||
permanent.getColor(game).setColor(cardToCopy.getColor(game));
|
||||
permanent.getManaCost().clear();
|
||||
permanent.getManaCost().add(cardToCopy.getManaCost());
|
||||
permanent.getCardType().clear();
|
||||
for (CardType type : cardToCopy.getCardType()) {
|
||||
if (!permanent.getCardType().contains(type)) {
|
||||
permanent.getCardType().add(type);
|
||||
Player controller = game.getPlayer(source.getControllerId());
|
||||
Permanent dimirDoppelganger = game.getPermanent(source.getSourceId());
|
||||
Permanent newBluePrint = null;
|
||||
if (controller != null
|
||||
&& dimirDoppelganger != null) {
|
||||
Card copyFromCard = game.getCard(source.getFirstTarget());
|
||||
if (copyFromCard != null) {
|
||||
Cards cardsToExile = new CardsImpl();
|
||||
cardsToExile.add(copyFromCard);
|
||||
controller.moveCards(cardsToExile, Zone.EXILED, source, game);
|
||||
newBluePrint = new PermanentCard((Card) copyFromCard, source.getControllerId(), game);
|
||||
newBluePrint.assignNewId();
|
||||
ApplyToPermanent applier = new DimirDoppelgangerApplier();
|
||||
applier.apply(game, newBluePrint);
|
||||
CopyEffect copyEffect = new CopyEffect(Duration.Custom, newBluePrint, dimirDoppelganger.getId());
|
||||
copyEffect.newId();
|
||||
copyEffect.setApplier(applier);
|
||||
Ability newAbility = source.copy();
|
||||
copyEffect.init(newAbility, game);
|
||||
game.addEffect(copyEffect, newAbility);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
permanent.getSubtype(game).clear();
|
||||
for (String type : cardToCopy.getSubtype(game)) {
|
||||
if (!permanent.getSubtype(game).contains(type)) {
|
||||
permanent.getSubtype(game).add(type);
|
||||
}
|
||||
}
|
||||
permanent.getSupertype().clear();
|
||||
for (String type : cardToCopy.getSupertype()) {
|
||||
if (!permanent.getSupertype().contains(type)) {
|
||||
permanent.getSupertype().add(type);
|
||||
}
|
||||
}
|
||||
permanent.removeAllAbilities(source.getSourceId(), game);
|
||||
// gains ability of Dimir Doppelganger
|
||||
Ability dimirDoppelgangerAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DimirDoppelgangerEffect(), new ManaCostsImpl("{1}{U}{B}"));
|
||||
dimirDoppelgangerAbility.addTarget(new TargetCardInGraveyard(new FilterCreatureCard("creature card in a graveyard")));
|
||||
permanent.addAbility(dimirDoppelgangerAbility, source.getSourceId(), game);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
for (Ability ability : cardToCopy.getAbilities()) {
|
||||
if (!permanent.getAbilities().contains(ability)) {
|
||||
permanent.addAbility(ability, source.getSourceId(), game);
|
||||
}
|
||||
}
|
||||
class DimirDoppelgangerApplier extends ApplyToPermanent {
|
||||
|
||||
@Override
|
||||
public Boolean apply(Game game, Permanent permanent) {
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DimirDoppelgangerEffect(), new ManaCostsImpl("{1}{U}{B}"));
|
||||
ability.addTarget(new TargetCardInGraveyard(new FilterCreatureCard("creature card in a graveyard")));
|
||||
permanent.getAbilities().add(ability);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean apply(Game game, MageObject mageObject) {
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DimirDoppelgangerEffect(), new ManaCostsImpl("{1}{U}{B}"));
|
||||
ability.addTarget(new TargetCardInGraveyard(new FilterCreatureCard("creature card in a graveyard")));
|
||||
mageObject.getAbilities().add(ability);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ class EssenceFluxEffect extends OneShotEffect {
|
|||
|
||||
EssenceFluxEffect() {
|
||||
super(Outcome.Benefit);
|
||||
staticText = "return that card to the battlefield under its owner's control";
|
||||
staticText = "return that card to the battlefield under its owner's control. If it's a Spirit, put a +1/+1 counter on it";
|
||||
}
|
||||
|
||||
EssenceFluxEffect(final EssenceFluxEffect effect) {
|
||||
|
|
|
|||
|
|
@ -29,24 +29,27 @@ package mage.cards.l;
|
|||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.MageObject;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.PutCardIntoGraveFromAnywhereAllTriggeredAbility;
|
||||
import mage.abilities.effects.ContinuousEffectImpl;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.CopyEffect;
|
||||
import mage.abilities.keyword.HexproofAbility;
|
||||
import mage.cards.Card;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Layer;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SetTargetPointer;
|
||||
import mage.constants.SubLayer;
|
||||
import mage.constants.TargetController;
|
||||
import mage.filter.common.FilterCreatureCard;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.game.permanent.PermanentCard;
|
||||
import mage.players.Player;
|
||||
import mage.target.targetpointer.FixedTarget;
|
||||
import mage.util.functions.ApplyToPermanent;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -67,7 +70,7 @@ public class LazavDimirMastermind extends CardImpl {
|
|||
|
||||
// Whenever a creature card is put into an opponent's graveyard from anywhere, you may have Lazav, Dimir Mastermind become a copy of that card except its name is still Lazav, Dimir Mastermind, it's legendary in addition to its other types, and it gains hexproof and this ability.
|
||||
this.addAbility(new PutCardIntoGraveFromAnywhereAllTriggeredAbility(
|
||||
new LazavDimirEffect(), true,
|
||||
new LazavDimirMastermindEffect(), true,
|
||||
new FilterCreatureCard("a creature card"),
|
||||
TargetController.OPPONENT, SetTargetPointer.CARD));
|
||||
}
|
||||
|
|
@ -82,80 +85,73 @@ public class LazavDimirMastermind extends CardImpl {
|
|||
}
|
||||
}
|
||||
|
||||
class LazavDimirEffect extends ContinuousEffectImpl {
|
||||
class LazavDimirMastermindEffect extends OneShotEffect {
|
||||
|
||||
protected Card cardToCopy;
|
||||
|
||||
public LazavDimirEffect() {
|
||||
super(Duration.WhileOnBattlefield, Layer.CopyEffects_1, SubLayer.NA, Outcome.BecomeCreature);
|
||||
staticText = "have {this} become a copy of that card except its name is still {this}, it's legendary in addition to its other types, and it gains hexproof and this ability";
|
||||
LazavDimirMastermindEffect() {
|
||||
super(Outcome.Copy);
|
||||
staticText = "you may have {this} become a copy of that card except its name is still {this}, it's legendary in addition to its other types, and it gains hexproof and this ability";
|
||||
}
|
||||
|
||||
public LazavDimirEffect(final LazavDimirEffect effect) {
|
||||
LazavDimirMastermindEffect(final LazavDimirMastermindEffect effect) {
|
||||
super(effect);
|
||||
this.cardToCopy = effect.cardToCopy;
|
||||
}
|
||||
|
||||
@Override
|
||||
public LazavDimirEffect copy() {
|
||||
return new LazavDimirEffect(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(Ability source, Game game) {
|
||||
super.init(source, game);
|
||||
Card card = game.getCard(((FixedTarget) getTargetPointer()).getTarget());
|
||||
if (card != null) {
|
||||
cardToCopy = card.copy();
|
||||
cardToCopy.assignNewId();
|
||||
} else {
|
||||
discard();
|
||||
}
|
||||
public LazavDimirMastermindEffect copy() {
|
||||
return new LazavDimirMastermindEffect(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
Permanent permanent = game.getPermanent(source.getSourceId());
|
||||
if (permanent == null) {
|
||||
discard();
|
||||
Player controller = game.getPlayer(source.getControllerId());
|
||||
Permanent lazavDimirMastermind = game.getPermanent(source.getSourceId());
|
||||
Permanent newBluePrint = null;
|
||||
if (controller != null
|
||||
&& lazavDimirMastermind != null) {
|
||||
Card copyFromCard = game.getCard(((FixedTarget) getTargetPointer()).getTarget());
|
||||
if (copyFromCard != null) {
|
||||
newBluePrint = new PermanentCard((Card) copyFromCard, source.getControllerId(), game);
|
||||
newBluePrint.assignNewId();
|
||||
ApplyToPermanent applier = new LazavDimirMastermindApplier();
|
||||
applier.apply(game, newBluePrint);
|
||||
CopyEffect copyEffect = new CopyEffect(Duration.Custom, newBluePrint, lazavDimirMastermind.getId());
|
||||
copyEffect.newId();
|
||||
copyEffect.setApplier(applier);
|
||||
Ability newAbility = source.copy();
|
||||
copyEffect.init(newAbility, game);
|
||||
game.addEffect(copyEffect, newAbility);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
permanent.getPower().setValue(cardToCopy.getPower().getValue());
|
||||
permanent.getToughness().setValue(cardToCopy.getToughness().getValue());
|
||||
permanent.getColor(game).setColor(cardToCopy.getColor(game));
|
||||
permanent.getManaCost().clear();
|
||||
permanent.getManaCost().add(cardToCopy.getManaCost());
|
||||
permanent.getCardType().clear();
|
||||
for (CardType type : cardToCopy.getCardType()) {
|
||||
if (!permanent.getCardType().contains(type)) {
|
||||
permanent.getCardType().add(type);
|
||||
}
|
||||
}
|
||||
permanent.getSubtype(game).clear();
|
||||
for (String type : cardToCopy.getSubtype(game)) {
|
||||
if (!permanent.getSubtype(game).contains(type)) {
|
||||
permanent.getSubtype(game).add(type);
|
||||
}
|
||||
}
|
||||
permanent.getSupertype().clear();
|
||||
permanent.getSupertype().add("Legendary");
|
||||
for (String type : cardToCopy.getSupertype()) {
|
||||
if (!permanent.getSupertype().contains(type)) {
|
||||
permanent.getSupertype().add(type);
|
||||
}
|
||||
}
|
||||
permanent.removeAllAbilities(source.getSourceId(), game);
|
||||
permanent.addAbility(HexproofAbility.getInstance(), source.getSourceId(), game);
|
||||
permanent.addAbility(new PutCardIntoGraveFromAnywhereAllTriggeredAbility(
|
||||
new LazavDimirEffect(), true,
|
||||
new FilterCreatureCard("a creature card"),
|
||||
TargetController.OPPONENT, SetTargetPointer.CARD), source.getSourceId(), game);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
for (Ability ability : cardToCopy.getAbilities()) {
|
||||
if (!permanent.getAbilities().contains(ability)) {
|
||||
permanent.addAbility(ability, source.getSourceId(), game);
|
||||
}
|
||||
}
|
||||
class LazavDimirMastermindApplier extends ApplyToPermanent {
|
||||
|
||||
@Override
|
||||
public Boolean apply(Game game, Permanent permanent) {
|
||||
Ability ability = new PutCardIntoGraveFromAnywhereAllTriggeredAbility(
|
||||
new LazavDimirMastermindEffect(), true,
|
||||
new FilterCreatureCard("a creature card"),
|
||||
TargetController.OPPONENT, SetTargetPointer.CARD);
|
||||
permanent.getAbilities().add(ability);
|
||||
permanent.setName("Lazav, Dimir Mastermind");
|
||||
permanent.getSupertype().add("Legendary");
|
||||
permanent.getAbilities().add(HexproofAbility.getInstance());
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean apply(Game game, MageObject mageObject) {
|
||||
Ability ability = new PutCardIntoGraveFromAnywhereAllTriggeredAbility(
|
||||
new LazavDimirMastermindEffect(), true,
|
||||
new FilterCreatureCard("a creature card"),
|
||||
TargetController.OPPONENT, SetTargetPointer.CARD);
|
||||
mageObject.getAbilities().add(ability);
|
||||
mageObject.setName("Lazav, Dimir Mastermind");
|
||||
mageObject.getSupertype().add("Legendary");
|
||||
mageObject.getAbilities().add(HexproofAbility.getInstance());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
133
Mage.Sets/src/mage/cards/m/MenacingOgre.java
Normal file
133
Mage.Sets/src/mage/cards/m/MenacingOgre.java
Normal file
|
|
@ -0,0 +1,133 @@
|
|||
/*
|
||||
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification, are
|
||||
* permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
* conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||
* provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* The views and conclusions contained in the software and documentation are those of the
|
||||
* authors and should not be interpreted as representing official policies, either expressed
|
||||
* or implied, of BetaSteward_at_googlemail.com.
|
||||
*/
|
||||
package mage.cards.m;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.keyword.TrampleAbility;
|
||||
import mage.abilities.keyword.HasteAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.counters.CounterType;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author jeffwadsworth
|
||||
*/
|
||||
public class MenacingOgre extends CardImpl {
|
||||
|
||||
public MenacingOgre(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{R}");
|
||||
|
||||
this.subtype.add("Ogre");
|
||||
this.power = new MageInt(3);
|
||||
this.toughness = new MageInt(3);
|
||||
|
||||
// Trample
|
||||
this.addAbility(TrampleAbility.getInstance());
|
||||
|
||||
// Haste
|
||||
this.addAbility(HasteAbility.getInstance());
|
||||
|
||||
// When Menacing Ogre enters the battlefield, each player secretly chooses a number. Then those numbers are revealed. Each player with the highest number loses that much life. If you are one of those players, put two +1/+1 counters on Menacing Ogre.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new MenacingOgreEffect(), false));
|
||||
|
||||
}
|
||||
|
||||
public MenacingOgre(final MenacingOgre card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenacingOgre copy() {
|
||||
return new MenacingOgre(this);
|
||||
}
|
||||
}
|
||||
|
||||
class MenacingOgreEffect extends OneShotEffect {
|
||||
|
||||
public MenacingOgreEffect() {
|
||||
super(Outcome.Detriment);
|
||||
this.staticText = "each player secretly chooses a number. Then those numbers are revealed. Each player with the highest number loses that much life. If you are one of those players, put two +1/+1 counters on {this}";
|
||||
}
|
||||
|
||||
public MenacingOgreEffect(final MenacingOgreEffect effect) {
|
||||
super(effect);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenacingOgreEffect copy() {
|
||||
return new MenacingOgreEffect(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
int highestNumber = 0;
|
||||
int number = 0;
|
||||
Permanent menacingOgre = game.getPermanent(source.getSourceId());
|
||||
String message = "Choose a number.";
|
||||
HashMap<Player, Integer> numberChosen = new HashMap<>();
|
||||
|
||||
//players choose numbers
|
||||
for (Player player : game.getPlayers().values()) {
|
||||
if (player != null) {
|
||||
number = player.getAmount(0, 1000, message, game);
|
||||
numberChosen.put(player, number);
|
||||
}
|
||||
}
|
||||
//get highest number
|
||||
for (Player player : numberChosen.keySet()) {
|
||||
if (highestNumber < numberChosen.get(player)) {
|
||||
highestNumber = numberChosen.get(player);
|
||||
}
|
||||
}
|
||||
//reveal numbers to players and follow through with effect
|
||||
for (Player player : game.getPlayers().values()) {
|
||||
if (player != null) {
|
||||
game.informPlayers(player.getLogName() + " chose number " + numberChosen.get(player));
|
||||
if (numberChosen.get(player) >= highestNumber) {
|
||||
player.loseLife(highestNumber, game, false);
|
||||
if (player.getId() == source.getControllerId()
|
||||
&& menacingOgre != null) {
|
||||
menacingOgre.addCounters(CounterType.P1P1.createInstance(2), source, game);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
64
Mage.Sets/src/mage/cards/m/MistformUltimus.java
Normal file
64
Mage.Sets/src/mage/cards/m/MistformUltimus.java
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
/*
|
||||
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification, are
|
||||
* permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
* conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||
* provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* The views and conclusions contained in the software and documentation are those of the
|
||||
* authors and should not be interpreted as representing official policies, either expressed
|
||||
* or implied, of BetaSteward_at_googlemail.com.
|
||||
*/
|
||||
package mage.cards.m;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.keyword.ChangelingAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author vereena42
|
||||
*/
|
||||
public class MistformUltimus extends CardImpl {
|
||||
|
||||
public MistformUltimus(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}");
|
||||
|
||||
this.supertype.add("Legendary");
|
||||
this.subtype.add("Illusion");
|
||||
this.power = new MageInt(3);
|
||||
this.toughness = new MageInt(3);
|
||||
|
||||
// Mistform Ultimus is every creature type.
|
||||
this.subtype.add(ChangelingAbility.ALL_CREATURE_TYPE); // "All Creature Type"
|
||||
}
|
||||
|
||||
public MistformUltimus(final MistformUltimus card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MistformUltimus copy() {
|
||||
return new MistformUltimus(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -31,12 +31,15 @@ import java.util.HashSet;
|
|||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.ActivatedAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.ContinuousEffect;
|
||||
import mage.abilities.effects.ContinuousEffectImpl;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.cards.Card;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
|
@ -119,17 +122,11 @@ public class NecroticOoze extends CardImpl {
|
|||
@Override
|
||||
public Set<UUID> isDependentTo(List<ContinuousEffect> allEffectsInLayer) {
|
||||
// the dependent classes needs to be an enclosed class for dependent check of continuous effects
|
||||
Set<UUID> dependentTo = null;
|
||||
for (ContinuousEffect effect : allEffectsInLayer) {
|
||||
// http://www.mtgsalvation.com/forums/magic-fundamentals/magic-rulings/magic-rulings-archives/285211-yixlid-jailer-vs-necrotic-ooze
|
||||
if (YixlidJailer.class.equals(effect.getClass().getEnclosingClass())) {
|
||||
if (dependentTo == null) {
|
||||
dependentTo = new HashSet<>();
|
||||
}
|
||||
dependentTo.add(effect.getId());
|
||||
}
|
||||
}
|
||||
return dependentTo;
|
||||
return allEffectsInLayer.stream()
|
||||
.filter(effect -> YixlidJailer.class.equals(effect.getClass().getEnclosingClass()))
|
||||
.map(Effect::getId)
|
||||
.collect(Collectors.toSet());
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -25,19 +25,17 @@
|
|||
* authors and should not be interpreted as representing official policies, either expressed
|
||||
* or implied, of BetaSteward_at_googlemail.com.
|
||||
*/
|
||||
|
||||
package mage.cards.o;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import mage.constants.CardType;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.LandfallAbility;
|
||||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||
import mage.abilities.effects.common.LoseLifeTargetEffect;
|
||||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.counters.CounterType;
|
||||
import mage.target.TargetPlayer;
|
||||
|
||||
|
|
@ -47,21 +45,23 @@ import mage.target.TargetPlayer;
|
|||
*/
|
||||
public class ObNixilisTheFallen extends CardImpl {
|
||||
|
||||
public ObNixilisTheFallen (UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}");
|
||||
public ObNixilisTheFallen(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}{B}");
|
||||
this.supertype.add("Legendary");
|
||||
this.subtype.add("Demon");
|
||||
|
||||
this.power = new MageInt(3);
|
||||
this.toughness = new MageInt(3);
|
||||
|
||||
// Landfall - Whenever a land enters the battlefield under your control, you may have target player lose 3 life.
|
||||
// If you do, put three +1/+1 counters on Ob Nixilis, the Fallen.
|
||||
Ability ability = new LandfallAbility(new LoseLifeTargetEffect(3), true);
|
||||
ability.addEffect(new AddCountersSourceEffect(CounterType.P1P1.createInstance(3)));
|
||||
ability.addTarget(new TargetPlayer());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
public ObNixilisTheFallen (final ObNixilisTheFallen card) {
|
||||
public ObNixilisTheFallen(final ObNixilisTheFallen card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -52,8 +52,7 @@ import mage.target.targetpointer.FixedTarget;
|
|||
public class PhyrexianTyranny extends CardImpl {
|
||||
|
||||
public PhyrexianTyranny(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}{B}{R}");
|
||||
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{U}{B}{R}");
|
||||
|
||||
// Whenever a player draws a card, that player loses 2 life unless he or she pays {2}.
|
||||
this.addAbility(new PhyrexianTyrannyTriggeredAbility());
|
||||
|
|
@ -70,15 +69,15 @@ public class PhyrexianTyranny extends CardImpl {
|
|||
}
|
||||
|
||||
class PhyrexianTyrannyTriggeredAbility extends TriggeredAbilityImpl {
|
||||
|
||||
|
||||
PhyrexianTyrannyTriggeredAbility() {
|
||||
super(Zone.BATTLEFIELD, new PhyrexianTyrannyEffect(), false);
|
||||
}
|
||||
|
||||
|
||||
PhyrexianTyrannyTriggeredAbility(final PhyrexianTyrannyTriggeredAbility ability) {
|
||||
super(ability);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public PhyrexianTyrannyTriggeredAbility copy() {
|
||||
return new PhyrexianTyrannyTriggeredAbility(this);
|
||||
|
|
@ -88,7 +87,7 @@ class PhyrexianTyrannyTriggeredAbility extends TriggeredAbilityImpl {
|
|||
public boolean checkEventType(GameEvent event, Game game) {
|
||||
return event.getType() == EventType.DREW_CARD;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean checkTrigger(GameEvent event, Game game) {
|
||||
for (Effect effect : this.getEffects()) {
|
||||
|
|
@ -98,7 +97,7 @@ class PhyrexianTyrannyTriggeredAbility extends TriggeredAbilityImpl {
|
|||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever a player draws a card, that player loses 2 life unless he or she pays {2}";
|
||||
|
|
@ -127,7 +126,7 @@ class PhyrexianTyrannyEffect extends OneShotEffect {
|
|||
if (player != null) {
|
||||
Cost cost = new GenericManaCost(2);
|
||||
if (!cost.pay(source, game, player.getId(), player.getId(), false, null)) {
|
||||
player.damage(2, source.getSourceId(), game, false, true);
|
||||
player.loseLife(2, game, false);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -96,7 +96,6 @@ public class Homelands extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Clockwork Gnomes", 127, Rarity.COMMON, mage.cards.c.ClockworkGnomes.class));
|
||||
cards.add(new SetCardInfo("Coral Reef", 29, Rarity.COMMON, mage.cards.c.CoralReef.class));
|
||||
cards.add(new SetCardInfo("Dark Maze", 31, Rarity.COMMON, mage.cards.d.DarkMaze.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Dark Maze", 31, Rarity.COMMON, mage.cards.d.DarkMaze.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Death Speakers", 109, Rarity.UNCOMMON, mage.cards.d.DeathSpeakers.class));
|
||||
cards.add(new SetCardInfo("Didgeridoo", 130, Rarity.RARE, mage.cards.d.Didgeridoo.class));
|
||||
cards.add(new SetCardInfo("Drudge Spell", 6, Rarity.UNCOMMON, mage.cards.d.DrudgeSpell.class));
|
||||
|
|
|
|||
|
|
@ -127,6 +127,7 @@ public class Legions extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Magma Sliver", 107, Rarity.RARE, mage.cards.m.MagmaSliver.class));
|
||||
cards.add(new SetCardInfo("Merchant of Secrets", 44, Rarity.COMMON, mage.cards.m.MerchantOfSecrets.class));
|
||||
cards.add(new SetCardInfo("Mistform Sliver", 46, Rarity.COMMON, mage.cards.m.MistformSliver.class));
|
||||
cards.add(new SetCardInfo("Mistform Ultimus", 47, Rarity.RARE, mage.cards.m.MistformUltimus.class));
|
||||
cards.add(new SetCardInfo("Nantuko Vigilante", 132, Rarity.COMMON, mage.cards.n.NantukoVigilante.class));
|
||||
cards.add(new SetCardInfo("Needleshot Gourna", 133, Rarity.COMMON, mage.cards.n.NeedleshotGourna.class));
|
||||
cards.add(new SetCardInfo("Noxious Ghoul", 77, Rarity.UNCOMMON, mage.cards.n.NoxiousGhoul.class));
|
||||
|
|
|
|||
|
|
@ -216,10 +216,9 @@ public class MastersEditionIV extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Regrowth", 163, Rarity.RARE, mage.cards.r.Regrowth.class));
|
||||
cards.add(new SetCardInfo("Righteous Charge", 23, Rarity.COMMON, mage.cards.r.RighteousCharge.class));
|
||||
cards.add(new SetCardInfo("Ring of Renewal", 224, Rarity.RARE, mage.cards.r.RingOfRenewal.class));
|
||||
cards.add(new SetCardInfo("Rock Hydra", 133, Rarity.RARE, mage.cards.r.RockHydra.class));
|
||||
cards.add(new SetCardInfo("Rockslide Ambush", 134, Rarity.COMMON, mage.cards.r.RockslideAmbush.class));
|
||||
cards.add(new SetCardInfo("Roc of Kher Ridges", 132, Rarity.UNCOMMON, mage.cards.r.RocOfKherRidges.class));
|
||||
cards.add(new SetCardInfo("Rock Hydra", 133, Rarity.RARE, mage.cards.r.RockHydra.class));
|
||||
cards.add(new SetCardInfo("Rockslide Ambush", 134, Rarity.COMMON, mage.cards.r.RockslideAmbush.class));
|
||||
cards.add(new SetCardInfo("Sandstorm", 164, Rarity.COMMON, mage.cards.s.Sandstorm.class));
|
||||
cards.add(new SetCardInfo("Savannah", 250, Rarity.RARE, mage.cards.s.Savannah.class));
|
||||
cards.add(new SetCardInfo("Savannah Lions", 24, Rarity.UNCOMMON, mage.cards.s.SavannahLions.class));
|
||||
|
|
|
|||
|
|
@ -55,7 +55,6 @@ public class Onslaught extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Blistering Firecat", 189, Rarity.RARE, mage.cards.b.BlisteringFirecat.class));
|
||||
cards.add(new SetCardInfo("Bloodline Shaman", 249, Rarity.UNCOMMON, mage.cards.b.BloodlineShaman.class));
|
||||
cards.add(new SetCardInfo("Bloodstained Mire", 313, Rarity.RARE, mage.cards.b.BloodstainedMire.class, new CardGraphicInfo(new ObjectColor("RB"), null,false)));
|
||||
cards.add(new SetCardInfo("Bloodline Shaman", 249, Rarity.UNCOMMON, mage.cards.b.BloodlineShaman.class));
|
||||
cards.add(new SetCardInfo("Boneknitter", 128, Rarity.UNCOMMON, mage.cards.b.Boneknitter.class));
|
||||
cards.add(new SetCardInfo("Brightstone Ritual", 191, Rarity.COMMON, mage.cards.b.BrightstoneRitual.class));
|
||||
cards.add(new SetCardInfo("Broodhatch Nantuko", 250, Rarity.UNCOMMON, mage.cards.b.BroodhatchNantuko.class));
|
||||
|
|
@ -182,6 +181,7 @@ public class Onslaught extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Lonely Sandbar", 320, Rarity.COMMON, mage.cards.l.LonelySandbar.class));
|
||||
cards.add(new SetCardInfo("Mage's Guile", 91, Rarity.COMMON, mage.cards.m.MagesGuile.class));
|
||||
cards.add(new SetCardInfo("Mana Echoes", 218, Rarity.RARE, mage.cards.m.ManaEchoes.class));
|
||||
cards.add(new SetCardInfo("Menacing Ogre", 219, Rarity.RARE, mage.cards.m.MenacingOgre.class));
|
||||
cards.add(new SetCardInfo("Misery Charm", 158, Rarity.COMMON, mage.cards.m.MiseryCharm.class));
|
||||
cards.add(new SetCardInfo("Mistform Mutant", 95, Rarity.UNCOMMON, mage.cards.m.MistformMutant.class));
|
||||
cards.add(new SetCardInfo("Mobilization", 44, Rarity.RARE, mage.cards.m.Mobilization.class));
|
||||
|
|
@ -303,18 +303,12 @@ public class Onslaught extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Wheel and Deal", 121, Rarity.RARE, mage.cards.w.WheelAndDeal.class));
|
||||
cards.add(new SetCardInfo("Whipcorder", 60, Rarity.UNCOMMON, mage.cards.w.Whipcorder.class));
|
||||
cards.add(new SetCardInfo("Windswept Heath", 328, Rarity.RARE, mage.cards.w.WindsweptHeath.class, new CardGraphicInfo(new ObjectColor("GW"), null, false)));
|
||||
cards.add(new SetCardInfo("Bloodline Shaman", 249, Rarity.UNCOMMON, mage.cards.b.BloodlineShaman.class));
|
||||
cards.add(new SetCardInfo("Trade Secrets", 118, Rarity.RARE, mage.cards.t.TradeSecrets.class));
|
||||
cards.add(new SetCardInfo("Venomspout Brackus", 295, Rarity.UNCOMMON, mage.cards.v.VenomspoutBrackus.class));
|
||||
cards.add(new SetCardInfo("Wirewood Elf", 301, Rarity.COMMON, mage.cards.w.WirewoodElf.class));
|
||||
cards.add(new SetCardInfo("Wirewood Herald", 302, Rarity.COMMON, mage.cards.w.WirewoodHerald.class));
|
||||
cards.add(new SetCardInfo("Wirewood Lodge", 329, Rarity.RARE, mage.cards.w.WirewoodLodge.class));
|
||||
cards.add(new SetCardInfo("Wirewood Pride", 303, Rarity.COMMON, mage.cards.w.WirewoodPride.class));
|
||||
cards.add(new SetCardInfo("Wirewood Savage", 304, Rarity.COMMON, mage.cards.w.WirewoodSavage.class));
|
||||
cards.add(new SetCardInfo("Wooded Foothills", 330, Rarity.RARE, mage.cards.w.WoodedFoothills.class, new CardGraphicInfo(new ObjectColor("RG"), null, false)));
|
||||
cards.add(new SetCardInfo("Bloodline Shaman", 249, Rarity.UNCOMMON, mage.cards.b.BloodlineShaman.class));
|
||||
cards.add(new SetCardInfo("Trade Secrets", 118, Rarity.RARE, mage.cards.t.TradeSecrets.class));
|
||||
cards.add(new SetCardInfo("Venomspout Brackus", 295, Rarity.UNCOMMON, mage.cards.v.VenomspoutBrackus.class));
|
||||
cards.add(new SetCardInfo("Words of War", 244, Rarity.RARE, mage.cards.w.WordsOfWar.class));
|
||||
cards.add(new SetCardInfo("Words of Wind", 122, Rarity.RARE, mage.cards.w.WordsOfWind.class));
|
||||
cards.add(new SetCardInfo("Words of Worship", 61, Rarity.RARE, mage.cards.w.WordsOfWorship.class));
|
||||
|
|
|
|||
|
|
@ -1,219 +1,220 @@
|
|||
/*
|
||||
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification, are
|
||||
* permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
* conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||
* provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* The views and conclusions contained in the software and documentation are those of the
|
||||
* authors and should not be interpreted as representing official policies, either expressed
|
||||
* or implied, of BetaSteward_at_googlemail.com.
|
||||
*/
|
||||
|
||||
package mage.sets;
|
||||
|
||||
import mage.constants.SetType;
|
||||
import mage.cards.ExpansionSet;
|
||||
import mage.constants.Rarity;
|
||||
import mage.cards.CardGraphicInfo;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class Planechase extends ExpansionSet {
|
||||
|
||||
private static final Planechase fINSTANCE = new Planechase();
|
||||
|
||||
public static Planechase getInstance() {
|
||||
return fINSTANCE;
|
||||
}
|
||||
|
||||
private Planechase() {
|
||||
super("Planechase", "HOP", ExpansionSet.buildDate(2009, 8, 4), SetType.SUPPLEMENTAL);
|
||||
this.blockName = "Command Zone";
|
||||
cards.add(new SetCardInfo("Akroma's Vengeance", 1, Rarity.RARE, mage.cards.a.AkromasVengeance.class));
|
||||
cards.add(new SetCardInfo("Ancient Den", 130, Rarity.COMMON, mage.cards.a.AncientDen.class));
|
||||
cards.add(new SetCardInfo("Arcbound Crusher", 105, Rarity.UNCOMMON, mage.cards.a.ArcboundCrusher.class));
|
||||
cards.add(new SetCardInfo("Arcbound Slith", 106, Rarity.UNCOMMON, mage.cards.a.ArcboundSlith.class));
|
||||
cards.add(new SetCardInfo("Arc Lightning", 46, Rarity.COMMON, mage.cards.a.ArcLightning.class));
|
||||
cards.add(new SetCardInfo("Arsenal Thresher", 96, Rarity.COMMON, mage.cards.a.ArsenalThresher.class));
|
||||
cards.add(new SetCardInfo("Ascendant Evincar", 17, Rarity.RARE, mage.cards.a.AscendantEvincar.class));
|
||||
cards.add(new SetCardInfo("Balefire Liege", 97, Rarity.RARE, mage.cards.b.BalefireLiege.class));
|
||||
cards.add(new SetCardInfo("Battlegate Mimic", 98, Rarity.COMMON, mage.cards.b.BattlegateMimic.class));
|
||||
cards.add(new SetCardInfo("Beacon of Unrest", 18, Rarity.RARE, mage.cards.b.BeaconOfUnrest.class));
|
||||
cards.add(new SetCardInfo("Beast Hunt", 68, Rarity.COMMON, mage.cards.b.BeastHunt.class));
|
||||
cards.add(new SetCardInfo("Beseech the Queen", 19, Rarity.UNCOMMON, mage.cards.b.BeseechTheQueen.class));
|
||||
cards.add(new SetCardInfo("Blaze", 47, Rarity.UNCOMMON, mage.cards.b.Blaze.class));
|
||||
cards.add(new SetCardInfo("Bogardan Firefiend", 48, Rarity.COMMON, mage.cards.b.BogardanFirefiend.class));
|
||||
cards.add(new SetCardInfo("Bogardan Rager", 49, Rarity.COMMON, mage.cards.b.BogardanRager.class));
|
||||
cards.add(new SetCardInfo("Boros Garrison", 131, Rarity.COMMON, mage.cards.b.BorosGarrison.class));
|
||||
cards.add(new SetCardInfo("Boros Guildmage", 99, Rarity.UNCOMMON, mage.cards.b.BorosGuildmage.class));
|
||||
cards.add(new SetCardInfo("Boros Signet", 107, Rarity.COMMON, mage.cards.b.BorosSignet.class));
|
||||
cards.add(new SetCardInfo("Boros Swiftblade", 82, Rarity.UNCOMMON, mage.cards.b.BorosSwiftblade.class));
|
||||
cards.add(new SetCardInfo("Bosh, Iron Golem", 108, Rarity.RARE, mage.cards.b.BoshIronGolem.class));
|
||||
cards.add(new SetCardInfo("Branching Bolt", 83, Rarity.COMMON, mage.cards.b.BranchingBolt.class));
|
||||
cards.add(new SetCardInfo("Briarhorn", 69, Rarity.UNCOMMON, mage.cards.b.Briarhorn.class));
|
||||
cards.add(new SetCardInfo("Broodstar", 8, Rarity.RARE, mage.cards.b.Broodstar.class));
|
||||
cards.add(new SetCardInfo("Browbeat", 50, Rarity.UNCOMMON, mage.cards.b.Browbeat.class));
|
||||
cards.add(new SetCardInfo("Bull Cerodon", 84, Rarity.UNCOMMON, mage.cards.b.BullCerodon.class));
|
||||
cards.add(new SetCardInfo("Cabal Coffers", 132, Rarity.UNCOMMON, mage.cards.c.CabalCoffers.class));
|
||||
cards.add(new SetCardInfo("Cadaverous Knight", 20, Rarity.COMMON, mage.cards.c.CadaverousKnight.class));
|
||||
cards.add(new SetCardInfo("Cerodon Yearling", 86, Rarity.COMMON, mage.cards.c.CerodonYearling.class));
|
||||
cards.add(new SetCardInfo("Cinder Elemental", 51, Rarity.UNCOMMON, mage.cards.c.CinderElemental.class));
|
||||
cards.add(new SetCardInfo("Cone of Flame", 52, Rarity.UNCOMMON, mage.cards.c.ConeOfFlame.class));
|
||||
cards.add(new SetCardInfo("Congregate", 2, Rarity.COMMON, mage.cards.c.Congregate.class));
|
||||
cards.add(new SetCardInfo("Consume Spirit", 21, Rarity.UNCOMMON, mage.cards.c.ConsumeSpirit.class));
|
||||
cards.add(new SetCardInfo("Copper Myr", 109, Rarity.COMMON, mage.cards.c.CopperMyr.class));
|
||||
cards.add(new SetCardInfo("Corpse Harvester", 22, Rarity.UNCOMMON, mage.cards.c.CorpseHarvester.class));
|
||||
cards.add(new SetCardInfo("Cranial Plating", 110, Rarity.COMMON, mage.cards.c.CranialPlating.class));
|
||||
cards.add(new SetCardInfo("Cruel Revival", 23, Rarity.COMMON, mage.cards.c.CruelRevival.class));
|
||||
cards.add(new SetCardInfo("Dark Ritual", 24, Rarity.COMMON, mage.cards.d.DarkRitual.class));
|
||||
cards.add(new SetCardInfo("Darksteel Forge", 111, Rarity.RARE, mage.cards.d.DarksteelForge.class));
|
||||
cards.add(new SetCardInfo("Death Baron", 25, Rarity.RARE, mage.cards.d.DeathBaron.class));
|
||||
cards.add(new SetCardInfo("Door to Nothingness", 112, Rarity.RARE, mage.cards.d.DoorToNothingness.class));
|
||||
cards.add(new SetCardInfo("Double Cleave", 100, Rarity.COMMON, mage.cards.d.DoubleCleave.class));
|
||||
cards.add(new SetCardInfo("Dregscape Zombie", 26, Rarity.COMMON, mage.cards.d.DregscapeZombie.class));
|
||||
cards.add(new SetCardInfo("Duergar Hedge-Mage", 101, Rarity.UNCOMMON, mage.cards.d.DuergarHedgeMage.class));
|
||||
cards.add(new SetCardInfo("Etched Oracle", 113, Rarity.UNCOMMON, mage.cards.e.EtchedOracle.class));
|
||||
cards.add(new SetCardInfo("Explosive Vegetation", 70, Rarity.UNCOMMON, mage.cards.e.ExplosiveVegetation.class));
|
||||
cards.add(new SetCardInfo("Fabricate", 9, Rarity.UNCOMMON, mage.cards.f.Fabricate.class));
|
||||
cards.add(new SetCardInfo("Fertile Ground", 71, Rarity.COMMON, mage.cards.f.FertileGround.class));
|
||||
cards.add(new SetCardInfo("Fertilid", 72, Rarity.COMMON, mage.cards.f.Fertilid.class));
|
||||
cards.add(new SetCardInfo("Festering Goblin", 27, Rarity.COMMON, mage.cards.f.FesteringGoblin.class));
|
||||
cards.add(new SetCardInfo("Fires of Yavimaya", 87, Rarity.UNCOMMON, mage.cards.f.FiresOfYavimaya.class));
|
||||
cards.add(new SetCardInfo("Flamekin Harbinger", 53, Rarity.UNCOMMON, mage.cards.f.FlamekinHarbinger.class));
|
||||
cards.add(new SetCardInfo("Flametongue Kavu", 54, Rarity.UNCOMMON, mage.cards.f.FlametongueKavu.class));
|
||||
cards.add(new SetCardInfo("Forest", 165, Rarity.LAND, mage.cards.basiclands.Forest.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Forest", 166, Rarity.LAND, mage.cards.basiclands.Forest.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Forest", 167, Rarity.LAND, mage.cards.basiclands.Forest.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Forest", 168, Rarity.LAND, mage.cards.basiclands.Forest.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Forest", 169, Rarity.LAND, mage.cards.basiclands.Forest.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Forgotten Ancient", 73, Rarity.RARE, mage.cards.f.ForgottenAncient.class));
|
||||
cards.add(new SetCardInfo("Furnace of Rath", 55, Rarity.RARE, mage.cards.f.FurnaceOfRath.class));
|
||||
cards.add(new SetCardInfo("Glory of Warfare", 88, Rarity.RARE, mage.cards.g.GloryOfWarfare.class));
|
||||
cards.add(new SetCardInfo("Goblin Offensive", 56, Rarity.UNCOMMON, mage.cards.g.GoblinOffensive.class));
|
||||
cards.add(new SetCardInfo("Gold Myr", 114, Rarity.COMMON, mage.cards.g.GoldMyr.class));
|
||||
cards.add(new SetCardInfo("Gravedigger", 29, Rarity.COMMON, mage.cards.g.Gravedigger.class));
|
||||
cards.add(new SetCardInfo("Grave Pact", 28, Rarity.RARE, mage.cards.g.GravePact.class));
|
||||
cards.add(new SetCardInfo("Great Furnace", 133, Rarity.COMMON, mage.cards.g.GreatFurnace.class));
|
||||
cards.add(new SetCardInfo("Gruul Turf", 134, Rarity.COMMON, mage.cards.g.GruulTurf.class));
|
||||
cards.add(new SetCardInfo("Hearthfire Hobgoblin", 102, Rarity.UNCOMMON, mage.cards.h.HearthfireHobgoblin.class));
|
||||
cards.add(new SetCardInfo("Helldozer", 30, Rarity.RARE, mage.cards.h.Helldozer.class));
|
||||
cards.add(new SetCardInfo("Hideous End", 31, Rarity.COMMON, mage.cards.h.HideousEnd.class));
|
||||
cards.add(new SetCardInfo("Hull Breach", 89, Rarity.COMMON, mage.cards.h.HullBreach.class));
|
||||
cards.add(new SetCardInfo("Incremental Blight", 32, Rarity.UNCOMMON, mage.cards.i.IncrementalBlight.class));
|
||||
cards.add(new SetCardInfo("Innocent Blood", 33, Rarity.COMMON, mage.cards.i.InnocentBlood.class));
|
||||
cards.add(new SetCardInfo("Insurrection", 57, Rarity.RARE, mage.cards.i.Insurrection.class));
|
||||
cards.add(new SetCardInfo("Iron Myr", 115, Rarity.COMMON, mage.cards.i.IronMyr.class));
|
||||
cards.add(new SetCardInfo("Island", 147, Rarity.LAND, mage.cards.basiclands.Island.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Island", 148, Rarity.LAND, mage.cards.basiclands.Island.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Island", 149, Rarity.LAND, mage.cards.basiclands.Island.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Island", 150, Rarity.LAND, mage.cards.basiclands.Island.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Ivy Elemental", 74, Rarity.RARE, mage.cards.i.IvyElemental.class));
|
||||
cards.add(new SetCardInfo("Keep Watch", 10, Rarity.COMMON, mage.cards.k.KeepWatch.class));
|
||||
cards.add(new SetCardInfo("Keldon Champion", 58, Rarity.UNCOMMON, mage.cards.k.KeldonChampion.class));
|
||||
cards.add(new SetCardInfo("Kor Sanctifiers", 3, Rarity.COMMON, mage.cards.k.KorSanctifiers.class));
|
||||
cards.add(new SetCardInfo("Leaden Myr", 116, Rarity.COMMON, mage.cards.l.LeadenMyr.class));
|
||||
cards.add(new SetCardInfo("Leechridden Swamp", 135, Rarity.UNCOMMON, mage.cards.l.LeechriddenSwamp.class));
|
||||
cards.add(new SetCardInfo("Lightning Helix", 90, Rarity.UNCOMMON, mage.cards.l.LightningHelix.class));
|
||||
cards.add(new SetCardInfo("Living Hive", 75, Rarity.RARE, mage.cards.l.LivingHive.class));
|
||||
cards.add(new SetCardInfo("Lodestone Myr", 117, Rarity.RARE, mage.cards.l.LodestoneMyr.class));
|
||||
cards.add(new SetCardInfo("Loxodon Warhammer", 118, Rarity.RARE, mage.cards.l.LoxodonWarhammer.class));
|
||||
cards.add(new SetCardInfo("Mage Slayer", 91, Rarity.UNCOMMON, mage.cards.m.MageSlayer.class));
|
||||
cards.add(new SetCardInfo("Mask of Memory", 119, Rarity.UNCOMMON, mage.cards.m.MaskOfMemory.class));
|
||||
cards.add(new SetCardInfo("Master of Etherium", 11, Rarity.RARE, mage.cards.m.MasterOfEtherium.class));
|
||||
cards.add(new SetCardInfo("Mountain", 156, Rarity.LAND, mage.cards.basiclands.Mountain.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Mountain", 157, Rarity.LAND, mage.cards.basiclands.Mountain.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Mountain", 158, Rarity.LAND, mage.cards.basiclands.Mountain.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Mountain", 159, Rarity.LAND, mage.cards.basiclands.Mountain.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Mountain", 160, Rarity.LAND, mage.cards.basiclands.Mountain.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Mountain", 161, Rarity.LAND, mage.cards.basiclands.Mountain.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Mountain", 162, Rarity.LAND, mage.cards.basiclands.Mountain.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Mountain", 163, Rarity.LAND, mage.cards.basiclands.Mountain.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Mountain", 164, Rarity.LAND, mage.cards.basiclands.Mountain.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Myr Enforcer", 120, Rarity.COMMON, mage.cards.m.MyrEnforcer.class));
|
||||
cards.add(new SetCardInfo("Nefashu", 34, Rarity.RARE, mage.cards.n.Nefashu.class));
|
||||
cards.add(new SetCardInfo("Noxious Ghoul", 35, Rarity.UNCOMMON, mage.cards.n.NoxiousGhoul.class));
|
||||
cards.add(new SetCardInfo("Nuisance Engine", 121, Rarity.UNCOMMON, mage.cards.n.NuisanceEngine.class));
|
||||
cards.add(new SetCardInfo("Oblivion Ring", 4, Rarity.COMMON, mage.cards.o.OblivionRing.class));
|
||||
cards.add(new SetCardInfo("Order // Chaos", 104, Rarity.UNCOMMON, mage.cards.o.OrderChaos.class));
|
||||
cards.add(new SetCardInfo("Orim's Thunder", 5, Rarity.COMMON, mage.cards.o.OrimsThunder.class));
|
||||
cards.add(new SetCardInfo("Pentad Prism", 122, Rarity.COMMON, mage.cards.p.PentadPrism.class));
|
||||
cards.add(new SetCardInfo("Pentavus", 123, Rarity.RARE, mage.cards.p.Pentavus.class));
|
||||
cards.add(new SetCardInfo("Phyrexian Arena", 36, Rarity.RARE, mage.cards.p.PhyrexianArena.class));
|
||||
cards.add(new SetCardInfo("Phyrexian Ghoul", 37, Rarity.COMMON, mage.cards.p.PhyrexianGhoul.class));
|
||||
cards.add(new SetCardInfo("Plains", 142, Rarity.LAND, mage.cards.basiclands.Plains.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Plains", 143, Rarity.LAND, mage.cards.basiclands.Plains.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Plains", 144, Rarity.LAND, mage.cards.basiclands.Plains.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Plains", 145, Rarity.LAND, mage.cards.basiclands.Plains.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Plains", 146, Rarity.LAND, mage.cards.basiclands.Plains.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Prison Term", 6, Rarity.UNCOMMON, mage.cards.p.PrisonTerm.class));
|
||||
cards.add(new SetCardInfo("Profane Command", 38, Rarity.RARE, mage.cards.p.ProfaneCommand.class));
|
||||
cards.add(new SetCardInfo("Pyrotechnics", 60, Rarity.UNCOMMON, mage.cards.p.Pyrotechnics.class));
|
||||
cards.add(new SetCardInfo("Qumulox", 12, Rarity.UNCOMMON, mage.cards.q.Qumulox.class));
|
||||
cards.add(new SetCardInfo("Rampant Growth", 76, Rarity.COMMON, mage.cards.r.RampantGrowth.class));
|
||||
cards.add(new SetCardInfo("Razia, Boros Archangel", 92, Rarity.RARE, mage.cards.r.RaziaBorosArchangel.class));
|
||||
cards.add(new SetCardInfo("Reckless Charge", 61, Rarity.COMMON, mage.cards.r.RecklessCharge.class));
|
||||
cards.add(new SetCardInfo("Relentless Assault", 62, Rarity.RARE, mage.cards.r.RelentlessAssault.class));
|
||||
cards.add(new SetCardInfo("Relic of Progenitus", 124, Rarity.COMMON, mage.cards.r.RelicOfProgenitus.class));
|
||||
cards.add(new SetCardInfo("Rockslide Elemental", 63, Rarity.UNCOMMON, mage.cards.r.RockslideElemental.class));
|
||||
cards.add(new SetCardInfo("Rolling Thunder", 64, Rarity.COMMON, mage.cards.r.RollingThunder.class));
|
||||
cards.add(new SetCardInfo("Rorix Bladewing", 65, Rarity.RARE, mage.cards.r.RorixBladewing.class));
|
||||
cards.add(new SetCardInfo("Rotting Rats", 39, Rarity.COMMON, mage.cards.r.RottingRats.class));
|
||||
cards.add(new SetCardInfo("Rumbling Slum", 93, Rarity.RARE, mage.cards.r.RumblingSlum.class));
|
||||
cards.add(new SetCardInfo("Sarcomite Myr", 13, Rarity.COMMON, mage.cards.s.SarcomiteMyr.class));
|
||||
cards.add(new SetCardInfo("Savage Twister", 94, Rarity.UNCOMMON, mage.cards.s.SavageTwister.class));
|
||||
cards.add(new SetCardInfo("Search for Tomorrow", 77, Rarity.COMMON, mage.cards.s.SearchForTomorrow.class));
|
||||
cards.add(new SetCardInfo("Seat of the Synod", 136, Rarity.COMMON, mage.cards.s.SeatOfTheSynod.class));
|
||||
cards.add(new SetCardInfo("Serum Tank", 125, Rarity.UNCOMMON, mage.cards.s.SerumTank.class));
|
||||
cards.add(new SetCardInfo("Shepherd of Rot", 40, Rarity.COMMON, mage.cards.s.ShepherdOfRot.class));
|
||||
cards.add(new SetCardInfo("Shivan Oasis", 137, Rarity.UNCOMMON, mage.cards.s.ShivanOasis.class));
|
||||
cards.add(new SetCardInfo("Silverglade Elemental", 78, Rarity.COMMON, mage.cards.s.SilvergladeElemental.class));
|
||||
cards.add(new SetCardInfo("Silver Myr", 126, Rarity.COMMON, mage.cards.s.SilverMyr.class));
|
||||
cards.add(new SetCardInfo("Skeleton Shard", 127, Rarity.UNCOMMON, mage.cards.s.SkeletonShard.class));
|
||||
cards.add(new SetCardInfo("Sludge Strider", 95, Rarity.UNCOMMON, mage.cards.s.SludgeStrider.class));
|
||||
cards.add(new SetCardInfo("Smokebraider", 66, Rarity.COMMON, mage.cards.s.Smokebraider.class));
|
||||
cards.add(new SetCardInfo("Soulless One", 41, Rarity.UNCOMMON, mage.cards.s.SoullessOne.class));
|
||||
cards.add(new SetCardInfo("Soul Warden", 7, Rarity.COMMON, mage.cards.s.SoulWarden.class));
|
||||
cards.add(new SetCardInfo("Sunhome, Fortress of the Legion", 138, Rarity.UNCOMMON, mage.cards.s.SunhomeFortressOfTheLegion.class));
|
||||
cards.add(new SetCardInfo("Suntouched Myr", 128, Rarity.COMMON, mage.cards.s.SuntouchedMyr.class));
|
||||
cards.add(new SetCardInfo("Swamp", 151, Rarity.LAND, mage.cards.basiclands.Swamp.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Swamp", 152, Rarity.LAND, mage.cards.basiclands.Swamp.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Swamp", 153, Rarity.LAND, mage.cards.basiclands.Swamp.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Swamp", 154, Rarity.LAND, mage.cards.basiclands.Swamp.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Swamp", 155, Rarity.LAND, mage.cards.basiclands.Swamp.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Syphon Mind", 42, Rarity.COMMON, mage.cards.s.SyphonMind.class));
|
||||
cards.add(new SetCardInfo("Syphon Soul", 43, Rarity.COMMON, mage.cards.s.SyphonSoul.class));
|
||||
cards.add(new SetCardInfo("Taurean Mauler", 67, Rarity.RARE, mage.cards.t.TaureanMauler.class));
|
||||
cards.add(new SetCardInfo("Terramorphic Expanse", 139, Rarity.COMMON, mage.cards.t.TerramorphicExpanse.class));
|
||||
cards.add(new SetCardInfo("Thirst for Knowledge", 14, Rarity.UNCOMMON, mage.cards.t.ThirstForKnowledge.class));
|
||||
cards.add(new SetCardInfo("Tornado Elemental", 79, Rarity.RARE, mage.cards.t.TornadoElemental.class));
|
||||
cards.add(new SetCardInfo("Tree of Tales", 140, Rarity.COMMON, mage.cards.t.TreeOfTales.class));
|
||||
cards.add(new SetCardInfo("Tribal Unity", 80, Rarity.UNCOMMON, mage.cards.t.TribalUnity.class));
|
||||
cards.add(new SetCardInfo("Undead Warchief", 44, Rarity.UNCOMMON, mage.cards.u.UndeadWarchief.class));
|
||||
cards.add(new SetCardInfo("Vault of Whispers", 141, Rarity.COMMON, mage.cards.v.VaultOfWhispers.class));
|
||||
cards.add(new SetCardInfo("Vedalken Engineer", 15, Rarity.COMMON, mage.cards.v.VedalkenEngineer.class));
|
||||
cards.add(new SetCardInfo("Verdant Force", 81, Rarity.RARE, mage.cards.v.VerdantForce.class));
|
||||
cards.add(new SetCardInfo("Whiplash Trap", 16, Rarity.COMMON, mage.cards.w.WhiplashTrap.class));
|
||||
cards.add(new SetCardInfo("Withered Wretch", 45, Rarity.UNCOMMON, mage.cards.w.WitheredWretch.class));
|
||||
cards.add(new SetCardInfo("Wizard Replica", 129, Rarity.COMMON, mage.cards.w.WizardReplica.class));
|
||||
}
|
||||
|
||||
}
|
||||
/*
|
||||
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification, are
|
||||
* permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
* conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||
* provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* The views and conclusions contained in the software and documentation are those of the
|
||||
* authors and should not be interpreted as representing official policies, either expressed
|
||||
* or implied, of BetaSteward_at_googlemail.com.
|
||||
*/
|
||||
|
||||
package mage.sets;
|
||||
|
||||
import mage.constants.SetType;
|
||||
import mage.cards.ExpansionSet;
|
||||
import mage.constants.Rarity;
|
||||
import mage.cards.CardGraphicInfo;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class Planechase extends ExpansionSet {
|
||||
|
||||
private static final Planechase fINSTANCE = new Planechase();
|
||||
|
||||
public static Planechase getInstance() {
|
||||
return fINSTANCE;
|
||||
}
|
||||
|
||||
private Planechase() {
|
||||
super("Planechase", "HOP", ExpansionSet.buildDate(2009, 8, 4), SetType.SUPPLEMENTAL);
|
||||
this.blockName = "Command Zone";
|
||||
cards.add(new SetCardInfo("Akroma's Vengeance", 1, Rarity.RARE, mage.cards.a.AkromasVengeance.class));
|
||||
cards.add(new SetCardInfo("Ancient Den", 130, Rarity.COMMON, mage.cards.a.AncientDen.class));
|
||||
cards.add(new SetCardInfo("Arcbound Crusher", 105, Rarity.UNCOMMON, mage.cards.a.ArcboundCrusher.class));
|
||||
cards.add(new SetCardInfo("Arcbound Slith", 106, Rarity.UNCOMMON, mage.cards.a.ArcboundSlith.class));
|
||||
cards.add(new SetCardInfo("Arc Lightning", 46, Rarity.COMMON, mage.cards.a.ArcLightning.class));
|
||||
cards.add(new SetCardInfo("Arsenal Thresher", 96, Rarity.COMMON, mage.cards.a.ArsenalThresher.class));
|
||||
cards.add(new SetCardInfo("Ascendant Evincar", 17, Rarity.RARE, mage.cards.a.AscendantEvincar.class));
|
||||
cards.add(new SetCardInfo("Balefire Liege", 97, Rarity.RARE, mage.cards.b.BalefireLiege.class));
|
||||
cards.add(new SetCardInfo("Battlegate Mimic", 98, Rarity.COMMON, mage.cards.b.BattlegateMimic.class));
|
||||
cards.add(new SetCardInfo("Beacon of Unrest", 18, Rarity.RARE, mage.cards.b.BeaconOfUnrest.class));
|
||||
cards.add(new SetCardInfo("Beast Hunt", 68, Rarity.COMMON, mage.cards.b.BeastHunt.class));
|
||||
cards.add(new SetCardInfo("Beseech the Queen", 19, Rarity.UNCOMMON, mage.cards.b.BeseechTheQueen.class));
|
||||
cards.add(new SetCardInfo("Blaze", 47, Rarity.UNCOMMON, mage.cards.b.Blaze.class));
|
||||
cards.add(new SetCardInfo("Bogardan Firefiend", 48, Rarity.COMMON, mage.cards.b.BogardanFirefiend.class));
|
||||
cards.add(new SetCardInfo("Bogardan Rager", 49, Rarity.COMMON, mage.cards.b.BogardanRager.class));
|
||||
cards.add(new SetCardInfo("Boros Garrison", 131, Rarity.COMMON, mage.cards.b.BorosGarrison.class));
|
||||
cards.add(new SetCardInfo("Boros Guildmage", 99, Rarity.UNCOMMON, mage.cards.b.BorosGuildmage.class));
|
||||
cards.add(new SetCardInfo("Boros Signet", 107, Rarity.COMMON, mage.cards.b.BorosSignet.class));
|
||||
cards.add(new SetCardInfo("Boros Swiftblade", 82, Rarity.UNCOMMON, mage.cards.b.BorosSwiftblade.class));
|
||||
cards.add(new SetCardInfo("Bosh, Iron Golem", 108, Rarity.RARE, mage.cards.b.BoshIronGolem.class));
|
||||
cards.add(new SetCardInfo("Branching Bolt", 83, Rarity.COMMON, mage.cards.b.BranchingBolt.class));
|
||||
cards.add(new SetCardInfo("Briarhorn", 69, Rarity.UNCOMMON, mage.cards.b.Briarhorn.class));
|
||||
cards.add(new SetCardInfo("Broodstar", 8, Rarity.RARE, mage.cards.b.Broodstar.class));
|
||||
cards.add(new SetCardInfo("Browbeat", 50, Rarity.UNCOMMON, mage.cards.b.Browbeat.class));
|
||||
cards.add(new SetCardInfo("Bull Cerodon", 84, Rarity.UNCOMMON, mage.cards.b.BullCerodon.class));
|
||||
cards.add(new SetCardInfo("Cabal Coffers", 132, Rarity.UNCOMMON, mage.cards.c.CabalCoffers.class));
|
||||
cards.add(new SetCardInfo("Cadaverous Knight", 20, Rarity.COMMON, mage.cards.c.CadaverousKnight.class));
|
||||
cards.add(new SetCardInfo("Cerodon Yearling", 86, Rarity.COMMON, mage.cards.c.CerodonYearling.class));
|
||||
cards.add(new SetCardInfo("Cinder Elemental", 51, Rarity.UNCOMMON, mage.cards.c.CinderElemental.class));
|
||||
cards.add(new SetCardInfo("Cone of Flame", 52, Rarity.UNCOMMON, mage.cards.c.ConeOfFlame.class));
|
||||
cards.add(new SetCardInfo("Congregate", 2, Rarity.COMMON, mage.cards.c.Congregate.class));
|
||||
cards.add(new SetCardInfo("Consume Spirit", 21, Rarity.UNCOMMON, mage.cards.c.ConsumeSpirit.class));
|
||||
cards.add(new SetCardInfo("Copper Myr", 109, Rarity.COMMON, mage.cards.c.CopperMyr.class));
|
||||
cards.add(new SetCardInfo("Corpse Harvester", 22, Rarity.UNCOMMON, mage.cards.c.CorpseHarvester.class));
|
||||
cards.add(new SetCardInfo("Cranial Plating", 110, Rarity.COMMON, mage.cards.c.CranialPlating.class));
|
||||
cards.add(new SetCardInfo("Cruel Revival", 23, Rarity.COMMON, mage.cards.c.CruelRevival.class));
|
||||
cards.add(new SetCardInfo("Dark Ritual", 24, Rarity.COMMON, mage.cards.d.DarkRitual.class));
|
||||
cards.add(new SetCardInfo("Darksteel Forge", 111, Rarity.RARE, mage.cards.d.DarksteelForge.class));
|
||||
cards.add(new SetCardInfo("Death Baron", 25, Rarity.RARE, mage.cards.d.DeathBaron.class));
|
||||
cards.add(new SetCardInfo("Door to Nothingness", 112, Rarity.RARE, mage.cards.d.DoorToNothingness.class));
|
||||
cards.add(new SetCardInfo("Double Cleave", 100, Rarity.COMMON, mage.cards.d.DoubleCleave.class));
|
||||
cards.add(new SetCardInfo("Dregscape Zombie", 26, Rarity.COMMON, mage.cards.d.DregscapeZombie.class));
|
||||
cards.add(new SetCardInfo("Duergar Hedge-Mage", 101, Rarity.UNCOMMON, mage.cards.d.DuergarHedgeMage.class));
|
||||
cards.add(new SetCardInfo("Etched Oracle", 113, Rarity.UNCOMMON, mage.cards.e.EtchedOracle.class));
|
||||
cards.add(new SetCardInfo("Explosive Vegetation", 70, Rarity.UNCOMMON, mage.cards.e.ExplosiveVegetation.class));
|
||||
cards.add(new SetCardInfo("Fabricate", 9, Rarity.UNCOMMON, mage.cards.f.Fabricate.class));
|
||||
cards.add(new SetCardInfo("Fertile Ground", 71, Rarity.COMMON, mage.cards.f.FertileGround.class));
|
||||
cards.add(new SetCardInfo("Fertilid", 72, Rarity.COMMON, mage.cards.f.Fertilid.class));
|
||||
cards.add(new SetCardInfo("Festering Goblin", 27, Rarity.COMMON, mage.cards.f.FesteringGoblin.class));
|
||||
cards.add(new SetCardInfo("Fires of Yavimaya", 87, Rarity.UNCOMMON, mage.cards.f.FiresOfYavimaya.class));
|
||||
cards.add(new SetCardInfo("Flamekin Harbinger", 53, Rarity.UNCOMMON, mage.cards.f.FlamekinHarbinger.class));
|
||||
cards.add(new SetCardInfo("Flametongue Kavu", 54, Rarity.UNCOMMON, mage.cards.f.FlametongueKavu.class));
|
||||
cards.add(new SetCardInfo("Forest", 165, Rarity.LAND, mage.cards.basiclands.Forest.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Forest", 166, Rarity.LAND, mage.cards.basiclands.Forest.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Forest", 167, Rarity.LAND, mage.cards.basiclands.Forest.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Forest", 168, Rarity.LAND, mage.cards.basiclands.Forest.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Forest", 169, Rarity.LAND, mage.cards.basiclands.Forest.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Forgotten Ancient", 73, Rarity.RARE, mage.cards.f.ForgottenAncient.class));
|
||||
cards.add(new SetCardInfo("Furnace of Rath", 55, Rarity.RARE, mage.cards.f.FurnaceOfRath.class));
|
||||
cards.add(new SetCardInfo("Glory of Warfare", 88, Rarity.RARE, mage.cards.g.GloryOfWarfare.class));
|
||||
cards.add(new SetCardInfo("Goblin Offensive", 56, Rarity.UNCOMMON, mage.cards.g.GoblinOffensive.class));
|
||||
cards.add(new SetCardInfo("Gold Myr", 114, Rarity.COMMON, mage.cards.g.GoldMyr.class));
|
||||
cards.add(new SetCardInfo("Gravedigger", 29, Rarity.COMMON, mage.cards.g.Gravedigger.class));
|
||||
cards.add(new SetCardInfo("Grave Pact", 28, Rarity.RARE, mage.cards.g.GravePact.class));
|
||||
cards.add(new SetCardInfo("Great Furnace", 133, Rarity.COMMON, mage.cards.g.GreatFurnace.class));
|
||||
cards.add(new SetCardInfo("Gruul Turf", 134, Rarity.COMMON, mage.cards.g.GruulTurf.class));
|
||||
cards.add(new SetCardInfo("Hearthfire Hobgoblin", 102, Rarity.UNCOMMON, mage.cards.h.HearthfireHobgoblin.class));
|
||||
cards.add(new SetCardInfo("Helldozer", 30, Rarity.RARE, mage.cards.h.Helldozer.class));
|
||||
cards.add(new SetCardInfo("Hideous End", 31, Rarity.COMMON, mage.cards.h.HideousEnd.class));
|
||||
cards.add(new SetCardInfo("Hull Breach", 89, Rarity.COMMON, mage.cards.h.HullBreach.class));
|
||||
cards.add(new SetCardInfo("Incremental Blight", 32, Rarity.UNCOMMON, mage.cards.i.IncrementalBlight.class));
|
||||
cards.add(new SetCardInfo("Innocent Blood", 33, Rarity.COMMON, mage.cards.i.InnocentBlood.class));
|
||||
cards.add(new SetCardInfo("Insurrection", 57, Rarity.RARE, mage.cards.i.Insurrection.class));
|
||||
cards.add(new SetCardInfo("Iron Myr", 115, Rarity.COMMON, mage.cards.i.IronMyr.class));
|
||||
cards.add(new SetCardInfo("Island", 147, Rarity.LAND, mage.cards.basiclands.Island.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Island", 148, Rarity.LAND, mage.cards.basiclands.Island.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Island", 149, Rarity.LAND, mage.cards.basiclands.Island.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Island", 150, Rarity.LAND, mage.cards.basiclands.Island.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Ivy Elemental", 74, Rarity.RARE, mage.cards.i.IvyElemental.class));
|
||||
cards.add(new SetCardInfo("Keep Watch", 10, Rarity.COMMON, mage.cards.k.KeepWatch.class));
|
||||
cards.add(new SetCardInfo("Keldon Champion", 58, Rarity.UNCOMMON, mage.cards.k.KeldonChampion.class));
|
||||
cards.add(new SetCardInfo("Kor Sanctifiers", 3, Rarity.COMMON, mage.cards.k.KorSanctifiers.class));
|
||||
cards.add(new SetCardInfo("Leaden Myr", 116, Rarity.COMMON, mage.cards.l.LeadenMyr.class));
|
||||
cards.add(new SetCardInfo("Leechridden Swamp", 135, Rarity.UNCOMMON, mage.cards.l.LeechriddenSwamp.class));
|
||||
cards.add(new SetCardInfo("Lightning Helix", 90, Rarity.UNCOMMON, mage.cards.l.LightningHelix.class));
|
||||
cards.add(new SetCardInfo("Living Hive", 75, Rarity.RARE, mage.cards.l.LivingHive.class));
|
||||
cards.add(new SetCardInfo("Lodestone Myr", 117, Rarity.RARE, mage.cards.l.LodestoneMyr.class));
|
||||
cards.add(new SetCardInfo("Loxodon Warhammer", 118, Rarity.RARE, mage.cards.l.LoxodonWarhammer.class));
|
||||
cards.add(new SetCardInfo("Mage Slayer", 91, Rarity.UNCOMMON, mage.cards.m.MageSlayer.class));
|
||||
cards.add(new SetCardInfo("Mask of Memory", 119, Rarity.UNCOMMON, mage.cards.m.MaskOfMemory.class));
|
||||
cards.add(new SetCardInfo("Master of Etherium", 11, Rarity.RARE, mage.cards.m.MasterOfEtherium.class));
|
||||
cards.add(new SetCardInfo("Menacing Ogre", 59, Rarity.RARE, mage.cards.m.MenacingOgre.class));
|
||||
cards.add(new SetCardInfo("Mountain", 156, Rarity.LAND, mage.cards.basiclands.Mountain.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Mountain", 157, Rarity.LAND, mage.cards.basiclands.Mountain.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Mountain", 158, Rarity.LAND, mage.cards.basiclands.Mountain.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Mountain", 159, Rarity.LAND, mage.cards.basiclands.Mountain.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Mountain", 160, Rarity.LAND, mage.cards.basiclands.Mountain.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Mountain", 161, Rarity.LAND, mage.cards.basiclands.Mountain.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Mountain", 162, Rarity.LAND, mage.cards.basiclands.Mountain.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Mountain", 163, Rarity.LAND, mage.cards.basiclands.Mountain.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Mountain", 164, Rarity.LAND, mage.cards.basiclands.Mountain.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Myr Enforcer", 120, Rarity.COMMON, mage.cards.m.MyrEnforcer.class));
|
||||
cards.add(new SetCardInfo("Nefashu", 34, Rarity.RARE, mage.cards.n.Nefashu.class));
|
||||
cards.add(new SetCardInfo("Noxious Ghoul", 35, Rarity.UNCOMMON, mage.cards.n.NoxiousGhoul.class));
|
||||
cards.add(new SetCardInfo("Nuisance Engine", 121, Rarity.UNCOMMON, mage.cards.n.NuisanceEngine.class));
|
||||
cards.add(new SetCardInfo("Oblivion Ring", 4, Rarity.COMMON, mage.cards.o.OblivionRing.class));
|
||||
cards.add(new SetCardInfo("Order // Chaos", 104, Rarity.UNCOMMON, mage.cards.o.OrderChaos.class));
|
||||
cards.add(new SetCardInfo("Orim's Thunder", 5, Rarity.COMMON, mage.cards.o.OrimsThunder.class));
|
||||
cards.add(new SetCardInfo("Pentad Prism", 122, Rarity.COMMON, mage.cards.p.PentadPrism.class));
|
||||
cards.add(new SetCardInfo("Pentavus", 123, Rarity.RARE, mage.cards.p.Pentavus.class));
|
||||
cards.add(new SetCardInfo("Phyrexian Arena", 36, Rarity.RARE, mage.cards.p.PhyrexianArena.class));
|
||||
cards.add(new SetCardInfo("Phyrexian Ghoul", 37, Rarity.COMMON, mage.cards.p.PhyrexianGhoul.class));
|
||||
cards.add(new SetCardInfo("Plains", 142, Rarity.LAND, mage.cards.basiclands.Plains.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Plains", 143, Rarity.LAND, mage.cards.basiclands.Plains.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Plains", 144, Rarity.LAND, mage.cards.basiclands.Plains.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Plains", 145, Rarity.LAND, mage.cards.basiclands.Plains.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Plains", 146, Rarity.LAND, mage.cards.basiclands.Plains.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Prison Term", 6, Rarity.UNCOMMON, mage.cards.p.PrisonTerm.class));
|
||||
cards.add(new SetCardInfo("Profane Command", 38, Rarity.RARE, mage.cards.p.ProfaneCommand.class));
|
||||
cards.add(new SetCardInfo("Pyrotechnics", 60, Rarity.UNCOMMON, mage.cards.p.Pyrotechnics.class));
|
||||
cards.add(new SetCardInfo("Qumulox", 12, Rarity.UNCOMMON, mage.cards.q.Qumulox.class));
|
||||
cards.add(new SetCardInfo("Rampant Growth", 76, Rarity.COMMON, mage.cards.r.RampantGrowth.class));
|
||||
cards.add(new SetCardInfo("Razia, Boros Archangel", 92, Rarity.RARE, mage.cards.r.RaziaBorosArchangel.class));
|
||||
cards.add(new SetCardInfo("Reckless Charge", 61, Rarity.COMMON, mage.cards.r.RecklessCharge.class));
|
||||
cards.add(new SetCardInfo("Relentless Assault", 62, Rarity.RARE, mage.cards.r.RelentlessAssault.class));
|
||||
cards.add(new SetCardInfo("Relic of Progenitus", 124, Rarity.COMMON, mage.cards.r.RelicOfProgenitus.class));
|
||||
cards.add(new SetCardInfo("Rockslide Elemental", 63, Rarity.UNCOMMON, mage.cards.r.RockslideElemental.class));
|
||||
cards.add(new SetCardInfo("Rolling Thunder", 64, Rarity.COMMON, mage.cards.r.RollingThunder.class));
|
||||
cards.add(new SetCardInfo("Rorix Bladewing", 65, Rarity.RARE, mage.cards.r.RorixBladewing.class));
|
||||
cards.add(new SetCardInfo("Rotting Rats", 39, Rarity.COMMON, mage.cards.r.RottingRats.class));
|
||||
cards.add(new SetCardInfo("Rumbling Slum", 93, Rarity.RARE, mage.cards.r.RumblingSlum.class));
|
||||
cards.add(new SetCardInfo("Sarcomite Myr", 13, Rarity.COMMON, mage.cards.s.SarcomiteMyr.class));
|
||||
cards.add(new SetCardInfo("Savage Twister", 94, Rarity.UNCOMMON, mage.cards.s.SavageTwister.class));
|
||||
cards.add(new SetCardInfo("Search for Tomorrow", 77, Rarity.COMMON, mage.cards.s.SearchForTomorrow.class));
|
||||
cards.add(new SetCardInfo("Seat of the Synod", 136, Rarity.COMMON, mage.cards.s.SeatOfTheSynod.class));
|
||||
cards.add(new SetCardInfo("Serum Tank", 125, Rarity.UNCOMMON, mage.cards.s.SerumTank.class));
|
||||
cards.add(new SetCardInfo("Shepherd of Rot", 40, Rarity.COMMON, mage.cards.s.ShepherdOfRot.class));
|
||||
cards.add(new SetCardInfo("Shivan Oasis", 137, Rarity.UNCOMMON, mage.cards.s.ShivanOasis.class));
|
||||
cards.add(new SetCardInfo("Silverglade Elemental", 78, Rarity.COMMON, mage.cards.s.SilvergladeElemental.class));
|
||||
cards.add(new SetCardInfo("Silver Myr", 126, Rarity.COMMON, mage.cards.s.SilverMyr.class));
|
||||
cards.add(new SetCardInfo("Skeleton Shard", 127, Rarity.UNCOMMON, mage.cards.s.SkeletonShard.class));
|
||||
cards.add(new SetCardInfo("Sludge Strider", 95, Rarity.UNCOMMON, mage.cards.s.SludgeStrider.class));
|
||||
cards.add(new SetCardInfo("Smokebraider", 66, Rarity.COMMON, mage.cards.s.Smokebraider.class));
|
||||
cards.add(new SetCardInfo("Soulless One", 41, Rarity.UNCOMMON, mage.cards.s.SoullessOne.class));
|
||||
cards.add(new SetCardInfo("Soul Warden", 7, Rarity.COMMON, mage.cards.s.SoulWarden.class));
|
||||
cards.add(new SetCardInfo("Sunhome, Fortress of the Legion", 138, Rarity.UNCOMMON, mage.cards.s.SunhomeFortressOfTheLegion.class));
|
||||
cards.add(new SetCardInfo("Suntouched Myr", 128, Rarity.COMMON, mage.cards.s.SuntouchedMyr.class));
|
||||
cards.add(new SetCardInfo("Swamp", 151, Rarity.LAND, mage.cards.basiclands.Swamp.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Swamp", 152, Rarity.LAND, mage.cards.basiclands.Swamp.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Swamp", 153, Rarity.LAND, mage.cards.basiclands.Swamp.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Swamp", 154, Rarity.LAND, mage.cards.basiclands.Swamp.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Swamp", 155, Rarity.LAND, mage.cards.basiclands.Swamp.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Syphon Mind", 42, Rarity.COMMON, mage.cards.s.SyphonMind.class));
|
||||
cards.add(new SetCardInfo("Syphon Soul", 43, Rarity.COMMON, mage.cards.s.SyphonSoul.class));
|
||||
cards.add(new SetCardInfo("Taurean Mauler", 67, Rarity.RARE, mage.cards.t.TaureanMauler.class));
|
||||
cards.add(new SetCardInfo("Terramorphic Expanse", 139, Rarity.COMMON, mage.cards.t.TerramorphicExpanse.class));
|
||||
cards.add(new SetCardInfo("Thirst for Knowledge", 14, Rarity.UNCOMMON, mage.cards.t.ThirstForKnowledge.class));
|
||||
cards.add(new SetCardInfo("Tornado Elemental", 79, Rarity.RARE, mage.cards.t.TornadoElemental.class));
|
||||
cards.add(new SetCardInfo("Tree of Tales", 140, Rarity.COMMON, mage.cards.t.TreeOfTales.class));
|
||||
cards.add(new SetCardInfo("Tribal Unity", 80, Rarity.UNCOMMON, mage.cards.t.TribalUnity.class));
|
||||
cards.add(new SetCardInfo("Undead Warchief", 44, Rarity.UNCOMMON, mage.cards.u.UndeadWarchief.class));
|
||||
cards.add(new SetCardInfo("Vault of Whispers", 141, Rarity.COMMON, mage.cards.v.VaultOfWhispers.class));
|
||||
cards.add(new SetCardInfo("Vedalken Engineer", 15, Rarity.COMMON, mage.cards.v.VedalkenEngineer.class));
|
||||
cards.add(new SetCardInfo("Verdant Force", 81, Rarity.RARE, mage.cards.v.VerdantForce.class));
|
||||
cards.add(new SetCardInfo("Whiplash Trap", 16, Rarity.COMMON, mage.cards.w.WhiplashTrap.class));
|
||||
cards.add(new SetCardInfo("Withered Wretch", 45, Rarity.UNCOMMON, mage.cards.w.WitheredWretch.class));
|
||||
cards.add(new SetCardInfo("Wizard Replica", 129, Rarity.COMMON, mage.cards.w.WizardReplica.class));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -89,6 +89,7 @@ public class RavnicaCityOfGuilds extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Clinging Darkness", 80, Rarity.COMMON, mage.cards.c.ClingingDarkness.class));
|
||||
cards.add(new SetCardInfo("Cloudstone Curio", 257, Rarity.RARE, mage.cards.c.CloudstoneCurio.class));
|
||||
cards.add(new SetCardInfo("Clutch of the Undercity", 197, Rarity.UNCOMMON, mage.cards.c.ClutchOfTheUndercity.class));
|
||||
cards.add(new SetCardInfo("Coalhauler Swine", 119, Rarity.COMMON, mage.cards.c.CoalhaulerSwine.class));
|
||||
cards.add(new SetCardInfo("Compulsive Research", 40, Rarity.COMMON, mage.cards.c.CompulsiveResearch.class));
|
||||
cards.add(new SetCardInfo("Concerted Effort", 8, Rarity.RARE, mage.cards.c.ConcertedEffort.class));
|
||||
cards.add(new SetCardInfo("Conclave Equenaut", 9, Rarity.COMMON, mage.cards.c.ConclaveEquenaut.class));
|
||||
|
|
|
|||
|
|
@ -231,10 +231,9 @@ public class RevisedEdition extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Resurrection", 218, Rarity.UNCOMMON, mage.cards.r.Resurrection.class));
|
||||
cards.add(new SetCardInfo("Reverse Damage", 219, Rarity.RARE, mage.cards.r.ReverseDamage.class));
|
||||
cards.add(new SetCardInfo("Righteousness", 221, Rarity.RARE, mage.cards.r.Righteousness.class));
|
||||
cards.add(new SetCardInfo("Rock Hydra", 172, Rarity.RARE, mage.cards.r.RockHydra.class));
|
||||
cards.add(new SetCardInfo("Rocket Launcher", 272, Rarity.RARE, mage.cards.r.RocketLauncher.class));
|
||||
cards.add(new SetCardInfo("Roc of Kher Ridges", 171, Rarity.RARE, mage.cards.r.RocOfKherRidges.class));
|
||||
cards.add(new SetCardInfo("Rock Hydra", 172, Rarity.RARE, mage.cards.r.RockHydra.class));
|
||||
cards.add(new SetCardInfo("Rocket Launcher", 272, Rarity.RARE, mage.cards.r.RocketLauncher.class));
|
||||
cards.add(new SetCardInfo("Rod of Ruin", 273, Rarity.UNCOMMON, mage.cards.r.RodOfRuin.class));
|
||||
cards.add(new SetCardInfo("Royal Assassin", 33, Rarity.RARE, mage.cards.r.RoyalAssassin.class));
|
||||
cards.add(new SetCardInfo("Sacrifice", 34, Rarity.UNCOMMON, mage.cards.s.Sacrifice.class));
|
||||
|
|
|
|||
|
|
@ -105,6 +105,7 @@ public class TimeSpiralTimeshifted extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Merieke Ri Berit", 95, Rarity.SPECIAL, mage.cards.m.MeriekeRiBerit.class));
|
||||
cards.add(new SetCardInfo("Mindless Automaton", 111, Rarity.SPECIAL, mage.cards.m.MindlessAutomaton.class));
|
||||
cards.add(new SetCardInfo("Mirari", 112, Rarity.SPECIAL, mage.cards.m.Mirari.class));
|
||||
cards.add(new SetCardInfo("Mistform Ultimus", 26, Rarity.SPECIAL, mage.cards.m.MistformUltimus.class));
|
||||
cards.add(new SetCardInfo("Moorish Cavalry", 11, Rarity.COMMON, mage.cards.m.MoorishCavalry.class));
|
||||
cards.add(new SetCardInfo("Mystic Enforcer", 96, Rarity.SPECIAL, mage.cards.m.MysticEnforcer.class));
|
||||
cards.add(new SetCardInfo("Mystic Snake", 97, Rarity.COMMON, mage.cards.m.MysticSnake.class));
|
||||
|
|
|
|||
|
|
@ -68,6 +68,7 @@ public class Visions extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Creeping Mold", 53, Rarity.UNCOMMON, mage.cards.c.CreepingMold.class));
|
||||
cards.add(new SetCardInfo("Crypt Rats", 5, Rarity.COMMON, mage.cards.c.CryptRats.class));
|
||||
cards.add(new SetCardInfo("Daraja Griffin", 102, Rarity.UNCOMMON, mage.cards.d.DarajaGriffin.class));
|
||||
cards.add(new SetCardInfo("Death Watch", 7, Rarity.COMMON, mage.cards.d.DeathWatch.class));
|
||||
cards.add(new SetCardInfo("Desertion", 30, Rarity.RARE, mage.cards.d.Desertion.class));
|
||||
cards.add(new SetCardInfo("Diamond Kaleidoscope", 143, Rarity.RARE, mage.cards.d.DiamondKaleidoscope.class));
|
||||
cards.add(new SetCardInfo("Dormant Volcano", 161, Rarity.UNCOMMON, mage.cards.d.DormantVolcano.class));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue