mirror of
https://github.com/correl/mage.git
synced 2024-12-24 11:50:45 +00:00
...
This commit is contained in:
parent
40a7ab9a4f
commit
5c27de8bba
206 changed files with 3727 additions and 153 deletions
|
@ -96,7 +96,7 @@ class FinestHourAbility extends TriggeredAbilityImpl<FinestHourAbility> {
|
|||
|
||||
@Override
|
||||
public boolean checkTrigger(GameEvent event, Game game) {
|
||||
if (checkIfClause(game) && game.getActivePlayerId().equals(this.controllerId)) {
|
||||
if (checkInterveningIfClause(game) && game.getActivePlayerId().equals(this.controllerId)) {
|
||||
if (event.getType() == EventType.DECLARED_ATTACKERS) {
|
||||
if (game.getCombat().attacksAlone()) {
|
||||
this.addTarget(new TargetCreaturePermanent());
|
||||
|
@ -110,7 +110,7 @@ class FinestHourAbility extends TriggeredAbilityImpl<FinestHourAbility> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean checkIfClause(Game game) {
|
||||
public boolean checkInterveningIfClause(Game game) {
|
||||
return game.getTurn().getPhase(TurnPhase.COMBAT).getCount() == 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -32,6 +32,7 @@ import java.util.UUID;
|
|||
import mage.Constants.CardType;
|
||||
import mage.Constants.Outcome;
|
||||
import mage.Constants.Rarity;
|
||||
import mage.Constants.Zone;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.ExileSpellEffect;
|
||||
|
@ -96,7 +97,8 @@ class VengefulRebirthEffect extends OneShotEffect<VengefulRebirthEffect> {
|
|||
public boolean apply(Game game, Ability source) {
|
||||
Player player = game.getPlayer(source.getControllerId());
|
||||
Card card = (Card)game.getObject(source.getFirstTarget());
|
||||
if (player.removeFromGraveyard(card, game) && player.putInHand(card, game)) {
|
||||
if (player.removeFromGraveyard(card, game)) {
|
||||
card.moveToZone(Zone.HAND, game, false);
|
||||
int damage = card.getManaCost().convertedManaCost();
|
||||
if (!card.getCardType().contains(CardType.LAND)) {
|
||||
Permanent permanent = game.getPermanent(source.getTargets().get(1).getTargets().get(0));
|
||||
|
|
|
@ -58,7 +58,7 @@ public class CelestialPurge extends CardImpl<CelestialPurge> {
|
|||
super(ownerId, "Celestial Purge", Rarity.UNCOMMON, new CardType[]{CardType.INSTANT}, "{1}{W}");
|
||||
this.expansionSetCode = "CON";
|
||||
this.color.setWhite(true);
|
||||
this.getSpellAbility().addTarget(new TargetPermanent(filter, TargetController.ANY));
|
||||
this.getSpellAbility().addTarget(new TargetPermanent(filter));
|
||||
this.getSpellAbility().addEffect(new ExileTargetEffect());
|
||||
}
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@ public class Dreadwing extends CardImpl<Dreadwing> {
|
|||
this.toughness = new MageInt(1);
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(3, 0, Duration.EndOfTurn), new ManaCostsImpl(("{1}{U}{B}")));
|
||||
ability.getEffects().add(new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn));
|
||||
this.abilities.add(ability);
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
public Dreadwing(final Dreadwing card) {
|
||||
|
|
|
@ -48,8 +48,8 @@ import mage.abilities.effects.ContinuousEffectImpl;
|
|||
import mage.abilities.effects.common.SearchLibraryPutInPlayEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.Filter.ComparisonScope;
|
||||
import mage.filter.common.FilterControlledPermanent;
|
||||
import mage.filter.common.FilterLandCard;
|
||||
import mage.filter.common.FilterLandPermanent;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
|
||||
|
@ -62,9 +62,11 @@ import mage.target.common.TargetControlledPermanent;
|
|||
*/
|
||||
public class KnightOfTheReliquary extends CardImpl<KnightOfTheReliquary> {
|
||||
|
||||
private static FilterLandPermanent filter = new FilterLandPermanent("Forest or Plains");
|
||||
private static FilterControlledPermanent filter = new FilterControlledPermanent("Forest or Plains");
|
||||
|
||||
static {
|
||||
filter.getCardType().add(CardType.LAND);
|
||||
filter.setScopeCardType(ComparisonScope.Any);
|
||||
filter.getSubtype().add("Forest");
|
||||
filter.getSubtype().add("Plains");
|
||||
filter.setScopeSubtype(ComparisonScope.Any);
|
||||
|
|
|
@ -72,6 +72,8 @@ public class MartialCoup extends CardImpl<MartialCoup> {
|
|||
|
||||
class MartialCoupEffect extends OneShotEffect<MartialCoupEffect> {
|
||||
|
||||
private static SoldierToken token = new SoldierToken();
|
||||
|
||||
public MartialCoupEffect() {
|
||||
super(Outcome.PutCreatureInPlay);
|
||||
}
|
||||
|
@ -87,7 +89,6 @@ class MartialCoupEffect extends OneShotEffect<MartialCoupEffect> {
|
|||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
Player controller = game.getPlayer(source.getControllerId());
|
||||
int amount = source.getCosts().getVariableCosts().get(0).getAmount();
|
||||
|
||||
if (amount > 4) {
|
||||
|
@ -96,7 +97,7 @@ class MartialCoupEffect extends OneShotEffect<MartialCoupEffect> {
|
|||
}
|
||||
}
|
||||
for (int i = 0; i < amount; i++) {
|
||||
controller.putOntoBattlefield(new SoldierToken(), game);
|
||||
token.putOntoBattlefield(game, source.getControllerId());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -100,7 +100,7 @@ class PathToExileEffect extends OneShotEffect {
|
|||
player.searchLibrary(target, game);
|
||||
Card card = player.getLibrary().remove(target.getFirstTarget(), game);
|
||||
if (card != null) {
|
||||
if (player.putOntoBattlefield(card, game)) {
|
||||
if (card.putOntoBattlefield(game, Zone.LIBRARY, permanent.getControllerId())) {
|
||||
Permanent land = game.getPermanent(card.getId());
|
||||
if (land != null)
|
||||
land.setTapped(true);
|
||||
|
|
|
@ -109,6 +109,11 @@ class QuenchableFireEffect extends OneShotEffect<QuenchableFireEffect> {
|
|||
game.getState().getSpecialActions().add(newAction);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getText(Ability source) {
|
||||
return "{this} deals an additional 3 damage to that player at the beginning of your next upkeep step unless he or she pays {U} before that step";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -148,11 +153,6 @@ class QuenchableFireDelayedTriggeredAbility extends DelayedTriggeredAbility<Quen
|
|||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "{this} deals an additional 3 damage to that player at the beginning of your next upkeep step unless he or she pays {U} before that step";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class QuenchableFireSpecialAction extends SpecialAction<QuenchableFireSpecialAction> {
|
||||
|
|
|
@ -59,8 +59,8 @@ public class RakkaMar extends CardImpl<RakkaMar> {
|
|||
this.color.setRed(true);
|
||||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(2);
|
||||
this.abilities.add(HasteAbility.getInstance());
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(token), new ManaCostsImpl("{1}{R}"));
|
||||
this.addAbility(HasteAbility.getInstance());
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(token), new ManaCostsImpl("{R}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
@ -87,7 +87,7 @@ public class RakkaMar extends CardImpl<RakkaMar> {
|
|||
subtype.add("Elemental");
|
||||
power = new MageInt(3);
|
||||
toughness = new MageInt(1);
|
||||
abilities.add(HasteAbility.getInstance());
|
||||
addAbility(HasteAbility.getInstance());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ import mage.cards.CardImpl;
|
|||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
import mage.target.common.TargetCrearurePermanentYourControl;
|
||||
import mage.target.common.TargetControlledCreaturePermanent;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -50,7 +50,7 @@ public class SoulsMajesty extends CardImpl<SoulsMajesty> {
|
|||
super(ownerId, "Soul's Majesty", Rarity.RARE, new CardType[]{CardType.SORCERY}, "{4}{G}");
|
||||
this.expansionSetCode = "CON";
|
||||
this.color.setGreen(true);
|
||||
this.getSpellAbility().addTarget(new TargetCrearurePermanentYourControl());
|
||||
this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent());
|
||||
this.getSpellAbility().addEffect(new SoulsMajestyEffect());
|
||||
}
|
||||
|
||||
|
|
|
@ -68,7 +68,7 @@ public class AcidicSlime extends CardImpl<AcidicSlime> {
|
|||
|
||||
this.addAbility(DeathtouchAbility.getInstance());
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), false);
|
||||
Target target = new TargetPermanent(filter, TargetController.ANY);
|
||||
Target target = new TargetPermanent(filter);
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -101,7 +101,7 @@ class AvatarToken extends Token {
|
|||
cardType.add(CardType.CREATURE);
|
||||
subtype.add("Avatar");
|
||||
color.setWhite(true);
|
||||
this.abilities.add(new SimpleStaticAbility(Zone.BATTLEFIELD, new AvatarTokenEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AvatarTokenEffect()));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -40,9 +40,8 @@ import mage.abilities.common.SimpleActivatedAbility;
|
|||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.effects.RequirementAttackEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.game.events.GameEvent.EventType;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
|
@ -52,6 +51,12 @@ import mage.target.common.TargetCreaturePermanent;
|
|||
*/
|
||||
public class AlluringSiren extends CardImpl<AlluringSiren> {
|
||||
|
||||
private static FilterCreaturePermanent filter = new FilterCreaturePermanent("creature an opponent controls");
|
||||
|
||||
static {
|
||||
filter.setTargetController(TargetController.OPPONENT);
|
||||
}
|
||||
|
||||
public AlluringSiren(UUID ownerId) {
|
||||
super(ownerId, "Alluring Siren", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{1}{U}");
|
||||
this.expansionSetCode = "M10";
|
||||
|
@ -60,9 +65,7 @@ public class AlluringSiren extends CardImpl<AlluringSiren> {
|
|||
this.power = new MageInt(1);
|
||||
this.toughness = new MageInt(1);
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AlluringSirenEffect(), new TapSourceCost());
|
||||
TargetCreaturePermanent target = new TargetCreaturePermanent();
|
||||
target.setTargetController(TargetController.OPPONENT);
|
||||
ability.addTarget(target);
|
||||
ability.addTarget(new TargetCreaturePermanent(filter));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
@ -41,4 +41,13 @@ public class AngelsFeather extends mage.sets.tenth.AngelsFeather {
|
|||
this.expansionSetCode = "M10";
|
||||
}
|
||||
|
||||
public AngelsFeather(final AngelsFeather card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AngelsFeather copy() {
|
||||
return new AngelsFeather(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class Assassinate extends mage.sets.tenth.Assassinate {
|
|||
this.expansionSetCode = "M10";
|
||||
}
|
||||
|
||||
public Assassinate(final Assassinate card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Assassinate copy() {
|
||||
return new Assassinate(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class BirdsOfParadise extends mage.sets.tenth.BirdsOfParadise {
|
|||
this.expansionSetCode = "M10";
|
||||
}
|
||||
|
||||
public BirdsOfParadise(final BirdsOfParadise card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BirdsOfParadise copy() {
|
||||
return new BirdsOfParadise(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class Cancel extends mage.sets.shardsofalara.Cancel {
|
|||
this.expansionSetCode = "M10";
|
||||
}
|
||||
|
||||
public Cancel(final Cancel card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Cancel copy() {
|
||||
return new Cancel(this);
|
||||
}
|
||||
|
||||
}
|
|
@ -41,4 +41,13 @@ public class CanyonMinotaur extends mage.sets.conflux.CanyonMinotaur {
|
|||
this.expansionSetCode = "M10";
|
||||
}
|
||||
|
||||
public CanyonMinotaur(final CanyonMinotaur card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CanyonMinotaur copy() {
|
||||
return new CanyonMinotaur(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class CelestialPurge extends mage.sets.conflux.CelestialPurge {
|
|||
this.expansionSetCode = "M10";
|
||||
}
|
||||
|
||||
public CelestialPurge(final CelestialPurge card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CelestialPurge copy() {
|
||||
return new CelestialPurge(this);
|
||||
}
|
||||
|
||||
}
|
|
@ -49,7 +49,7 @@ public class ChildOfNight extends CardImpl<ChildOfNight> {
|
|||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(1);
|
||||
|
||||
this.abilities.add(LifelinkAbility.getInstance());
|
||||
this.addAbility(LifelinkAbility.getInstance());
|
||||
}
|
||||
|
||||
public ChildOfNight(final ChildOfNight card) {
|
||||
|
|
|
@ -41,4 +41,13 @@ public class Clone extends mage.sets.tenth.Clone {
|
|||
this.expansionSetCode = "M10";
|
||||
}
|
||||
|
||||
public Clone(final Clone card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Clone copy() {
|
||||
return new Clone(this);
|
||||
}
|
||||
|
||||
}
|
|
@ -46,4 +46,13 @@ public class Deathmark extends mage.sets.tenth.Deathmark {
|
|||
return "122155_typ_reg_sty_010.jpg";
|
||||
}
|
||||
|
||||
public Deathmark(final Deathmark card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Deathmark copy() {
|
||||
return new Deathmark(this);
|
||||
}
|
||||
|
||||
}
|
|
@ -41,4 +41,13 @@ public class DemonsHorn extends mage.sets.tenth.DemonsHorn {
|
|||
this.expansionSetCode = "M10";
|
||||
}
|
||||
|
||||
public DemonsHorn(final DemonsHorn card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DemonsHorn copy() {
|
||||
return new DemonsHorn(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class DiabolicTutor extends mage.sets.tenth.DiabolicTutor {
|
|||
this.expansionSetCode = "M10";
|
||||
}
|
||||
|
||||
public DiabolicTutor(final DiabolicTutor card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DiabolicTutor copy() {
|
||||
return new DiabolicTutor(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -31,7 +31,6 @@ package mage.sets.magic2010;
|
|||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Rarity;
|
||||
import mage.Constants.TargetController;
|
||||
import mage.abilities.effects.common.DestroyTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
|
@ -55,7 +54,7 @@ public class DoomBlade extends CardImpl<DoomBlade> {
|
|||
super(onwerId, "Doom Blade", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{1}{B}");
|
||||
this.expansionSetCode = "M10";
|
||||
this.color.setBlack(true);
|
||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent(1, 1, filter, TargetController.ANY, false));
|
||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter));
|
||||
this.getSpellAbility().addEffect(new DestroyTargetEffect());
|
||||
}
|
||||
|
||||
|
|
|
@ -41,4 +41,13 @@ public class DragonsClaw extends mage.sets.tenth.DragonsClaw {
|
|||
this.expansionSetCode = "M10";
|
||||
}
|
||||
|
||||
public DragonsClaw(final DragonsClaw card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DragonsClaw copy() {
|
||||
return new DragonsClaw(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class Excommunicate extends mage.sets.shardsofalara.Excommunicate {
|
|||
this.expansionSetCode = "M10";
|
||||
}
|
||||
|
||||
public Excommunicate(final Excommunicate card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Excommunicate copy() {
|
||||
return new Excommunicate(this);
|
||||
}
|
||||
|
||||
}
|
|
@ -41,4 +41,13 @@ public class Flashfreeze extends mage.sets.tenth.Flashfreeze {
|
|||
this.expansionSetCode = "M10";
|
||||
}
|
||||
|
||||
public Flashfreeze(final Flashfreeze card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flashfreeze copy() {
|
||||
return new Flashfreeze(this);
|
||||
}
|
||||
|
||||
}
|
|
@ -46,4 +46,13 @@ public class Forest1 extends mage.cards.basiclands.Forest {
|
|||
return "06769_typ_reg_sty_010.jpg";
|
||||
}
|
||||
|
||||
public Forest1(final Forest1 card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Forest1 copy() {
|
||||
return new Forest1(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -46,4 +46,13 @@ public class Forest2 extends mage.cards.basiclands.Forest {
|
|||
return "121707_typ_reg_sty_010.jpg";
|
||||
}
|
||||
|
||||
public Forest2(final Forest2 card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Forest2 copy() {
|
||||
return new Forest2(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -46,4 +46,13 @@ public class Forest3 extends mage.cards.basiclands.Forest {
|
|||
return "25501_typ_reg_sty_010.jpg";
|
||||
}
|
||||
|
||||
public Forest3(final Forest3 card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Forest3 copy() {
|
||||
return new Forest3(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -46,4 +46,13 @@ public class Forest4 extends mage.cards.basiclands.Forest {
|
|||
return "121708_typ_reg_sty_010.jpg";
|
||||
}
|
||||
|
||||
public Forest4(final Forest4 card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Forest4 copy() {
|
||||
return new Forest4(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -32,7 +32,6 @@ import java.util.UUID;
|
|||
import mage.Constants.CardType;
|
||||
import mage.Constants.Duration;
|
||||
import mage.Constants.Rarity;
|
||||
import mage.Constants.TargetController;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.LoyaltyAbility;
|
||||
import mage.abilities.effects.Effects;
|
||||
|
@ -62,7 +61,7 @@ public class GarrukWildspeaker extends CardImpl<GarrukWildspeaker> {
|
|||
this.loyalty = new MageInt(3);
|
||||
|
||||
LoyaltyAbility ability1 = new LoyaltyAbility(new UntapTargetEffect(), 1);
|
||||
ability1.addTarget(new TargetLandPermanent(2, TargetController.ANY));
|
||||
ability1.addTarget(new TargetLandPermanent(2));
|
||||
this.addAbility(ability1);
|
||||
|
||||
this.addAbility(new LoyaltyAbility(new CreateTokenEffect(beastToken), -1));
|
||||
|
|
|
@ -41,4 +41,13 @@ public class GiantGrowth extends mage.sets.tenth.GiantGrowth {
|
|||
this.expansionSetCode = "M10";
|
||||
}
|
||||
|
||||
public GiantGrowth(final GiantGrowth card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public GiantGrowth copy() {
|
||||
return new GiantGrowth(this);
|
||||
}
|
||||
|
||||
}
|
|
@ -41,4 +41,13 @@ public class GiantSpider extends mage.sets.tenth.GiantSpider {
|
|||
this.expansionSetCode = "M10";
|
||||
}
|
||||
|
||||
public GiantSpider(final GiantSpider card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public GiantSpider copy() {
|
||||
return new GiantSpider(this);
|
||||
}
|
||||
|
||||
}
|
|
@ -55,7 +55,7 @@ public class GoblinChieftain extends CardImpl<GoblinChieftain> {
|
|||
|
||||
public GoblinChieftain(UUID ownerId) {
|
||||
super(ownerId, "Goblin Chieftain", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{1}{R}{R}");
|
||||
this.expansionSetCode = "M11";
|
||||
this.expansionSetCode = "M10";
|
||||
this.subtype.add("Goblin");
|
||||
this.color.setRed(true);
|
||||
this.power = new MageInt(2);
|
||||
|
|
|
@ -41,4 +41,13 @@ public class GoblinPiker extends mage.sets.tenth.GoblinPiker {
|
|||
this.expansionSetCode = "M10";
|
||||
}
|
||||
|
||||
public GoblinPiker(final GoblinPiker card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public GoblinPiker copy() {
|
||||
return new GoblinPiker(this);
|
||||
}
|
||||
|
||||
}
|
|
@ -41,4 +41,13 @@ public class Gravedigger extends mage.sets.tenth.Gravedigger {
|
|||
this.expansionSetCode = "M10";
|
||||
}
|
||||
|
||||
public Gravedigger(final Gravedigger card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Gravedigger copy() {
|
||||
return new Gravedigger(this);
|
||||
}
|
||||
|
||||
}
|
|
@ -41,4 +41,13 @@ public class HolyStrength extends mage.sets.tenth.HolyStrength {
|
|||
this.expansionSetCode = "M10";
|
||||
}
|
||||
|
||||
public HolyStrength(final HolyStrength card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HolyStrength copy() {
|
||||
return new HolyStrength(this);
|
||||
}
|
||||
|
||||
}
|
|
@ -95,7 +95,7 @@ class HowlingMineAbility extends TriggeredAbilityImpl<HowlingMineAbility> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean checkIfClause(Game game) {
|
||||
public boolean checkInterveningIfClause(Game game) {
|
||||
return !game.getPermanent(this.sourceId).isTapped();
|
||||
}
|
||||
|
||||
|
|
|
@ -46,4 +46,13 @@ public class Island1 extends mage.cards.basiclands.Island {
|
|||
return "121700_typ_reg_sty_010.jpg";
|
||||
}
|
||||
|
||||
public Island1(final Island1 card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Island1 copy() {
|
||||
return new Island1(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -46,4 +46,13 @@ public class Island2 extends mage.cards.basiclands.Island {
|
|||
return "121687_typ_reg_sty_010.jpg";
|
||||
}
|
||||
|
||||
public Island2(final Island2 card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Island2 copy() {
|
||||
return new Island2(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -46,4 +46,13 @@ public class Island3 extends mage.cards.basiclands.Island {
|
|||
return "25162_typ_reg_sty_010.jpg";
|
||||
}
|
||||
|
||||
public Island3(final Island3 card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Island3 copy() {
|
||||
return new Island3(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -46,4 +46,13 @@ public class Island4 extends mage.cards.basiclands.Island {
|
|||
return "19006_typ_reg_sty_010.jpg";
|
||||
}
|
||||
|
||||
public Island4(final Island4 card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Island4 copy() {
|
||||
return new Island4(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class KrakensEye extends mage.sets.tenth.KrakensEye {
|
|||
this.expansionSetCode = "M10";
|
||||
}
|
||||
|
||||
public KrakensEye(final KrakensEye card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public KrakensEye copy() {
|
||||
return new KrakensEye(this);
|
||||
}
|
||||
|
||||
}
|
|
@ -41,4 +41,13 @@ public class LavaAxe extends mage.sets.tenth.LavaAxe {
|
|||
this.expansionSetCode = "M10";
|
||||
}
|
||||
|
||||
public LavaAxe(final LavaAxe card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public LavaAxe copy() {
|
||||
return new LavaAxe(this);
|
||||
}
|
||||
|
||||
}
|
123
Mage.Sets/src/mage/sets/magic2010/LilianaVess.java
Normal file
123
Mage.Sets/src/mage/sets/magic2010/LilianaVess.java
Normal file
|
@ -0,0 +1,123 @@
|
|||
/*
|
||||
* 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.magic2010;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Outcome;
|
||||
import mage.Constants.Rarity;
|
||||
import mage.Constants.Zone;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.LoyaltyAbility;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.DiscardTargetEffect;
|
||||
import mage.abilities.effects.common.DrawCardAllEffect;
|
||||
import mage.abilities.effects.common.DrawCardTargetEffect;
|
||||
import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect;
|
||||
import mage.abilities.effects.common.SearchLibraryPutOnLibraryEffect;
|
||||
import mage.cards.Card;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.game.Game;
|
||||
import mage.players.Player;
|
||||
import mage.target.TargetPlayer;
|
||||
import mage.target.common.TargetCardInLibrary;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class LilianaVess extends CardImpl<LilianaVess> {
|
||||
|
||||
public LilianaVess(UUID ownerId) {
|
||||
super(ownerId, "Liliana Vess", Rarity.MYTHIC, new CardType[]{CardType.PLANESWALKER}, "{3}{B}{B}");
|
||||
this.expansionSetCode = "M10";
|
||||
this.subtype.add("Liliana");
|
||||
this.color.setBlack(true);
|
||||
this.loyalty = new MageInt(5);
|
||||
|
||||
LoyaltyAbility ability1 = new LoyaltyAbility(new DiscardTargetEffect(1), -1);
|
||||
ability1.addTarget(new TargetPlayer());
|
||||
this.addAbility(ability1);
|
||||
|
||||
this.addAbility(new LoyaltyAbility(new SearchLibraryPutOnLibraryEffect(new TargetCardInLibrary()), -2));
|
||||
|
||||
this.addAbility(new LoyaltyAbility(new LilianaVessEffect(), -8));
|
||||
|
||||
}
|
||||
|
||||
public LilianaVess(final LilianaVess card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public LilianaVess copy() {
|
||||
return new LilianaVess(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getArt() {
|
||||
return "105529_typ_reg_sty_010.jpg";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class LilianaVessEffect extends OneShotEffect<LilianaVessEffect> {
|
||||
|
||||
public LilianaVessEffect() {
|
||||
super(Outcome.PutCreatureInPlay);
|
||||
}
|
||||
|
||||
public LilianaVessEffect(final LilianaVessEffect effect) {
|
||||
super(effect);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
for (Player player: game.getPlayers().values()) {
|
||||
for (Card card: player.getGraveyard().getCards(game)) {
|
||||
if (card.getCardType().contains(CardType.CREATURE)) {
|
||||
player.getGraveyard().remove(card);
|
||||
card.putOntoBattlefield(game, Zone.GRAVEYARD, source.getControllerId());
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public LilianaVessEffect copy() {
|
||||
return new LilianaVessEffect(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getText(Ability source) {
|
||||
return "Put all creature cards in all graveyards onto the battlefield under your control";
|
||||
}
|
||||
}
|
|
@ -29,27 +29,16 @@
|
|||
package mage.sets.magic2010;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Rarity;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.mana.GreenManaAbility;
|
||||
import mage.cards.CardImpl;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class LlanowarElves extends CardImpl<LlanowarElves> {
|
||||
public class LlanowarElves extends mage.sets.tenth.LlanowarElves {
|
||||
|
||||
public LlanowarElves(UUID ownerId) {
|
||||
super(ownerId, "Llanowar Elves", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{G}");
|
||||
super(ownerId);
|
||||
this.expansionSetCode = "M10";
|
||||
this.subtype.add("Elf");
|
||||
this.subtype.add("Druid");
|
||||
this.color.setGreen(true);
|
||||
this.power = new MageInt(1);
|
||||
this.toughness = new MageInt(1);
|
||||
this.addAbility(new GreenManaAbility());
|
||||
}
|
||||
|
||||
public LlanowarElves(final LlanowarElves card) {
|
||||
|
@ -61,9 +50,4 @@ public class LlanowarElves extends CardImpl<LlanowarElves> {
|
|||
return new LlanowarElves(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getArt() {
|
||||
return "86938_typ_reg_sty_010.jpg";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
77
Mage.Sets/src/mage/sets/magic2010/MagmaPhoenix.java
Normal file
77
Mage.Sets/src/mage/sets/magic2010/MagmaPhoenix.java
Normal file
|
@ -0,0 +1,77 @@
|
|||
/*
|
||||
* 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.magic2010;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Rarity;
|
||||
import mage.Constants.Zone;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.PutIntoGraveFromBattlefieldTriggeredAbility;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.abilities.effects.common.DamageEverythingEffect;
|
||||
import mage.abilities.effects.common.ReturnSourceFromGraveyardToHandEffect;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.cards.CardImpl;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class MagmaPhoenix extends CardImpl<MagmaPhoenix> {
|
||||
|
||||
public MagmaPhoenix(UUID ownerId) {
|
||||
super(ownerId, "Magma Phoenix", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{3}{R}{R}");
|
||||
this.expansionSetCode = "M10";
|
||||
this.subtype.add("Phoenix");
|
||||
this.color.setRed(true);
|
||||
this.power = new MageInt(3);
|
||||
this.toughness = new MageInt(3);
|
||||
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
this.addAbility(new PutIntoGraveFromBattlefieldTriggeredAbility(new DamageEverythingEffect(3), false));
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToHandEffect(), new ManaCostsImpl("{3}{R}{R}")));
|
||||
}
|
||||
|
||||
public MagmaPhoenix(final MagmaPhoenix card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MagmaPhoenix copy() {
|
||||
return new MagmaPhoenix(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getArt() {
|
||||
return "121697_typ_reg_sty_010.jpg";
|
||||
}
|
||||
|
||||
}
|
92
Mage.Sets/src/mage/sets/magic2010/MerfolkSovereign.java
Normal file
92
Mage.Sets/src/mage/sets/magic2010/MerfolkSovereign.java
Normal file
|
@ -0,0 +1,92 @@
|
|||
/*
|
||||
* 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.magic2010;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Duration;
|
||||
import mage.Constants.Rarity;
|
||||
import mage.Constants.Zone;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.effects.common.BoostControlledEffect;
|
||||
import mage.abilities.effects.common.GainAbilityControlledEffect;
|
||||
import mage.abilities.effects.common.GainAbilityTargetEffect;
|
||||
import mage.abilities.keyword.HasteAbility;
|
||||
import mage.abilities.keyword.UnblockableAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class MerfolkSovereign extends CardImpl<MerfolkSovereign> {
|
||||
|
||||
private static FilterCreaturePermanent filter1 = new FilterCreaturePermanent("Merfolk creatures");
|
||||
private static FilterCreaturePermanent filter2 = new FilterCreaturePermanent("Merfolk creature");
|
||||
|
||||
static {
|
||||
filter1.getSubtype().add("Merfolk");
|
||||
filter2.getSubtype().add("Merfolk");
|
||||
}
|
||||
|
||||
public MerfolkSovereign(UUID ownerId) {
|
||||
super(ownerId, "Merfolk Sovereign", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{1}{U}{U}");
|
||||
this.expansionSetCode = "M10";
|
||||
this.subtype.add("Merfolk");
|
||||
this.color.setBlue(true);
|
||||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(2);
|
||||
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter1, true)));
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(UnblockableAbility.getInstance(), Duration.EndOfTurn), new TapSourceCost());
|
||||
ability.addTarget(new TargetCreaturePermanent(filter2));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
public MerfolkSovereign(final MerfolkSovereign card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MerfolkSovereign copy() {
|
||||
return new MerfolkSovereign(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getArt() {
|
||||
return "121667_typ_reg_sty_010.jpg";
|
||||
}
|
||||
|
||||
}
|
134
Mage.Sets/src/mage/sets/magic2010/MindControl.java
Normal file
134
Mage.Sets/src/mage/sets/magic2010/MindControl.java
Normal file
|
@ -0,0 +1,134 @@
|
|||
/*
|
||||
* 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.magic2010;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Duration;
|
||||
import mage.Constants.Layer;
|
||||
import mage.Constants.Outcome;
|
||||
import mage.Constants.Rarity;
|
||||
import mage.Constants.SubLayer;
|
||||
import mage.Constants.Zone;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.ContinuousEffectImpl;
|
||||
import mage.abilities.effects.common.AttachEffect;
|
||||
import mage.abilities.keyword.EnchantAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.target.TargetPermanent;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class MindControl extends CardImpl<MindControl> {
|
||||
|
||||
public MindControl(UUID ownerId) {
|
||||
super(ownerId, "Mind Control", Rarity.UNCOMMON, new CardType[]{CardType.ENCHANTMENT}, "{3}{U}{U}");
|
||||
this.expansionSetCode = "M10";
|
||||
this.color.setBlue(true);
|
||||
this.subtype.add("Aura");
|
||||
|
||||
TargetPermanent auraTarget = new TargetCreaturePermanent();
|
||||
this.getSpellAbility().addTarget(auraTarget);
|
||||
this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment));
|
||||
Ability ability = new EnchantAbility(Outcome.Detriment, auraTarget);
|
||||
this.addAbility(ability);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new MindControlEffect()));
|
||||
|
||||
}
|
||||
|
||||
public MindControl(final MindControl card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MindControl copy() {
|
||||
return new MindControl(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getArt() {
|
||||
return "121615_typ_reg_sty_010.jpg";
|
||||
}
|
||||
}
|
||||
|
||||
class MindControlEffect extends ContinuousEffectImpl<MindControlEffect> {
|
||||
|
||||
public MindControlEffect() {
|
||||
super(Duration.WhileOnBattlefield, Outcome.Detriment);
|
||||
}
|
||||
|
||||
public MindControlEffect(final MindControlEffect effect) {
|
||||
super(effect);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MindControlEffect copy() {
|
||||
return new MindControlEffect(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Layer layer, SubLayer sublayer, Ability source, Game game) {
|
||||
Permanent enchantment = game.getPermanent(source.getSourceId());
|
||||
if (enchantment != null && enchantment.getAttachedTo() != null) {
|
||||
Permanent creature = game.getPermanent(enchantment.getAttachedTo());
|
||||
if (creature != null) {
|
||||
switch (layer) {
|
||||
case ControlChangingEffects_2:
|
||||
if (sublayer == SubLayer.NA) {
|
||||
creature.changeControllerId(source.getControllerId(), game);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasLayer(Layer layer) {
|
||||
return layer == Layer.ControlChangingEffects_2;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getText(Ability source) {
|
||||
return "";
|
||||
}
|
||||
}
|
|
@ -29,25 +29,17 @@
|
|||
package mage.sets.magic2010;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Rarity;
|
||||
import mage.abilities.effects.common.DiscardTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.target.TargetPlayer;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LokiX
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class MindRot extends CardImpl<MindRot> {
|
||||
public class MindRot extends mage.sets.tenth.MindRot {
|
||||
|
||||
public MindRot(UUID onwerId){
|
||||
super(onwerId, "Mind Rot", Rarity.COMMON, new CardType[]{CardType.SORCERY},"{2}{B}");
|
||||
this.expansionSetCode = "M10";
|
||||
this.color.setBlack(true);
|
||||
this.getSpellAbility().addTarget(new TargetPlayer());
|
||||
this.getSpellAbility().addEffect(new DiscardTargetEffect(2));
|
||||
}
|
||||
public MindRot(UUID ownerId) {
|
||||
super(ownerId);
|
||||
this.expansionSetCode = "M10";
|
||||
}
|
||||
|
||||
public MindRot(final MindRot card) {
|
||||
super(card);
|
||||
|
@ -58,8 +50,4 @@ public class MindRot extends CardImpl<MindRot> {
|
|||
return new MindRot(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getArt() {
|
||||
return "04716_typ_reg_sty_001.jpg";
|
||||
}
|
||||
}
|
||||
}
|
|
@ -31,7 +31,6 @@ package mage.sets.magic2010;
|
|||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Rarity;
|
||||
import mage.Constants.TargetController;
|
||||
import mage.abilities.effects.common.DestroyTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.Filter.ComparisonScope;
|
||||
|
@ -56,7 +55,7 @@ public class Naturalize extends CardImpl<Naturalize> {
|
|||
super(onwerId, "Naturalize", Rarity.COMMON, new CardType[]{CardType.INSTANT},"{1}{G}");
|
||||
this.expansionSetCode = "M10";
|
||||
this.color.setGreen(true);
|
||||
this.getSpellAbility().addTarget(new TargetPermanent(filter, TargetController.ANY));
|
||||
this.getSpellAbility().addTarget(new TargetPermanent(filter));
|
||||
this.getSpellAbility().addEffect(new DestroyTargetEffect());
|
||||
}
|
||||
|
||||
|
|
|
@ -31,14 +31,13 @@ package mage.sets.magic2010;
|
|||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Rarity;
|
||||
import mage.Constants.TargetController;
|
||||
import mage.Constants.Zone;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.ActivatedAbilityImpl;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.effects.common.DestroyTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.Filter.ComparisonScope;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
|
@ -48,6 +47,13 @@ import mage.target.common.TargetCreaturePermanent;
|
|||
*/
|
||||
public class RoyalAssassin extends CardImpl<RoyalAssassin> {
|
||||
|
||||
private static FilterCreaturePermanent filter = new FilterCreaturePermanent("tapped creature");
|
||||
|
||||
static {
|
||||
filter.setUseTapped(true);
|
||||
filter.setTapped(true);
|
||||
}
|
||||
|
||||
public RoyalAssassin(UUID onwerId){
|
||||
super(onwerId,"Royal Assassin", Rarity.RARE, new CardType[]{CardType.CREATURE},"{1}{B}{B}");
|
||||
this.expansionSetCode = "M10";
|
||||
|
@ -57,7 +63,9 @@ public class RoyalAssassin extends CardImpl<RoyalAssassin> {
|
|||
this.power = new MageInt(1);
|
||||
this.toughness = new MageInt(1);
|
||||
|
||||
this.addAbility(new RoyalAssassinAbility());
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new TapSourceCost());
|
||||
ability.addTarget(new TargetCreaturePermanent(filter));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
public RoyalAssassin(final RoyalAssassin card) {
|
||||
|
@ -74,31 +82,3 @@ public class RoyalAssassin extends CardImpl<RoyalAssassin> {
|
|||
return "48786_typ_reg_sty_010.jpg";
|
||||
}
|
||||
}
|
||||
|
||||
class RoyalAssassinAbility extends ActivatedAbilityImpl<RoyalAssassinAbility> {
|
||||
|
||||
private static FilterCreaturePermanent filter = new FilterCreaturePermanent("tapped creature");
|
||||
|
||||
static {
|
||||
filter.setUseTapped(true);
|
||||
filter.setScopeColor(ComparisonScope.Any);
|
||||
filter.setTapped(true);
|
||||
}
|
||||
|
||||
public RoyalAssassinAbility(){
|
||||
super(Zone.BATTLEFIELD, null);
|
||||
addTarget(new TargetCreaturePermanent(1, 1, filter, TargetController.ANY, false));
|
||||
addCost(new TapSourceCost());
|
||||
addEffect(new DestroyTargetEffect());
|
||||
}
|
||||
|
||||
public RoyalAssassinAbility(final RoyalAssassinAbility ability) {
|
||||
super(ability);
|
||||
}
|
||||
|
||||
@Override
|
||||
public RoyalAssassinAbility copy() {
|
||||
return new RoyalAssassinAbility(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class AcidicSlime extends mage.sets.magic2010.AcidicSlime {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public AcidicSlime(final AcidicSlime card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AcidicSlime copy() {
|
||||
return new AcidicSlime(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class ActOfTreason extends mage.sets.magic2010.ActOfTreason {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public ActOfTreason(final ActOfTreason card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActOfTreason copy() {
|
||||
return new ActOfTreason(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class AjaniGoldmane extends mage.sets.magic2010.AjaniGoldmane {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public AjaniGoldmane(final AjaniGoldmane card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AjaniGoldmane copy() {
|
||||
return new AjaniGoldmane(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class AlluringSiren extends mage.sets.magic2010.AlluringSiren {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public AlluringSiren(final AlluringSiren card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AlluringSiren copy() {
|
||||
return new AlluringSiren(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class AngelsFeather extends mage.sets.tenth.AngelsFeather {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public AngelsFeather(final AngelsFeather card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AngelsFeather copy() {
|
||||
return new AngelsFeather(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class ArmoredAscension extends mage.sets.magic2010.ArmoredAscension {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public ArmoredAscension(final ArmoredAscension card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ArmoredAscension copy() {
|
||||
return new ArmoredAscension(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class Assassinate extends mage.sets.tenth.Assassinate {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public Assassinate(final Assassinate card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Assassinate copy() {
|
||||
return new Assassinate(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -32,12 +32,13 @@ import java.util.UUID;
|
|||
import mage.Constants.CardType;
|
||||
import mage.Constants.Duration;
|
||||
import mage.Constants.Rarity;
|
||||
import mage.ObjectColor;
|
||||
import mage.abilities.effects.common.CantCounterControlledEffect;
|
||||
import mage.abilities.effects.common.CantTargetControlledEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterObject;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.Filter.ComparisonScope;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.FilterStackObject;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
|
||||
/**
|
||||
|
@ -48,7 +49,13 @@ public class AutumnsVeil extends CardImpl<AutumnsVeil> {
|
|||
|
||||
private static FilterSpell filterTarget1 = new FilterSpell("spells you control");
|
||||
private static FilterCreaturePermanent filterTarget2 = FilterCreaturePermanent.getDefault();
|
||||
private static FilterObject filterSource = new FilterObject("blue or black spells");
|
||||
private static FilterStackObject filterSource = new FilterStackObject("blue or black spells");
|
||||
|
||||
static {
|
||||
filterSource.getColor().setBlue(true);
|
||||
filterSource.getColor().setBlack(true);
|
||||
filterSource.setScopeColor(ComparisonScope.Any);
|
||||
}
|
||||
|
||||
public AutumnsVeil(UUID ownerId) {
|
||||
super(ownerId, "Autumn's Veil", Rarity.UNCOMMON, new CardType[]{CardType.INSTANT}, "{G}");
|
||||
|
|
|
@ -41,4 +41,13 @@ public class AwakenerDruid extends mage.sets.magic2010.AwakenerDruid {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public AwakenerDruid(final AwakenerDruid card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AwakenerDruid copy() {
|
||||
return new AwakenerDruid(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class BaneslayerAngel extends mage.sets.magic2010.BaneslayerAngel {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public BaneslayerAngel(final BaneslayerAngel card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BaneslayerAngel copy() {
|
||||
return new BaneslayerAngel(this);
|
||||
}
|
||||
|
||||
}
|
|
@ -41,4 +41,13 @@ public class BerserkersOfBloodRidge extends mage.sets.magic2010.BerserkersOfBloo
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public BerserkersOfBloodRidge(final BerserkersOfBloodRidge card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BerserkersOfBloodRidge copy() {
|
||||
return new BerserkersOfBloodRidge(this);
|
||||
}
|
||||
|
||||
}
|
|
@ -41,4 +41,13 @@ public class BirdsOfParadise extends mage.sets.tenth.BirdsOfParadise {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public BirdsOfParadise(final BirdsOfParadise card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BirdsOfParadise copy() {
|
||||
return new BirdsOfParadise(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class BlackKnight extends mage.sets.magic2010.BlackKnight {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public BlackKnight(final BlackKnight card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlackKnight copy() {
|
||||
return new BlackKnight(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class BlindingMage extends mage.sets.magic2010.BlindingMage {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public BlindingMage(final BlindingMage card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlindingMage copy() {
|
||||
return new BlindingMage(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class BloodthroneVampire extends mage.sets.riseoftheeldrazi.BloodthroneVa
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public BloodthroneVampire(final BloodthroneVampire card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BloodthroneVampire copy() {
|
||||
return new BloodthroneVampire(this);
|
||||
}
|
||||
|
||||
}
|
|
@ -41,4 +41,13 @@ public class Cancel extends mage.sets.shardsofalara.Cancel {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public Cancel(final Cancel card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Cancel copy() {
|
||||
return new Cancel(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class CanyonMinotaur extends mage.sets.conflux.CanyonMinotaur {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public CanyonMinotaur(final CanyonMinotaur card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CanyonMinotaur copy() {
|
||||
return new CanyonMinotaur(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -44,9 +44,13 @@ import mage.abilities.costs.common.TapTargetCost;
|
|||
import mage.abilities.effects.ContinuousEffectImpl;
|
||||
import mage.abilities.effects.common.BoostControlledEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.Filter.ComparisonScope;
|
||||
import mage.filter.common.FilterControlledCreaturePermanent;
|
||||
import mage.filter.common.FilterControlledPermanent;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.target.common.TargetControlledCreaturePermanent;
|
||||
import mage.target.common.TargetControlledPermanent;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
|
@ -57,7 +61,7 @@ import mage.target.common.TargetCreaturePermanent;
|
|||
public class CaptivatingVampire extends CardImpl<CaptivatingVampire> {
|
||||
|
||||
private static FilterCreaturePermanent filter1 = new FilterCreaturePermanent("Vampire creatures");
|
||||
private static FilterCreaturePermanent filter2 = new FilterCreaturePermanent("five untapped Vampires");
|
||||
private static FilterControlledCreaturePermanent filter2 = new FilterControlledCreaturePermanent("five untapped Vampires");
|
||||
|
||||
static {
|
||||
filter1.getSubtype().add("Vampire");
|
||||
|
@ -75,7 +79,7 @@ public class CaptivatingVampire extends CardImpl<CaptivatingVampire> {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter1, true)));
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CaptivatingVampireEffect(), new TapTargetCost(new TargetControlledPermanent(5, 5, filter2, true)));
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CaptivatingVampireEffect(), new TapTargetCost(new TargetControlledCreaturePermanent(5, 5, filter2, true)));
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class CelestialPurge extends mage.sets.conflux.CelestialPurge {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public CelestialPurge(final CelestialPurge card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CelestialPurge copy() {
|
||||
return new CelestialPurge(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class ChandraNalaar extends mage.sets.magic2010.ChandraNalaar {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public ChandraNalaar(final ChandraNalaar card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ChandraNalaar copy() {
|
||||
return new ChandraNalaar(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class ChildOfNight extends mage.sets.magic2010.ChildOfNight {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public ChildOfNight(final ChildOfNight card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ChildOfNight copy() {
|
||||
return new ChildOfNight(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class Clone extends mage.sets.tenth.Clone {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public Clone(final Clone card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Clone copy() {
|
||||
return new Clone(this);
|
||||
}
|
||||
|
||||
}
|
|
@ -41,4 +41,13 @@ public class CloudElemental extends mage.sets.tenth.CloudElemental {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public CloudElemental(final CloudElemental card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CloudElemental copy() {
|
||||
return new CloudElemental(this);
|
||||
}
|
||||
|
||||
}
|
|
@ -41,4 +41,13 @@ public class Condemn extends mage.sets.tenth.Condemn {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public Condemn(final Condemn card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Condemn copy() {
|
||||
return new Condemn(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -34,6 +34,7 @@ import java.util.UUID;
|
|||
import mage.Constants.CardType;
|
||||
import mage.Constants.Outcome;
|
||||
import mage.Constants.Rarity;
|
||||
import mage.Constants.Zone;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.AttacksTriggeredAbility;
|
||||
|
@ -106,10 +107,10 @@ class ConundrumSphinxEffect extends OneShotEffect<ConundrumSphinxEffect> {
|
|||
cards.add(card);
|
||||
player.revealCards(cards, game);
|
||||
if (card.getName().equals(cardChoice.getChoice())) {
|
||||
player.putInHand(card, game);
|
||||
card.moveToZone(Zone.HAND, game, true);
|
||||
}
|
||||
else {
|
||||
player.getLibrary().putOnBottom(card, game);
|
||||
card.moveToZone(Zone.LIBRARY, game, false);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class CudgelTroll extends mage.sets.magic2010.CudgelTroll {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public CudgelTroll(final CudgelTroll card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CudgelTroll copy() {
|
||||
return new CudgelTroll(this);
|
||||
}
|
||||
|
||||
}
|
|
@ -112,17 +112,17 @@ class CultivateEffect extends OneShotEffect<CultivateEffect> {
|
|||
target2.setRequired(true);
|
||||
player.chooseTarget(revealed, target2, source, game);
|
||||
Card card = revealed.get(target2.getFirstTarget(), game);
|
||||
player.putOntoBattlefield(card, game);
|
||||
card.putOntoBattlefield(game, Zone.LIBRARY, source.getControllerId());
|
||||
revealed.remove(card);
|
||||
Permanent permanent = game.getPermanent(card.getId());
|
||||
if (permanent != null)
|
||||
permanent.setTapped(true);
|
||||
card = revealed.getCards(game).iterator().next();
|
||||
player.putInHand(card, game);
|
||||
card.moveToZone(Zone.HAND, game, false);
|
||||
}
|
||||
else if (target.getTargets().size() == 1) {
|
||||
Card card = revealed.getCards(game).iterator().next();
|
||||
player.putOntoBattlefield(card, game);
|
||||
card.putOntoBattlefield(game, Zone.LIBRARY, source.getControllerId());
|
||||
Permanent permanent = game.getPermanent(card.getId());
|
||||
if (permanent != null)
|
||||
permanent.setTapped(true);
|
||||
|
|
|
@ -32,6 +32,7 @@ import java.util.UUID;
|
|||
import mage.Constants.CardType;
|
||||
import mage.Constants.Outcome;
|
||||
import mage.Constants.Rarity;
|
||||
import mage.Constants.Zone;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.OnEventTriggeredAbility;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
|
@ -87,7 +88,8 @@ class DarkTutelageEffect extends OneShotEffect<DarkTutelageEffect> {
|
|||
Player player = game.getPlayer(source.getControllerId());
|
||||
Card card = player.getLibrary().removeFromTop(game);
|
||||
if (card != null) {
|
||||
player.putInHand(card, game);
|
||||
card.moveToZone(Zone.HAND, game, false);
|
||||
// player.putInHand(card, game);
|
||||
player.loseLife(card.getManaCost().convertedManaCost(), game);
|
||||
Cards cards = new CardsImpl();
|
||||
cards.add(card);
|
||||
|
|
|
@ -41,4 +41,13 @@ public class DayOfJudgment extends mage.sets.zendikar.DayOfJudgment {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public DayOfJudgment(final DayOfJudgment card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DayOfJudgment copy() {
|
||||
return new DayOfJudgment(this);
|
||||
}
|
||||
|
||||
}
|
|
@ -41,4 +41,13 @@ public class Deathmark extends mage.sets.magic2010.Deathmark {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public Deathmark(final Deathmark card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Deathmark copy() {
|
||||
return new Deathmark(this);
|
||||
}
|
||||
|
||||
}
|
|
@ -41,4 +41,13 @@ public class Demolish extends mage.sets.zendikar.Demolish {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public Demolish(final Demolish card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Demolish copy() {
|
||||
return new Demolish(this);
|
||||
}
|
||||
|
||||
}
|
|
@ -32,15 +32,16 @@ import java.util.UUID;
|
|||
import mage.Constants.CardType;
|
||||
import mage.Constants.Rarity;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.costs.AlternativeCost;
|
||||
import mage.abilities.costs.common.PayLifeCost;
|
||||
import mage.abilities.costs.common.SacrificeTargetCost;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.abilities.keyword.TrampleAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.Filter.ComparisonScope;
|
||||
import mage.filter.common.FilterControlledCreaturePermanent;
|
||||
import mage.filter.common.FilterControlledPermanent;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.game.Game;
|
||||
import mage.target.common.TargetControlledPermanent;
|
||||
|
||||
/**
|
||||
|
@ -79,7 +80,7 @@ public class DemonOfDeathsGate extends CardImpl<DemonOfDeathsGate> {
|
|||
}
|
||||
|
||||
class DemonOfDeathsGateAlternativeCost extends AlternativeCost<DemonOfDeathsGateAlternativeCost> {
|
||||
private static FilterCreaturePermanent filter = new FilterCreaturePermanent("black creature");
|
||||
private static FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("black creature");
|
||||
|
||||
static {
|
||||
filter.getColor().setBlack(true);
|
||||
|
|
|
@ -41,4 +41,13 @@ public class DemonsHorn extends mage.sets.tenth.DemonsHorn {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public DemonsHorn(final DemonsHorn card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DemonsHorn copy() {
|
||||
return new DemonsHorn(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class DiabolicTutor extends mage.sets.tenth.DiabolicTutor {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public DiabolicTutor(final DiabolicTutor card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DiabolicTutor copy() {
|
||||
return new DiabolicTutor(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class Disentomb extends mage.sets.magic2010.Disentomb {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public Disentomb(final Disentomb card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Disentomb copy() {
|
||||
return new Disentomb(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class DoomBlade extends mage.sets.magic2010.DoomBlade {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public DoomBlade(final DoomBlade card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DoomBlade copy() {
|
||||
return new DoomBlade(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class DragonsClaw extends mage.sets.tenth.DragonsClaw {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public DragonsClaw(final DragonsClaw card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DragonsClaw copy() {
|
||||
return new DragonsClaw(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class DragonskullSummit extends mage.sets.magic2010.DragonskullSummit {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public DragonskullSummit(final DragonskullSummit card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DragonskullSummit copy() {
|
||||
return new DragonskullSummit(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class Duress extends mage.sets.magic2010.Duress {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public Duress(final Duress card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Duress copy() {
|
||||
return new Duress(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class EliteVanguard extends mage.sets.magic2010.EliteVanguard {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public EliteVanguard(final EliteVanguard card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EliteVanguard copy() {
|
||||
return new EliteVanguard(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,6 +41,7 @@ import mage.abilities.costs.common.TapSourceCost;
|
|||
import mage.abilities.costs.mana.GenericManaCost;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.ScryEffect;
|
||||
import mage.cards.Card;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.game.Game;
|
||||
import mage.players.Player;
|
||||
|
@ -91,7 +92,9 @@ class ElixerOfImmortalityEffect extends OneShotEffect<ElixerOfImmortalityEffect>
|
|||
Player player = game.getPlayer(source.getControllerId());
|
||||
player.gainLife(5, game);
|
||||
player.removeFromBattlefield(game.getPermanent(source.getSourceId()), game);
|
||||
player.getLibrary().putOnBottom(game.getCard(source.getSourceId()), game);
|
||||
Card card = game.getCard(source.getSourceId());
|
||||
card.moveToZone(Zone.LIBRARY, game, true);
|
||||
// player.getLibrary().putOnBottom(game.getCard(source.getSourceId()), game);
|
||||
player.getLibrary().addAll(player.getGraveyard().getCards(game));
|
||||
player.getGraveyard().clear();
|
||||
player.getLibrary().shuffle();
|
||||
|
|
|
@ -41,4 +41,13 @@ public class ElvishArchdruid extends mage.sets.magic2010.ElvishArchdruid {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public ElvishArchdruid(final ElvishArchdruid card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ElvishArchdruid copy() {
|
||||
return new ElvishArchdruid(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class Excommunicate extends mage.sets.shardsofalara.Excommunicate {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public Excommunicate(final Excommunicate card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Excommunicate copy() {
|
||||
return new Excommunicate(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class FieryHellhound extends mage.sets.magic2010.FieryHellhound {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public FieryHellhound(final FieryHellhound card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public FieryHellhound copy() {
|
||||
return new FieryHellhound(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class Fireball extends mage.sets.magic2010.Fireball {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public Fireball(final Fireball card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Fireball copy() {
|
||||
return new Fireball(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,4 +41,13 @@ public class Flashfreeze extends mage.sets.tenth.Flashfreeze {
|
|||
this.expansionSetCode = "M11";
|
||||
}
|
||||
|
||||
public Flashfreeze(final Flashfreeze card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flashfreeze copy() {
|
||||
return new Flashfreeze(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue