mirror of
https://github.com/correl/mage.git
synced 2024-11-22 03:00:11 +00:00
rename classes (#10383)
This commit is contained in:
parent
d199640fb5
commit
60e488cf05
123 changed files with 356 additions and 378 deletions
|
@ -515,12 +515,12 @@ public class DownloadPicturesService extends DefaultBoundedRangeModel implements
|
||||||
url.setType2(isType2);
|
url.setType2(isType2);
|
||||||
allCardsUrls.add(url);
|
allCardsUrls.add(url);
|
||||||
}
|
}
|
||||||
if (card.isModalDoubleFacesCard()) {
|
if (card.isModalDoubleFacedCard()) {
|
||||||
if (card.getModalDoubleFacesSecondSideName() == null || card.getModalDoubleFacesSecondSideName().trim().isEmpty()) {
|
if (card.getModalDoubleFacedSecondSideName() == null || card.getModalDoubleFacedSecondSideName().trim().isEmpty()) {
|
||||||
throw new IllegalStateException("MDF card can't have empty name.");
|
throw new IllegalStateException("MDF card can't have empty name.");
|
||||||
}
|
}
|
||||||
CardDownloadData cardDownloadData = new CardDownloadData(
|
CardDownloadData cardDownloadData = new CardDownloadData(
|
||||||
card.getModalDoubleFacesSecondSideName(),
|
card.getModalDoubleFacedSecondSideName(),
|
||||||
card.getSetCode(),
|
card.getSetCode(),
|
||||||
card.getCardNumber(),
|
card.getCardNumber(),
|
||||||
card.usesVariousArt(),
|
card.usesVariousArt(),
|
||||||
|
|
|
@ -109,7 +109,7 @@ public class CardView extends SimpleCardView {
|
||||||
protected List<String> rightSplitRules;
|
protected List<String> rightSplitRules;
|
||||||
protected String rightSplitTypeLine;
|
protected String rightSplitTypeLine;
|
||||||
|
|
||||||
protected boolean isModalDoubleFacesCard;
|
protected boolean isModalDoubleFacedCard;
|
||||||
|
|
||||||
protected ArtRect artRect = ArtRect.NORMAL;
|
protected ArtRect artRect = ArtRect.NORMAL;
|
||||||
|
|
||||||
|
@ -217,7 +217,7 @@ public class CardView extends SimpleCardView {
|
||||||
this.rightSplitRules = cardView.rightSplitRules == null ? null : new ArrayList<>(cardView.rightSplitRules);
|
this.rightSplitRules = cardView.rightSplitRules == null ? null : new ArrayList<>(cardView.rightSplitRules);
|
||||||
this.rightSplitTypeLine = cardView.rightSplitTypeLine;
|
this.rightSplitTypeLine = cardView.rightSplitTypeLine;
|
||||||
|
|
||||||
this.isModalDoubleFacesCard = cardView.isModalDoubleFacesCard;
|
this.isModalDoubleFacedCard = cardView.isModalDoubleFacedCard;
|
||||||
|
|
||||||
this.artRect = cardView.artRect;
|
this.artRect = cardView.artRect;
|
||||||
this.targets = cardView.targets == null ? null : new ArrayList<>(cardView.targets);
|
this.targets = cardView.targets == null ? null : new ArrayList<>(cardView.targets);
|
||||||
|
@ -373,9 +373,9 @@ public class CardView extends SimpleCardView {
|
||||||
fullCardName = card.getName(); // split card contains full name as normal
|
fullCardName = card.getName(); // split card contains full name as normal
|
||||||
this.manaCostLeftStr = String.join("", splitCard.getLeftHalfCard().getManaCostSymbols());
|
this.manaCostLeftStr = String.join("", splitCard.getLeftHalfCard().getManaCostSymbols());
|
||||||
this.manaCostRightStr = String.join("", splitCard.getRightHalfCard().getManaCostSymbols());
|
this.manaCostRightStr = String.join("", splitCard.getRightHalfCard().getManaCostSymbols());
|
||||||
} else if (card instanceof ModalDoubleFacesCard) {
|
} else if (card instanceof ModalDoubleFacedCard) {
|
||||||
this.isModalDoubleFacesCard = true;
|
this.isModalDoubleFacedCard = true;
|
||||||
ModalDoubleFacesCard mainCard = ((ModalDoubleFacesCard) card);
|
ModalDoubleFacedCard mainCard = ((ModalDoubleFacedCard) card);
|
||||||
fullCardName = mainCard.getLeftHalfCard().getName() + MockCard.MODAL_DOUBLE_FACES_NAME_SEPARATOR + mainCard.getRightHalfCard().getName();
|
fullCardName = mainCard.getLeftHalfCard().getName() + MockCard.MODAL_DOUBLE_FACES_NAME_SEPARATOR + mainCard.getRightHalfCard().getName();
|
||||||
this.manaCostLeftStr = String.join("", mainCard.getLeftHalfCard().getManaCostSymbols());
|
this.manaCostLeftStr = String.join("", mainCard.getLeftHalfCard().getManaCostSymbols());
|
||||||
this.manaCostRightStr = String.join("", mainCard.getRightHalfCard().getManaCostSymbols());
|
this.manaCostRightStr = String.join("", mainCard.getRightHalfCard().getManaCostSymbols());
|
||||||
|
@ -508,9 +508,9 @@ public class CardView extends SimpleCardView {
|
||||||
this.alternateName = card.getFlipCardName();
|
this.alternateName = card.getFlipCardName();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (card instanceof ModalDoubleFacesCard) {
|
if (card instanceof ModalDoubleFacedCard) {
|
||||||
this.transformable = true; // enable GUI day/night button
|
this.transformable = true; // enable GUI day/night button
|
||||||
ModalDoubleFacesCard mdfCard = (ModalDoubleFacesCard) card;
|
ModalDoubleFacedCard mdfCard = (ModalDoubleFacedCard) card;
|
||||||
this.secondCardFace = new CardView(mdfCard.getRightHalfCard(), game);
|
this.secondCardFace = new CardView(mdfCard.getRightHalfCard(), game);
|
||||||
this.alternateName = mdfCard.getRightHalfCard().getName();
|
this.alternateName = mdfCard.getRightHalfCard().getName();
|
||||||
}
|
}
|
||||||
|
|
|
@ -206,9 +206,9 @@ public class TinyLeaders extends Constructed {
|
||||||
if (card instanceof SplitCard) {
|
if (card instanceof SplitCard) {
|
||||||
costs.add(((SplitCard) card).getLeftHalfCard().getManaValue());
|
costs.add(((SplitCard) card).getLeftHalfCard().getManaValue());
|
||||||
costs.add(((SplitCard) card).getRightHalfCard().getManaValue());
|
costs.add(((SplitCard) card).getRightHalfCard().getManaValue());
|
||||||
} else if (card instanceof ModalDoubleFacesCard) {
|
} else if (card instanceof ModalDoubleFacedCard) {
|
||||||
costs.add(((ModalDoubleFacesCard) card).getLeftHalfCard().getManaValue());
|
costs.add(((ModalDoubleFacedCard) card).getLeftHalfCard().getManaValue());
|
||||||
costs.add(((ModalDoubleFacesCard) card).getRightHalfCard().getManaValue());
|
costs.add(((ModalDoubleFacedCard) card).getRightHalfCard().getManaValue());
|
||||||
} else {
|
} else {
|
||||||
costs.add(card.getManaValue());
|
costs.add(card.getManaValue());
|
||||||
}
|
}
|
||||||
|
|
|
@ -1257,10 +1257,10 @@ public class HumanPlayer extends PlayerImpl {
|
||||||
MageObject object = game.getObject(response.getUUID());
|
MageObject object = game.getObject(response.getUUID());
|
||||||
|
|
||||||
// mdf cards
|
// mdf cards
|
||||||
if (object instanceof ModalDoubleFacesCardHalf) {
|
if (object instanceof ModalDoubleFacedCardHalf) {
|
||||||
if (!Zone.BATTLEFIELD.equals(game.getState().getZone(object.getId()))
|
if (!Zone.BATTLEFIELD.equals(game.getState().getZone(object.getId()))
|
||||||
&& !Zone.STACK.equals(game.getState().getZone(object.getId()))) {
|
&& !Zone.STACK.equals(game.getState().getZone(object.getId()))) {
|
||||||
return ((ModalDoubleFacesCardHalf) object).getMainCard().getId();
|
return ((ModalDoubleFacedCardHalf) object).getMainCard().getId();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2217,7 +2217,7 @@ public class HumanPlayer extends PlayerImpl {
|
||||||
if (mainCard != null && !Zone.BATTLEFIELD.equals(game.getState().getZone(mainCard.getId()))) {
|
if (mainCard != null && !Zone.BATTLEFIELD.equals(game.getState().getZone(mainCard.getId()))) {
|
||||||
if (mainCard instanceof SplitCard
|
if (mainCard instanceof SplitCard
|
||||||
|| mainCard instanceof AdventureCard
|
|| mainCard instanceof AdventureCard
|
||||||
|| mainCard instanceof ModalDoubleFacesCard) {
|
|| mainCard instanceof ModalDoubleFacedCard) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ import mage.abilities.effects.common.TapSourceUnlessPaysEffect;
|
||||||
import mage.abilities.mana.BlackManaAbility;
|
import mage.abilities.mana.BlackManaAbility;
|
||||||
import mage.cards.Card;
|
import mage.cards.Card;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
|
@ -25,7 +25,7 @@ import java.util.stream.Collectors;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public final class AgadeemsAwakening extends ModalDoubleFacesCard {
|
public final class AgadeemsAwakening extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public AgadeemsAwakening(UUID ownerId, CardSetInfo setInfo) {
|
public AgadeemsAwakening(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -5,7 +5,7 @@ import mage.abilities.common.EntersBattlefieldTappedAbility;
|
||||||
import mage.abilities.keyword.TrampleAbility;
|
import mage.abilities.keyword.TrampleAbility;
|
||||||
import mage.abilities.mana.RedManaAbility;
|
import mage.abilities.mana.RedManaAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public final class AkoumWarrior extends ModalDoubleFacesCard {
|
public final class AkoumWarrior extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public AkoumWarrior(UUID ownerId, CardSetInfo setInfo) {
|
public AkoumWarrior(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -31,7 +31,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author jeffwadsworth
|
* @author jeffwadsworth
|
||||||
*/
|
*/
|
||||||
public final class AlrundGodOfTheCosmos extends ModalDoubleFacesCard {
|
public final class AlrundGodOfTheCosmos extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public AlrundGodOfTheCosmos(UUID ownerId, CardSetInfo setInfo) {
|
public AlrundGodOfTheCosmos(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(
|
super(
|
||||||
|
|
|
@ -12,8 +12,8 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.Cards;
|
import mage.cards.Cards;
|
||||||
import mage.cards.CardsImpl;
|
import mage.cards.CardsImpl;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.cards.ModalDoubleFacesCardHalf;
|
import mage.cards.ModalDoubleFacedCardHalf;
|
||||||
import mage.choices.Choice;
|
import mage.choices.Choice;
|
||||||
import mage.choices.ChoiceImpl;
|
import mage.choices.ChoiceImpl;
|
||||||
import mage.constants.AsThoughEffectType;
|
import mage.constants.AsThoughEffectType;
|
||||||
|
@ -115,8 +115,8 @@ class AminatousAuguryEffect extends OneShotEffect {
|
||||||
// TODO staticFilters must be configured to check the main card face (Ex: MDFC card like Sea Gate Restoration does not count as a land if face up)
|
// TODO staticFilters must be configured to check the main card face (Ex: MDFC card like Sea Gate Restoration does not count as a land if face up)
|
||||||
for (Card card : cardsToCast.getCards(game)) {
|
for (Card card : cardsToCast.getCards(game)) {
|
||||||
// ex: Sea Gate Restoration bug #9956
|
// ex: Sea Gate Restoration bug #9956
|
||||||
if (card instanceof ModalDoubleFacesCard) {
|
if (card instanceof ModalDoubleFacedCard) {
|
||||||
ModalDoubleFacesCardHalf leftHalfCard = ((ModalDoubleFacesCard) card).getLeftHalfCard();
|
ModalDoubleFacedCardHalf leftHalfCard = ((ModalDoubleFacedCard) card).getLeftHalfCard();
|
||||||
if (leftHalfCard != null
|
if (leftHalfCard != null
|
||||||
&& !leftHalfCard.isLand(game)) {
|
&& !leftHalfCard.isLand(game)) {
|
||||||
AminatousAuguryCastFromExileEffect effect = new AminatousAuguryCastFromExileEffect();
|
AminatousAuguryCastFromExileEffect effect = new AminatousAuguryCastFromExileEffect();
|
||||||
|
|
|
@ -10,7 +10,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect;
|
||||||
import mage.abilities.hint.common.LandsYouControlHint;
|
import mage.abilities.hint.common.LandsYouControlHint;
|
||||||
import mage.abilities.keyword.TrampleAbility;
|
import mage.abilities.keyword.TrampleAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
|
@ -24,7 +24,7 @@ import java.util.UUID;
|
||||||
*
|
*
|
||||||
* @author htrajan
|
* @author htrajan
|
||||||
*/
|
*/
|
||||||
public final class AugmenterPugilist extends ModalDoubleFacesCard {
|
public final class AugmenterPugilist extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public AugmenterPugilist(UUID ownerId, CardSetInfo setInfo) {
|
public AugmenterPugilist(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -4,7 +4,7 @@ import mage.abilities.common.EntersBattlefieldTappedAbility;
|
||||||
import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect;
|
import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect;
|
||||||
import mage.abilities.mana.GreenManaAbility;
|
import mage.abilities.mana.GreenManaAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.target.common.TargetCardInYourGraveyard;
|
import mage.target.common.TargetCardInYourGraveyard;
|
||||||
|
@ -14,7 +14,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public final class BalaGedRecovery extends ModalDoubleFacesCard {
|
public final class BalaGedRecovery extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public BalaGedRecovery(UUID ownerId, CardSetInfo setInfo) {
|
public BalaGedRecovery(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -2,12 +2,10 @@ package mage.cards.b;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import mage.abilities.mana.BlackManaAbility;
|
|
||||||
import mage.abilities.mana.BlueManaAbility;
|
import mage.abilities.mana.BlueManaAbility;
|
||||||
import mage.abilities.mana.GreenManaAbility;
|
import mage.abilities.mana.GreenManaAbility;
|
||||||
import mage.cards.CardImpl;
|
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
|
||||||
|
@ -15,7 +13,7 @@ import mage.constants.SubType;
|
||||||
*
|
*
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class BarkchannelPathway extends ModalDoubleFacesCard {
|
public final class BarkchannelPathway extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public BarkchannelPathway(UUID ownerId, CardSetInfo setInfo) {
|
public BarkchannelPathway(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -4,7 +4,7 @@ import mage.abilities.common.EntersBattlefieldTappedAbility;
|
||||||
import mage.abilities.effects.common.continuous.BoostOpponentsEffect;
|
import mage.abilities.effects.common.continuous.BoostOpponentsEffect;
|
||||||
import mage.abilities.mana.BlueManaAbility;
|
import mage.abilities.mana.BlueManaAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
@ -14,7 +14,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public final class BeyeenVeil extends ModalDoubleFacesCard {
|
public final class BeyeenVeil extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public BeyeenVeil(UUID ownerId, CardSetInfo setInfo) {
|
public BeyeenVeil(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -10,7 +10,7 @@ import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.ExileTopXMayPlayUntilEndOfTurnEffect;
|
import mage.abilities.effects.common.ExileTopXMayPlayUntilEndOfTurnEffect;
|
||||||
import mage.abilities.keyword.BoastAbility;
|
import mage.abilities.keyword.BoastAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
|
@ -20,7 +20,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class BirgiGodOfStorytelling extends ModalDoubleFacesCard {
|
public final class BirgiGodOfStorytelling extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public BirgiGodOfStorytelling(UUID ownerId, CardSetInfo setInfo) {
|
public BirgiGodOfStorytelling(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(
|
super(
|
||||||
|
|
|
@ -9,7 +9,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect;
|
||||||
import mage.abilities.keyword.MenaceAbility;
|
import mage.abilities.keyword.MenaceAbility;
|
||||||
import mage.abilities.mana.BlackManaAbility;
|
import mage.abilities.mana.BlackManaAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
@ -19,7 +19,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public final class BlackbloomRogue extends ModalDoubleFacesCard {
|
public final class BlackbloomRogue extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public BlackbloomRogue(UUID ownerId, CardSetInfo setInfo) {
|
public BlackbloomRogue(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -10,7 +10,7 @@ import mage.abilities.effects.common.LookLibraryAndPickControllerEffect;
|
||||||
import mage.abilities.effects.common.continuous.BoostControlledEffect;
|
import mage.abilities.effects.common.continuous.BoostControlledEffect;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.Cards;
|
import mage.cards.Cards;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
|
@ -22,7 +22,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author weirddan455
|
* @author weirddan455
|
||||||
*/
|
*/
|
||||||
public final class BlexVexingPest extends ModalDoubleFacesCard {
|
public final class BlexVexingPest extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
private static final FilterCreaturePermanent filter
|
private static final FilterCreaturePermanent filter
|
||||||
= new FilterCreaturePermanent("Pests, Bats, Insects, Snakes, and Spiders");
|
= new FilterCreaturePermanent("Pests, Bats, Insects, Snakes, and Spiders");
|
||||||
|
|
|
@ -3,7 +3,7 @@ package mage.cards.b;
|
||||||
import mage.abilities.mana.BlackManaAbility;
|
import mage.abilities.mana.BlackManaAbility;
|
||||||
import mage.abilities.mana.RedManaAbility;
|
import mage.abilities.mana.RedManaAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class BlightstepPathway extends ModalDoubleFacesCard {
|
public final class BlightstepPathway extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public BlightstepPathway(UUID ownerId, CardSetInfo setInfo) {
|
public BlightstepPathway(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -3,7 +3,7 @@ package mage.cards.b;
|
||||||
import mage.abilities.mana.GreenManaAbility;
|
import mage.abilities.mana.GreenManaAbility;
|
||||||
import mage.abilities.mana.WhiteManaAbility;
|
import mage.abilities.mana.WhiteManaAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public final class BranchloftPathway extends ModalDoubleFacesCard {
|
public final class BranchloftPathway extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public BranchloftPathway(UUID ownerId, CardSetInfo setInfo) {
|
public BranchloftPathway(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -3,7 +3,7 @@ package mage.cards.b;
|
||||||
import mage.abilities.mana.BlackManaAbility;
|
import mage.abilities.mana.BlackManaAbility;
|
||||||
import mage.abilities.mana.WhiteManaAbility;
|
import mage.abilities.mana.WhiteManaAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public final class BrightclimbPathway extends ModalDoubleFacesCard {
|
public final class BrightclimbPathway extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public BrightclimbPathway(UUID ownerId, CardSetInfo setInfo) {
|
public BrightclimbPathway(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -3,7 +3,7 @@ package mage.cards.c;
|
||||||
import mage.abilities.mana.BlackManaAbility;
|
import mage.abilities.mana.BlackManaAbility;
|
||||||
import mage.abilities.mana.BlueManaAbility;
|
import mage.abilities.mana.BlueManaAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public final class ClearwaterPathway extends ModalDoubleFacesCard {
|
public final class ClearwaterPathway extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public ClearwaterPathway(UUID ownerId, CardSetInfo setInfo) {
|
public ClearwaterPathway(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -28,7 +28,7 @@ import java.util.stream.Collectors;
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class CosimaGodOfTheVoyage extends ModalDoubleFacesCard {
|
public final class CosimaGodOfTheVoyage extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
private static final FilterPermanent filter = new FilterControlledPermanent(SubType.VEHICLE, "a Vehicle you control");
|
private static final FilterPermanent filter = new FilterControlledPermanent(SubType.VEHICLE, "a Vehicle you control");
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ import mage.abilities.keyword.TransformAbility;
|
||||||
import mage.abilities.mana.GreenManaAbility;
|
import mage.abilities.mana.GreenManaAbility;
|
||||||
import mage.abilities.mana.RedManaAbility;
|
import mage.abilities.mana.RedManaAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public final class CragcrownPathway extends ModalDoubleFacesCard {
|
public final class CragcrownPathway extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public CragcrownPathway(UUID ownerId, CardSetInfo setInfo) {
|
public CragcrownPathway(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -3,7 +3,7 @@ package mage.cards.d;
|
||||||
import mage.abilities.mana.BlackManaAbility;
|
import mage.abilities.mana.BlackManaAbility;
|
||||||
import mage.abilities.mana.GreenManaAbility;
|
import mage.abilities.mana.GreenManaAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class DarkborePathway extends ModalDoubleFacesCard {
|
public final class DarkborePathway extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public DarkborePathway(UUID ownerId, CardSetInfo setInfo) {
|
public DarkborePathway(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -77,9 +77,9 @@ class DeceiverOfFormEffect extends OneShotEffect {
|
||||||
for (Permanent permanent : game.getBattlefield().getAllActivePermanents(StaticFilters.FILTER_PERMANENT_CREATURE, controller.getId(), game)) {
|
for (Permanent permanent : game.getBattlefield().getAllActivePermanents(StaticFilters.FILTER_PERMANENT_CREATURE, controller.getId(), game)) {
|
||||||
if (!permanent.getId().equals(sourceObject.getId())) {
|
if (!permanent.getId().equals(sourceObject.getId())) {
|
||||||
// handle MDFC
|
// handle MDFC
|
||||||
if (cardFromTop instanceof ModalDoubleFacesCard
|
if (cardFromTop instanceof ModalDoubleFacedCard
|
||||||
&& ((ModalDoubleFacesCard) cardFromTop).getLeftHalfCard().isCreature(game)) {
|
&& ((ModalDoubleFacedCard) cardFromTop).getLeftHalfCard().isCreature(game)) {
|
||||||
copyFromCard = ((ModalDoubleFacesCard) cardFromTop).getLeftHalfCard();
|
copyFromCard = ((ModalDoubleFacedCard) cardFromTop).getLeftHalfCard();
|
||||||
}
|
}
|
||||||
Permanent newBluePrint = null;
|
Permanent newBluePrint = null;
|
||||||
newBluePrint = new PermanentCard(copyFromCard, source.getControllerId(), game);
|
newBluePrint = new PermanentCard(copyFromCard, source.getControllerId(), game);
|
||||||
|
|
|
@ -8,7 +8,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
import mage.abilities.keyword.FlyingAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.cards.SplitCard;
|
import mage.cards.SplitCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SpellAbilityType;
|
import mage.constants.SpellAbilityType;
|
||||||
|
@ -69,8 +69,8 @@ class DoubleHeaderPredicate implements Predicate<MageObject> {
|
||||||
String name = input.getName();
|
String name = input.getName();
|
||||||
if (input instanceof SplitCard) {
|
if (input instanceof SplitCard) {
|
||||||
return hasTwoWords(((SplitCard) input).getLeftHalfCard().getName()) || hasTwoWords(((SplitCard) input).getRightHalfCard().getName());
|
return hasTwoWords(((SplitCard) input).getLeftHalfCard().getName()) || hasTwoWords(((SplitCard) input).getRightHalfCard().getName());
|
||||||
} else if (input instanceof ModalDoubleFacesCard) {
|
} else if (input instanceof ModalDoubleFacedCard) {
|
||||||
return hasTwoWords(((ModalDoubleFacesCard) input).getLeftHalfCard().getName()) || hasTwoWords(((ModalDoubleFacesCard) input).getRightHalfCard().getName());
|
return hasTwoWords(((ModalDoubleFacedCard) input).getLeftHalfCard().getName()) || hasTwoWords(((ModalDoubleFacedCard) input).getRightHalfCard().getName());
|
||||||
} else if (input instanceof Spell && ((Spell) input).getSpellAbility().getSpellAbilityType() == SpellAbilityType.SPLIT_FUSED) {
|
} else if (input instanceof Spell && ((Spell) input).getSpellAbility().getSpellAbilityType() == SpellAbilityType.SPLIT_FUSED) {
|
||||||
SplitCard card = (SplitCard) ((Spell) input).getCard();
|
SplitCard card = (SplitCard) ((Spell) input).getCard();
|
||||||
return hasTwoWords(card.getLeftHalfCard().getName()) || hasTwoWords(card.getRightHalfCard().getName());
|
return hasTwoWords(card.getLeftHalfCard().getName()) || hasTwoWords(card.getRightHalfCard().getName());
|
||||||
|
|
|
@ -182,8 +182,8 @@ class DraugrNecromancerSpendAnyManaEffect extends AsThoughEffectImpl implements
|
||||||
cardState = game.getLastKnownInformationCard(card.getId(), Zone.EXILED);
|
cardState = game.getLastKnownInformationCard(card.getId(), Zone.EXILED);
|
||||||
} else if (card instanceof AdventureCard) {
|
} else if (card instanceof AdventureCard) {
|
||||||
cardState = game.getLastKnownInformationCard(card.getId(), Zone.EXILED);
|
cardState = game.getLastKnownInformationCard(card.getId(), Zone.EXILED);
|
||||||
} else if (card instanceof ModalDoubleFacesCard) {
|
} else if (card instanceof ModalDoubleFacedCard) {
|
||||||
cardState = game.getLastKnownInformationCard(((ModalDoubleFacesCard) card).getLeftHalfCard().getId(), Zone.EXILED);
|
cardState = game.getLastKnownInformationCard(((ModalDoubleFacedCard) card).getLeftHalfCard().getId(), Zone.EXILED);
|
||||||
} else {
|
} else {
|
||||||
cardState = game.getLastKnownInformationCard(card.getId(), Zone.EXILED);
|
cardState = game.getLastKnownInformationCard(card.getId(), Zone.EXILED);
|
||||||
}
|
}
|
||||||
|
|
|
@ -89,13 +89,13 @@ class DreamDevourerAddAbilityEffect extends ContinuousEffectImpl {
|
||||||
String leftHalfCost = CardUtil.reduceCost(((SplitCard) card).getLeftHalfCard().getManaCost(), 2).getText();
|
String leftHalfCost = CardUtil.reduceCost(((SplitCard) card).getLeftHalfCard().getManaCost(), 2).getText();
|
||||||
String rightHalfCost = CardUtil.reduceCost(((SplitCard) card).getRightHalfCard().getManaCost(), 2).getText();
|
String rightHalfCost = CardUtil.reduceCost(((SplitCard) card).getRightHalfCard().getManaCost(), 2).getText();
|
||||||
foretellAbility = new ForetellAbility(card, leftHalfCost, rightHalfCost);
|
foretellAbility = new ForetellAbility(card, leftHalfCost, rightHalfCost);
|
||||||
} else if (card instanceof ModalDoubleFacesCard) {
|
} else if (card instanceof ModalDoubleFacedCard) {
|
||||||
ModalDoubleFacesCardHalf leftHalfCard = ((ModalDoubleFacesCard) card).getLeftHalfCard();
|
ModalDoubleFacedCardHalf leftHalfCard = ((ModalDoubleFacedCard) card).getLeftHalfCard();
|
||||||
// If front side of MDFC is land, do nothing as Dream Devourer does not apply to lands
|
// If front side of MDFC is land, do nothing as Dream Devourer does not apply to lands
|
||||||
// MDFC cards in hand are considered lands if front side is land
|
// MDFC cards in hand are considered lands if front side is land
|
||||||
if (!leftHalfCard.isLand(game)) {
|
if (!leftHalfCard.isLand(game)) {
|
||||||
String leftHalfCost = CardUtil.reduceCost(leftHalfCard.getManaCost(), 2).getText();
|
String leftHalfCost = CardUtil.reduceCost(leftHalfCard.getManaCost(), 2).getText();
|
||||||
ModalDoubleFacesCardHalf rightHalfCard = ((ModalDoubleFacesCard) card).getRightHalfCard();
|
ModalDoubleFacedCardHalf rightHalfCard = ((ModalDoubleFacedCard) card).getRightHalfCard();
|
||||||
if (rightHalfCard.isLand(game)) {
|
if (rightHalfCard.isLand(game)) {
|
||||||
foretellAbility = new ForetellAbility(card, leftHalfCost);
|
foretellAbility = new ForetellAbility(card, leftHalfCost);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -86,13 +86,13 @@ class EdginLarcenousLutenistEffect extends ContinuousEffectImpl {
|
||||||
String leftHalfCost = CardUtil.reduceCost(((SplitCard) card).getLeftHalfCard().getManaCost(), 2).getText();
|
String leftHalfCost = CardUtil.reduceCost(((SplitCard) card).getLeftHalfCard().getManaCost(), 2).getText();
|
||||||
String rightHalfCost = CardUtil.reduceCost(((SplitCard) card).getRightHalfCard().getManaCost(), 2).getText();
|
String rightHalfCost = CardUtil.reduceCost(((SplitCard) card).getRightHalfCard().getManaCost(), 2).getText();
|
||||||
foretellAbility = new ForetellAbility(card, leftHalfCost, rightHalfCost);
|
foretellAbility = new ForetellAbility(card, leftHalfCost, rightHalfCost);
|
||||||
} else if (card instanceof ModalDoubleFacesCard) {
|
} else if (card instanceof ModalDoubleFacedCard) {
|
||||||
ModalDoubleFacesCardHalf leftHalfCard = ((ModalDoubleFacesCard) card).getLeftHalfCard();
|
ModalDoubleFacedCardHalf leftHalfCard = ((ModalDoubleFacedCard) card).getLeftHalfCard();
|
||||||
// If front side of MDFC is land, do nothing as Dream Devourer does not apply to lands
|
// If front side of MDFC is land, do nothing as Dream Devourer does not apply to lands
|
||||||
// MDFC cards in hand are considered lands if front side is land
|
// MDFC cards in hand are considered lands if front side is land
|
||||||
if (!leftHalfCard.isLand(game)) {
|
if (!leftHalfCard.isLand(game)) {
|
||||||
String leftHalfCost = CardUtil.reduceCost(leftHalfCard.getManaCost(), 2).getText();
|
String leftHalfCost = CardUtil.reduceCost(leftHalfCard.getManaCost(), 2).getText();
|
||||||
ModalDoubleFacesCardHalf rightHalfCard = ((ModalDoubleFacesCard) card).getRightHalfCard();
|
ModalDoubleFacedCardHalf rightHalfCard = ((ModalDoubleFacedCard) card).getRightHalfCard();
|
||||||
if (rightHalfCard.isLand(game)) {
|
if (rightHalfCard.isLand(game)) {
|
||||||
foretellAbility = new ForetellAbility(card, leftHalfCost);
|
foretellAbility = new ForetellAbility(card, leftHalfCost);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -13,7 +13,7 @@ import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||||
import mage.abilities.effects.common.SacrificeSourceEffect;
|
import mage.abilities.effects.common.SacrificeSourceEffect;
|
||||||
import mage.abilities.keyword.DeathtouchAbility;
|
import mage.abilities.keyword.DeathtouchAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
import mage.target.common.TargetCardInYourGraveyard;
|
import mage.target.common.TargetCardInYourGraveyard;
|
||||||
|
@ -23,7 +23,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author weirddan455
|
* @author weirddan455
|
||||||
*/
|
*/
|
||||||
public final class EgonGodOfDeath extends ModalDoubleFacesCard {
|
public final class EgonGodOfDeath extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public EgonGodOfDeath(UUID ownerId, CardSetInfo setInfo) {
|
public EgonGodOfDeath(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(
|
super(
|
||||||
|
|
|
@ -8,7 +8,7 @@ import mage.abilities.effects.common.continuous.GainAbilityAllEffect;
|
||||||
import mage.abilities.keyword.IndestructibleAbility;
|
import mage.abilities.keyword.IndestructibleAbility;
|
||||||
import mage.abilities.mana.WhiteManaAbility;
|
import mage.abilities.mana.WhiteManaAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
@ -22,7 +22,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public final class EmeriasCall extends ModalDoubleFacesCard {
|
public final class EmeriasCall extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
private static final FilterPermanent filter
|
private static final FilterPermanent filter
|
||||||
= new FilterControlledCreaturePermanent("Non-Angel creatures you control");
|
= new FilterControlledCreaturePermanent("Non-Angel creatures you control");
|
||||||
|
|
|
@ -20,7 +20,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author weirddan455
|
* @author weirddan455
|
||||||
*/
|
*/
|
||||||
public final class EsikaGodOfTheTree extends ModalDoubleFacesCard {
|
public final class EsikaGodOfTheTree extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("legendary creatures");
|
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("legendary creatures");
|
||||||
|
|
||||||
|
|
|
@ -4,10 +4,8 @@ import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.MageObjectReference;
|
import mage.MageObjectReference;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.TriggeredAbilityImpl;
|
|
||||||
import mage.abilities.common.EntersBattlefieldOrAttacksSourceTriggeredAbility;
|
import mage.abilities.common.EntersBattlefieldOrAttacksSourceTriggeredAbility;
|
||||||
import mage.abilities.effects.ContinuousEffect;
|
import mage.abilities.effects.ContinuousEffect;
|
||||||
import mage.abilities.effects.Effect;
|
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
import mage.abilities.keyword.FlyingAbility;
|
||||||
import mage.abilities.keyword.ForetellAbility;
|
import mage.abilities.keyword.ForetellAbility;
|
||||||
|
@ -15,17 +13,15 @@ import mage.cards.AdventureCard;
|
||||||
import mage.cards.Card;
|
import mage.cards.Card;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.cards.ModalDoubleFacesCardHalf;
|
import mage.cards.ModalDoubleFacedCardHalf;
|
||||||
import mage.cards.SplitCard;
|
import mage.cards.SplitCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.constants.Zone;
|
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.events.GameEvent;
|
import mage.game.events.GameEvent;
|
||||||
import mage.game.permanent.Permanent;
|
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
import mage.target.common.TargetCardInHand;
|
import mage.target.common.TargetCardInHand;
|
||||||
import mage.util.CardUtil;
|
import mage.util.CardUtil;
|
||||||
|
@ -105,12 +101,12 @@ class EtherealValkyrieEffect extends OneShotEffect {
|
||||||
game.getState().setValue(exileCard.getMainCard().getId().toString() + "Foretell Cost", leftHalfCost);
|
game.getState().setValue(exileCard.getMainCard().getId().toString() + "Foretell Cost", leftHalfCost);
|
||||||
game.getState().setValue(exileCard.getMainCard().getId().toString() + "Foretell Split Cost", rightHalfCost);
|
game.getState().setValue(exileCard.getMainCard().getId().toString() + "Foretell Split Cost", rightHalfCost);
|
||||||
foretellAbility = new ForetellAbility(exileCard, leftHalfCost, rightHalfCost);
|
foretellAbility = new ForetellAbility(exileCard, leftHalfCost, rightHalfCost);
|
||||||
} else if (exileCard instanceof ModalDoubleFacesCard) {
|
} else if (exileCard instanceof ModalDoubleFacedCard) {
|
||||||
ModalDoubleFacesCardHalf leftHalfCard = ((ModalDoubleFacesCard) exileCard).getLeftHalfCard();
|
ModalDoubleFacedCardHalf leftHalfCard = ((ModalDoubleFacedCard) exileCard).getLeftHalfCard();
|
||||||
if (!leftHalfCard.isLand(game)) { // Only MDFC cards with a left side a land have a land on the right side too
|
if (!leftHalfCard.isLand(game)) { // Only MDFC cards with a left side a land have a land on the right side too
|
||||||
String leftHalfCost = CardUtil.reduceCost(leftHalfCard.getManaCost(), 2).getText();
|
String leftHalfCost = CardUtil.reduceCost(leftHalfCard.getManaCost(), 2).getText();
|
||||||
game.getState().setValue(exileCard.getMainCard().getId().toString() + "Foretell Cost", leftHalfCost);
|
game.getState().setValue(exileCard.getMainCard().getId().toString() + "Foretell Cost", leftHalfCost);
|
||||||
ModalDoubleFacesCardHalf rightHalfCard = ((ModalDoubleFacesCard) exileCard).getRightHalfCard();
|
ModalDoubleFacedCardHalf rightHalfCard = ((ModalDoubleFacedCard) exileCard).getRightHalfCard();
|
||||||
if (rightHalfCard.isLand(game)) {
|
if (rightHalfCard.isLand(game)) {
|
||||||
foretellAbility = new ForetellAbility(exileCard, leftHalfCost);
|
foretellAbility = new ForetellAbility(exileCard, leftHalfCost);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -174,8 +174,8 @@ class EvelynTheCovetousManaEffect extends AsThoughEffectImpl implements AsThough
|
||||||
&& EvelynTheCovetousWatcher.checkExile(affectedControllerId, card, game, 0);
|
&& EvelynTheCovetousWatcher.checkExile(affectedControllerId, card, game, 0);
|
||||||
}
|
}
|
||||||
CardState cardState;
|
CardState cardState;
|
||||||
if (card instanceof ModalDoubleFacesCard) {
|
if (card instanceof ModalDoubleFacedCard) {
|
||||||
cardState = game.getLastKnownInformationCard(((ModalDoubleFacesCard) card).getLeftHalfCard().getId(), Zone.EXILED);
|
cardState = game.getLastKnownInformationCard(((ModalDoubleFacedCard) card).getLeftHalfCard().getId(), Zone.EXILED);
|
||||||
} else {
|
} else {
|
||||||
cardState = game.getLastKnownInformationCard(card.getId(), Zone.EXILED);
|
cardState = game.getLastKnownInformationCard(card.getId(), Zone.EXILED);
|
||||||
}
|
}
|
||||||
|
|
|
@ -113,8 +113,8 @@ class UrzasHotTubPredicate implements Predicate<MageObject> {
|
||||||
String name = input.getName();
|
String name = input.getName();
|
||||||
if (input instanceof SplitCard) {
|
if (input instanceof SplitCard) {
|
||||||
return sharesWordWithName(((SplitCard) input).getLeftHalfCard().getName()) || sharesWordWithName(((SplitCard) input).getRightHalfCard().getName());
|
return sharesWordWithName(((SplitCard) input).getLeftHalfCard().getName()) || sharesWordWithName(((SplitCard) input).getRightHalfCard().getName());
|
||||||
} else if (input instanceof ModalDoubleFacesCard) {
|
} else if (input instanceof ModalDoubleFacedCard) {
|
||||||
return sharesWordWithName(((ModalDoubleFacesCard) input).getLeftHalfCard().getName()) || sharesWordWithName(((ModalDoubleFacesCard) input).getRightHalfCard().getName());
|
return sharesWordWithName(((ModalDoubleFacedCard) input).getLeftHalfCard().getName()) || sharesWordWithName(((ModalDoubleFacedCard) input).getRightHalfCard().getName());
|
||||||
} else if (input instanceof Spell && ((Spell) input).getSpellAbility().getSpellAbilityType() == SpellAbilityType.SPLIT_FUSED) {
|
} else if (input instanceof Spell && ((Spell) input).getSpellAbility().getSpellAbilityType() == SpellAbilityType.SPLIT_FUSED) {
|
||||||
SplitCard card = (SplitCard) ((Spell) input).getCard();
|
SplitCard card = (SplitCard) ((Spell) input).getCard();
|
||||||
return sharesWordWithName(card.getLeftHalfCard().getName()) || sharesWordWithName(card.getRightHalfCard().getName());
|
return sharesWordWithName(card.getLeftHalfCard().getName()) || sharesWordWithName(card.getRightHalfCard().getName());
|
||||||
|
|
|
@ -12,7 +12,7 @@ import mage.abilities.effects.common.SacrificeOpponentsEffect;
|
||||||
import mage.abilities.effects.common.cost.CostModificationEffectImpl;
|
import mage.abilities.effects.common.cost.CostModificationEffectImpl;
|
||||||
import mage.abilities.keyword.DoubleStrikeAbility;
|
import mage.abilities.keyword.DoubleStrikeAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
|
@ -28,7 +28,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class ExtusOriqOverlord extends ModalDoubleFacesCard {
|
public final class ExtusOriqOverlord extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
private static final FilterCard filter
|
private static final FilterCard filter
|
||||||
= new FilterCreatureCard("nonlegendary creature card from your graveyard");
|
= new FilterCreatureCard("nonlegendary creature card from your graveyard");
|
||||||
|
|
|
@ -129,9 +129,9 @@ class EyeOfTheStormEffect1 extends OneShotEffect {
|
||||||
if (card instanceof SplitCard) {
|
if (card instanceof SplitCard) {
|
||||||
copiedCards.add(((SplitCard) card).getLeftHalfCard());
|
copiedCards.add(((SplitCard) card).getLeftHalfCard());
|
||||||
copiedCards.add(((SplitCard) card).getRightHalfCard());
|
copiedCards.add(((SplitCard) card).getRightHalfCard());
|
||||||
} else if (card instanceof ModalDoubleFacesCard) {
|
} else if (card instanceof ModalDoubleFacedCard) {
|
||||||
copiedCards.add(((ModalDoubleFacesCard) card).getLeftHalfCard());
|
copiedCards.add(((ModalDoubleFacedCard) card).getLeftHalfCard());
|
||||||
copiedCards.add(((ModalDoubleFacesCard) card).getRightHalfCard());
|
copiedCards.add(((ModalDoubleFacedCard) card).getRightHalfCard());
|
||||||
} else {
|
} else {
|
||||||
copiedCards.add(card);
|
copiedCards.add(card);
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@ import mage.abilities.effects.common.ExileSpellEffect;
|
||||||
import mage.abilities.effects.common.continuous.BoostSourceEffect;
|
import mage.abilities.effects.common.continuous.BoostSourceEffect;
|
||||||
import mage.abilities.mana.ActivatedManaAbilityImpl;
|
import mage.abilities.mana.ActivatedManaAbilityImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.events.GameEvent;
|
import mage.game.events.GameEvent;
|
||||||
|
@ -27,7 +27,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class FlamescrollCelebrant extends ModalDoubleFacesCard {
|
public final class FlamescrollCelebrant extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public FlamescrollCelebrant(UUID ownerId, CardSetInfo setInfo) {
|
public FlamescrollCelebrant(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(
|
super(
|
||||||
|
|
|
@ -8,7 +8,7 @@ import mage.abilities.common.EntersBattlefieldTappedAbility;
|
||||||
import mage.abilities.effects.common.CopyPermanentEffect;
|
import mage.abilities.effects.common.CopyPermanentEffect;
|
||||||
import mage.abilities.mana.BlueManaAbility;
|
import mage.abilities.mana.BlueManaAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
|
@ -20,7 +20,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public final class GlasspoolMimic extends ModalDoubleFacesCard {
|
public final class GlasspoolMimic extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public GlasspoolMimic(UUID ownerId, CardSetInfo setInfo) {
|
public GlasspoolMimic(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -96,9 +96,9 @@ class GodEternalKefnetDrawCardReplacementEffect extends ReplacementEffectImpl {
|
||||||
if (blueprint instanceof SplitCard) {
|
if (blueprint instanceof SplitCard) {
|
||||||
((SplitCard) blueprint).getLeftHalfCard().addAbility(new SimpleStaticAbility(Zone.ALL, new SpellCostReductionSourceEffect(2)));
|
((SplitCard) blueprint).getLeftHalfCard().addAbility(new SimpleStaticAbility(Zone.ALL, new SpellCostReductionSourceEffect(2)));
|
||||||
((SplitCard) blueprint).getRightHalfCard().addAbility(new SimpleStaticAbility(Zone.ALL, new SpellCostReductionSourceEffect(2)));
|
((SplitCard) blueprint).getRightHalfCard().addAbility(new SimpleStaticAbility(Zone.ALL, new SpellCostReductionSourceEffect(2)));
|
||||||
} else if (blueprint instanceof ModalDoubleFacesCard) {
|
} else if (blueprint instanceof ModalDoubleFacedCard) {
|
||||||
((ModalDoubleFacesCard) blueprint).getLeftHalfCard().addAbility(new SimpleStaticAbility(Zone.ALL, new SpellCostReductionSourceEffect(2)));
|
((ModalDoubleFacedCard) blueprint).getLeftHalfCard().addAbility(new SimpleStaticAbility(Zone.ALL, new SpellCostReductionSourceEffect(2)));
|
||||||
((ModalDoubleFacesCard) blueprint).getRightHalfCard().addAbility(new SimpleStaticAbility(Zone.ALL, new SpellCostReductionSourceEffect(2)));
|
((ModalDoubleFacedCard) blueprint).getRightHalfCard().addAbility(new SimpleStaticAbility(Zone.ALL, new SpellCostReductionSourceEffect(2)));
|
||||||
} else {
|
} else {
|
||||||
blueprint.addAbility(new SimpleStaticAbility(Zone.ALL, new SpellCostReductionSourceEffect(2)));
|
blueprint.addAbility(new SimpleStaticAbility(Zone.ALL, new SpellCostReductionSourceEffect(2)));
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,7 @@ import mage.abilities.hint.ConditionHint;
|
||||||
import mage.abilities.hint.Hint;
|
import mage.abilities.hint.Hint;
|
||||||
import mage.abilities.mana.BlackManaAbility;
|
import mage.abilities.mana.BlackManaAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.constants.SuperType;
|
import mage.constants.SuperType;
|
||||||
|
@ -26,7 +26,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class HagraMauling extends ModalDoubleFacesCard {
|
public final class HagraMauling extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
private static final Hint hint = new ConditionHint(
|
private static final Hint hint = new ConditionHint(
|
||||||
HagraMaulingCondition.instance, "An opponent controls no basic lands"
|
HagraMaulingCondition.instance, "An opponent controls no basic lands"
|
||||||
|
|
|
@ -15,7 +15,7 @@ import mage.abilities.keyword.EquipAbility;
|
||||||
import mage.abilities.keyword.VigilanceAbility;
|
import mage.abilities.keyword.VigilanceAbility;
|
||||||
import mage.cards.Card;
|
import mage.cards.Card;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
|
@ -38,7 +38,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author weirddan455
|
* @author weirddan455
|
||||||
*/
|
*/
|
||||||
public final class HalvarGodOfBattle extends ModalDoubleFacesCard {
|
public final class HalvarGodOfBattle extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent();
|
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent();
|
||||||
private static final FilterPermanent filter2 = new FilterPermanent("aura or equipment attached to a creature you control");
|
private static final FilterPermanent filter2 = new FilterPermanent("aura or equipment attached to a creature you control");
|
||||||
|
|
|
@ -3,7 +3,7 @@ package mage.cards.h;
|
||||||
import mage.abilities.mana.BlueManaAbility;
|
import mage.abilities.mana.BlueManaAbility;
|
||||||
import mage.abilities.mana.WhiteManaAbility;
|
import mage.abilities.mana.WhiteManaAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class HengegatePathway extends ModalDoubleFacesCard {
|
public final class HengegatePathway extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public HengegatePathway(UUID ownerId, CardSetInfo setInfo) {
|
public HengegatePathway(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -67,7 +67,7 @@ class InvasionOfPyruleaEffect extends OneShotEffect {
|
||||||
player.scry(3, source, game);
|
player.scry(3, source, game);
|
||||||
Card card = player.getLibrary().getFromTop(game);
|
Card card = player.getLibrary().getFromTop(game);
|
||||||
player.revealCards(source, new CardsImpl(card), game);
|
player.revealCards(source, new CardsImpl(card), game);
|
||||||
if (card != null && (card.isLand(game) || card instanceof ModalDoubleFacesCard || card.getSecondCardFace() != null)) {
|
if (card != null && (card.isLand(game) || card instanceof ModalDoubleFacedCard || card.getSecondCardFace() != null)) {
|
||||||
player.drawCards(1, source, game);
|
player.drawCards(1, source, game);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -15,7 +15,7 @@ import mage.abilities.hint.common.LandsYouControlHint;
|
||||||
import mage.cards.Card;
|
import mage.cards.Card;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.CardsImpl;
|
import mage.cards.CardsImpl;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
|
@ -28,7 +28,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class JadziOracleOfArcavios extends ModalDoubleFacesCard {
|
public final class JadziOracleOfArcavios extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
private static final Condition condition = new PermanentsOnTheBattlefieldCondition(
|
private static final Condition condition = new PermanentsOnTheBattlefieldCondition(
|
||||||
StaticFilters.FILTER_CONTROLLED_PERMANENT_LAND, ComparisonType.MORE_THAN, 7
|
StaticFilters.FILTER_CONTROLLED_PERMANENT_LAND, ComparisonType.MORE_THAN, 7
|
||||||
|
|
|
@ -165,9 +165,9 @@ class JestersScepterCost extends CostImpl {
|
||||||
if (card instanceof SplitCard) {
|
if (card instanceof SplitCard) {
|
||||||
game.getState().setValue(source.getSourceId() + "_nameOfExiledCardPayment", ((SplitCard) card).getLeftHalfCard().getName());
|
game.getState().setValue(source.getSourceId() + "_nameOfExiledCardPayment", ((SplitCard) card).getLeftHalfCard().getName());
|
||||||
game.getState().setValue(source.getSourceId() + "_nameOfExiledCardPayment2", ((SplitCard) card).getRightHalfCard().getName());
|
game.getState().setValue(source.getSourceId() + "_nameOfExiledCardPayment2", ((SplitCard) card).getRightHalfCard().getName());
|
||||||
} else if (card instanceof ModalDoubleFacesCard) {
|
} else if (card instanceof ModalDoubleFacedCard) {
|
||||||
game.getState().setValue(source.getSourceId() + "_nameOfExiledCardPayment", ((ModalDoubleFacesCard) card).getLeftHalfCard().getName());
|
game.getState().setValue(source.getSourceId() + "_nameOfExiledCardPayment", ((ModalDoubleFacedCard) card).getLeftHalfCard().getName());
|
||||||
game.getState().setValue(source.getSourceId() + "_nameOfExiledCardPayment2", ((ModalDoubleFacesCard) card).getRightHalfCard().getName());
|
game.getState().setValue(source.getSourceId() + "_nameOfExiledCardPayment2", ((ModalDoubleFacedCard) card).getRightHalfCard().getName());
|
||||||
} else {
|
} else {
|
||||||
game.getState().setValue(source.getSourceId() + "_nameOfExiledCardPayment", card.getName());
|
game.getState().setValue(source.getSourceId() + "_nameOfExiledCardPayment", card.getName());
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@ import mage.abilities.effects.ReplacementEffectImpl;
|
||||||
import mage.abilities.effects.common.UntapAllControllerEffect;
|
import mage.abilities.effects.common.UntapAllControllerEffect;
|
||||||
import mage.cards.Card;
|
import mage.cards.Card;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.common.FilterPermanentCard;
|
import mage.filter.common.FilterPermanentCard;
|
||||||
|
@ -28,7 +28,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author weirddan455
|
* @author weirddan455
|
||||||
*/
|
*/
|
||||||
public final class JornGodOfWinter extends ModalDoubleFacesCard {
|
public final class JornGodOfWinter extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
private static final FilterPermanent filter = new FilterPermanent();
|
private static final FilterPermanent filter = new FilterPermanent();
|
||||||
private static final FilterPermanentCard filter2 = new FilterPermanentCard("snow permanent card from your graveyard");
|
private static final FilterPermanentCard filter2 = new FilterPermanentCard("snow permanent card from your graveyard");
|
||||||
|
|
|
@ -5,7 +5,7 @@ import mage.abilities.costs.mana.GenericManaCost;
|
||||||
import mage.abilities.effects.common.CounterUnlessPaysEffect;
|
import mage.abilities.effects.common.CounterUnlessPaysEffect;
|
||||||
import mage.abilities.mana.BlueManaAbility;
|
import mage.abilities.mana.BlueManaAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.target.TargetSpell;
|
import mage.target.TargetSpell;
|
||||||
|
@ -15,7 +15,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public final class JwariDisruption extends ModalDoubleFacesCard {
|
public final class JwariDisruption extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public JwariDisruption(UUID ownerId, CardSetInfo setInfo) {
|
public JwariDisruption(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -7,7 +7,7 @@ import mage.abilities.effects.common.DamageTargetEffect;
|
||||||
import mage.abilities.hint.ValueHint;
|
import mage.abilities.hint.ValueHint;
|
||||||
import mage.abilities.mana.WhiteManaAbility;
|
import mage.abilities.mana.WhiteManaAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
|
@ -18,7 +18,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public final class KabiraTakedown extends ModalDoubleFacesCard {
|
public final class KabiraTakedown extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
private static final DynamicValue xValue
|
private static final DynamicValue xValue
|
||||||
= new PermanentsOnBattlefieldCount(StaticFilters.FILTER_CONTROLLED_CREATURES);
|
= new PermanentsOnBattlefieldCount(StaticFilters.FILTER_CONTROLLED_CREATURES);
|
||||||
|
|
|
@ -6,7 +6,7 @@ import mage.abilities.common.LandfallAbility;
|
||||||
import mage.abilities.effects.common.continuous.BoostSourceEffect;
|
import mage.abilities.effects.common.continuous.BoostSourceEffect;
|
||||||
import mage.abilities.mana.GreenManaAbility;
|
import mage.abilities.mana.GreenManaAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
@ -16,7 +16,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public final class KazanduMammoth extends ModalDoubleFacesCard {
|
public final class KazanduMammoth extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public KazanduMammoth(UUID ownerId, CardSetInfo setInfo) {
|
public KazanduMammoth(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -6,7 +6,7 @@ import mage.abilities.dynamicvalue.common.SacrificeCostCreaturesPower;
|
||||||
import mage.abilities.effects.common.DamageTargetEffect;
|
import mage.abilities.effects.common.DamageTargetEffect;
|
||||||
import mage.abilities.mana.RedManaAbility;
|
import mage.abilities.mana.RedManaAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.target.common.TargetAnyTarget;
|
import mage.target.common.TargetAnyTarget;
|
||||||
|
@ -19,7 +19,7 @@ import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public final class KazuulsFury extends ModalDoubleFacesCard {
|
public final class KazuulsFury extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public KazuulsFury(UUID ownerId, CardSetInfo setInfo) {
|
public KazuulsFury(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -4,7 +4,7 @@ import mage.abilities.common.EntersBattlefieldTappedAbility;
|
||||||
import mage.abilities.effects.common.FightTargetsEffect;
|
import mage.abilities.effects.common.FightTargetsEffect;
|
||||||
import mage.abilities.mana.GreenManaAbility;
|
import mage.abilities.mana.GreenManaAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
|
@ -16,7 +16,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public final class KhalniAmbush extends ModalDoubleFacesCard {
|
public final class KhalniAmbush extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public KhalniAmbush(UUID ownerId, CardSetInfo setInfo) {
|
public KhalniAmbush(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -29,7 +29,7 @@ import java.util.stream.Collectors;
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class KianneDeanOfSubstance extends ModalDoubleFacesCard {
|
public final class KianneDeanOfSubstance extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public KianneDeanOfSubstance(UUID ownerId, CardSetInfo setInfo) {
|
public KianneDeanOfSubstance(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(
|
super(
|
||||||
|
|
|
@ -21,7 +21,7 @@ import mage.abilities.mana.ConditionalColoredManaAbility;
|
||||||
import mage.abilities.mana.builder.ConditionalManaBuilder;
|
import mage.abilities.mana.builder.ConditionalManaBuilder;
|
||||||
import mage.abilities.mana.conditional.CreatureCastManaCondition;
|
import mage.abilities.mana.conditional.CreatureCastManaCondition;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.filter.common.FilterCreatureCard;
|
import mage.filter.common.FilterCreatureCard;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
|
@ -33,7 +33,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author weirddan455
|
* @author weirddan455
|
||||||
*/
|
*/
|
||||||
public final class KolvoriGodOfKinship extends ModalDoubleFacesCard {
|
public final class KolvoriGodOfKinship extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent();
|
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent();
|
||||||
private static final FilterCreatureCard filter2 = new FilterCreatureCard("a legendary creature card");
|
private static final FilterCreatureCard filter2 = new FilterCreatureCard("a legendary creature card");
|
||||||
|
|
|
@ -4,7 +4,7 @@ import mage.abilities.common.EntersBattlefieldTappedAbility;
|
||||||
import mage.abilities.effects.common.continuous.BoostControlledEffect;
|
import mage.abilities.effects.common.continuous.BoostControlledEffect;
|
||||||
import mage.abilities.mana.WhiteManaAbility;
|
import mage.abilities.mana.WhiteManaAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
@ -14,7 +14,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public final class MakindiStampede extends ModalDoubleFacesCard {
|
public final class MakindiStampede extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public MakindiStampede(UUID ownerId, CardSetInfo setInfo) {
|
public MakindiStampede(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -7,7 +7,7 @@ import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffec
|
||||||
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
||||||
import mage.abilities.mana.BlackManaAbility;
|
import mage.abilities.mana.BlackManaAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
@ -18,7 +18,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public final class MalakirRebirth extends ModalDoubleFacesCard {
|
public final class MalakirRebirth extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public MalakirRebirth(UUID ownerId, CardSetInfo setInfo) {
|
public MalakirRebirth(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -14,7 +14,7 @@ import mage.abilities.effects.common.counter.AddCountersAllEffect;
|
||||||
import mage.abilities.keyword.HasteAbility;
|
import mage.abilities.keyword.HasteAbility;
|
||||||
import mage.cards.Card;
|
import mage.cards.Card;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
|
@ -35,7 +35,7 @@ import static mage.constants.Outcome.Benefit;
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class MilaCraftyCompanion extends ModalDoubleFacesCard {
|
public final class MilaCraftyCompanion extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public MilaCraftyCompanion(UUID ownerId, CardSetInfo setInfo) {
|
public MilaCraftyCompanion(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(
|
super(
|
||||||
|
|
|
@ -135,9 +135,9 @@ class EverythingIsColorlessEffect extends ContinuousEffectImpl {
|
||||||
game.getState().getCreateMageObjectAttribute(card, game).getColor().setColor(colorless);
|
game.getState().getCreateMageObjectAttribute(card, game).getColor().setColor(colorless);
|
||||||
|
|
||||||
// mdf cards
|
// mdf cards
|
||||||
if (card instanceof ModalDoubleFacesCard) {
|
if (card instanceof ModalDoubleFacedCard) {
|
||||||
ModalDoubleFacesCardHalf leftHalfCard = ((ModalDoubleFacesCard) card).getLeftHalfCard();
|
ModalDoubleFacedCardHalf leftHalfCard = ((ModalDoubleFacedCard) card).getLeftHalfCard();
|
||||||
ModalDoubleFacesCardHalf rightHalfCard = ((ModalDoubleFacesCard) card).getRightHalfCard();
|
ModalDoubleFacedCardHalf rightHalfCard = ((ModalDoubleFacedCard) card).getRightHalfCard();
|
||||||
game.getState().getCreateMageObjectAttribute(leftHalfCard, game).getColor().setColor(colorless);
|
game.getState().getCreateMageObjectAttribute(leftHalfCard, game).getColor().setColor(colorless);
|
||||||
game.getState().getCreateMageObjectAttribute(rightHalfCard, game).getColor().setColor(colorless);
|
game.getState().getCreateMageObjectAttribute(rightHalfCard, game).getColor().setColor(colorless);
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@ package mage.cards.n;
|
||||||
import mage.abilities.mana.RedManaAbility;
|
import mage.abilities.mana.RedManaAbility;
|
||||||
import mage.abilities.mana.WhiteManaAbility;
|
import mage.abilities.mana.WhiteManaAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public final class NeedlevergePathway extends ModalDoubleFacesCard {
|
public final class NeedlevergePathway extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public NeedlevergePathway(UUID ownerId, CardSetInfo setInfo) {
|
public NeedlevergePathway(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -3,9 +3,8 @@ package mage.cards.o;
|
||||||
import mage.abilities.common.EntersBattlefieldTappedAbility;
|
import mage.abilities.common.EntersBattlefieldTappedAbility;
|
||||||
import mage.abilities.effects.common.DestroyAllEffect;
|
import mage.abilities.effects.common.DestroyAllEffect;
|
||||||
import mage.abilities.mana.WhiteManaAbility;
|
import mage.abilities.mana.WhiteManaAbility;
|
||||||
import mage.cards.CardImpl;
|
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
|
@ -15,7 +14,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public final class OnduInversion extends ModalDoubleFacesCard {
|
public final class OnduInversion extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public OnduInversion(UUID ownerId, CardSetInfo setInfo) {
|
public OnduInversion(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -108,9 +108,9 @@ class PaintersServantEffect extends ContinuousEffectImpl {
|
||||||
game.getState().getCreateMageObjectAttribute(card, game).getColor().addColor(color);
|
game.getState().getCreateMageObjectAttribute(card, game).getColor().addColor(color);
|
||||||
|
|
||||||
// mdf cards
|
// mdf cards
|
||||||
if (card instanceof ModalDoubleFacesCard) {
|
if (card instanceof ModalDoubleFacedCard) {
|
||||||
ModalDoubleFacesCardHalf leftHalfCard = ((ModalDoubleFacesCard) card).getLeftHalfCard();
|
ModalDoubleFacedCardHalf leftHalfCard = ((ModalDoubleFacedCard) card).getLeftHalfCard();
|
||||||
ModalDoubleFacesCardHalf rightHalfCard = ((ModalDoubleFacesCard) card).getRightHalfCard();
|
ModalDoubleFacedCardHalf rightHalfCard = ((ModalDoubleFacedCard) card).getRightHalfCard();
|
||||||
game.getState().getCreateMageObjectAttribute(leftHalfCard, game).getColor().addColor(color);
|
game.getState().getCreateMageObjectAttribute(leftHalfCard, game).getColor().addColor(color);
|
||||||
game.getState().getCreateMageObjectAttribute(rightHalfCard, game).getColor().addColor(color);
|
game.getState().getCreateMageObjectAttribute(rightHalfCard, game).getColor().addColor(color);
|
||||||
}
|
}
|
||||||
|
|
|
@ -129,9 +129,9 @@ class PanopticMirrorCastEffect extends OneShotEffect {
|
||||||
if (card instanceof SplitCard) {
|
if (card instanceof SplitCard) {
|
||||||
cards.add(((SplitCard) card).getLeftHalfCard());
|
cards.add(((SplitCard) card).getLeftHalfCard());
|
||||||
cards.add(((SplitCard) card).getRightHalfCard());
|
cards.add(((SplitCard) card).getRightHalfCard());
|
||||||
} else if (card instanceof ModalDoubleFacesCard) {
|
} else if (card instanceof ModalDoubleFacedCard) {
|
||||||
cards.add(((ModalDoubleFacesCard) card).getLeftHalfCard());
|
cards.add(((ModalDoubleFacedCard) card).getLeftHalfCard());
|
||||||
cards.add(((ModalDoubleFacesCard) card).getRightHalfCard());
|
cards.add(((ModalDoubleFacedCard) card).getRightHalfCard());
|
||||||
} else {
|
} else {
|
||||||
cards.add(card);
|
cards.add(card);
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@ import mage.abilities.common.EntersBattlefieldTappedAbility;
|
||||||
import mage.abilities.effects.common.discard.DiscardCardYouChooseTargetEffect;
|
import mage.abilities.effects.common.discard.DiscardCardYouChooseTargetEffect;
|
||||||
import mage.abilities.mana.BlackManaAbility;
|
import mage.abilities.mana.BlackManaAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.ComparisonType;
|
import mage.constants.ComparisonType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
@ -17,7 +17,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public final class PelakkaPredation extends ModalDoubleFacesCard {
|
public final class PelakkaPredation extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
private static final FilterCard filter = new FilterCard("a card from it with mana value 3 or greater");
|
private static final FilterCard filter = new FilterCard("a card from it with mana value 3 or greater");
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ import mage.abilities.dynamicvalue.common.ControllerGotLifeCount;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.*;
|
import mage.abilities.effects.common.*;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
@ -29,7 +29,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class PestilentCauldron extends ModalDoubleFacesCard {
|
public final class PestilentCauldron extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
private static final FilterCard filter
|
private static final FilterCard filter
|
||||||
= new FilterCard("creature, land, and/or planeswalker cards from your graveyard");
|
= new FilterCard("creature, land, and/or planeswalker cards from your graveyard");
|
||||||
|
|
|
@ -16,7 +16,7 @@ import mage.abilities.effects.common.continuous.BoostAllEffect;
|
||||||
import mage.cards.Card;
|
import mage.cards.Card;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.CardsImpl;
|
import mage.cards.CardsImpl;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
import mage.filter.common.FilterControlledCreaturePermanent;
|
import mage.filter.common.FilterControlledCreaturePermanent;
|
||||||
|
@ -32,7 +32,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author htrajan
|
* @author htrajan
|
||||||
*/
|
*/
|
||||||
public final class PlarggDeanOfChaos extends ModalDoubleFacesCard {
|
public final class PlarggDeanOfChaos extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
private static final FilterCreaturePermanent tappedFilter = new FilterCreaturePermanent("tapped creatures you control");
|
private static final FilterCreaturePermanent tappedFilter = new FilterCreaturePermanent("tapped creatures you control");
|
||||||
private static final FilterCreaturePermanent untappedFilter = new FilterCreaturePermanent("untapped creatures you control");
|
private static final FilterCreaturePermanent untappedFilter = new FilterCreaturePermanent("untapped creatures you control");
|
||||||
|
|
|
@ -14,7 +14,7 @@ import mage.abilities.keyword.FlyingAbility;
|
||||||
import mage.abilities.keyword.VigilanceAbility;
|
import mage.abilities.keyword.VigilanceAbility;
|
||||||
import mage.cards.Card;
|
import mage.cards.Card;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.common.FilterLandPermanent;
|
import mage.filter.common.FilterLandPermanent;
|
||||||
|
@ -30,7 +30,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class ReidaneGodOfTheWorthy extends ModalDoubleFacesCard {
|
public final class ReidaneGodOfTheWorthy extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
private static final FilterPermanent filter = new FilterLandPermanent("snow lands your opponents control");
|
private static final FilterPermanent filter = new FilterLandPermanent("snow lands your opponents control");
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ package mage.cards.r;
|
||||||
import mage.abilities.mana.BlueManaAbility;
|
import mage.abilities.mana.BlueManaAbility;
|
||||||
import mage.abilities.mana.RedManaAbility;
|
import mage.abilities.mana.RedManaAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public final class RiverglidePathway extends ModalDoubleFacesCard {
|
public final class RiverglidePathway extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public RiverglidePathway(UUID ownerId, CardSetInfo setInfo) {
|
public RiverglidePathway(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -16,7 +16,7 @@ import mage.abilities.hint.Hint;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.Cards;
|
import mage.cards.Cards;
|
||||||
import mage.cards.CardsImpl;
|
import mage.cards.CardsImpl;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
|
@ -38,7 +38,7 @@ import java.util.stream.Collectors;
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class RowanScholarOfSparks extends ModalDoubleFacesCard {
|
public final class RowanScholarOfSparks extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
private static final FilterCard filter = new FilterInstantOrSorceryCard("instant and sorcery spells");
|
private static final FilterCard filter = new FilterInstantOrSorceryCard("instant and sorcery spells");
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ import mage.abilities.effects.common.TapSourceUnlessPaysEffect;
|
||||||
import mage.abilities.effects.common.continuous.MaximumHandSizeControllerEffect;
|
import mage.abilities.effects.common.continuous.MaximumHandSizeControllerEffect;
|
||||||
import mage.abilities.mana.BlueManaAbility;
|
import mage.abilities.mana.BlueManaAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
@ -21,7 +21,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public final class SeaGateRestoration extends ModalDoubleFacesCard {
|
public final class SeaGateRestoration extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
private static final DynamicValue xValue = new AdditiveDynamicValue(CardsInControllerHandCount.instance, StaticValue.get(1));
|
private static final DynamicValue xValue = new AdditiveDynamicValue(CardsInControllerHandCount.instance, StaticValue.get(1));
|
||||||
|
|
||||||
|
|
|
@ -3,9 +3,8 @@ package mage.cards.s;
|
||||||
import mage.abilities.common.EntersBattlefieldTappedAbility;
|
import mage.abilities.common.EntersBattlefieldTappedAbility;
|
||||||
import mage.abilities.effects.common.continuous.GainProtectionFromColorTargetEffect;
|
import mage.abilities.effects.common.continuous.GainProtectionFromColorTargetEffect;
|
||||||
import mage.abilities.mana.WhiteManaAbility;
|
import mage.abilities.mana.WhiteManaAbility;
|
||||||
import mage.cards.CardImpl;
|
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
@ -16,7 +15,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public final class SejiriShelter extends ModalDoubleFacesCard {
|
public final class SejiriShelter extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public SejiriShelter(UUID ownerId, CardSetInfo setInfo) {
|
public SejiriShelter(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -8,7 +8,7 @@ import mage.abilities.effects.common.DestroyAllEffect;
|
||||||
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
|
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
|
||||||
import mage.abilities.keyword.IndestructibleAbility;
|
import mage.abilities.keyword.IndestructibleAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
@ -28,7 +28,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author htrajan
|
* @author htrajan
|
||||||
*/
|
*/
|
||||||
public final class SelflessGlyphweaver extends ModalDoubleFacesCard {
|
public final class SelflessGlyphweaver extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public SelflessGlyphweaver(UUID ownerId, CardSetInfo setInfo) {
|
public SelflessGlyphweaver(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(
|
super(
|
||||||
|
|
|
@ -11,7 +11,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
import mage.abilities.keyword.FlyingAbility;
|
||||||
import mage.abilities.keyword.VigilanceAbility;
|
import mage.abilities.keyword.VigilanceAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.constants.SuperType;
|
import mage.constants.SuperType;
|
||||||
|
@ -31,7 +31,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author htrajan
|
* @author htrajan
|
||||||
*/
|
*/
|
||||||
public final class ShaileDeanOfRadiance extends ModalDoubleFacesCard {
|
public final class ShaileDeanOfRadiance extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another target creature");
|
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another target creature");
|
||||||
private static final FilterPermanent shaileFilter = new FilterControlledCreaturePermanent("creature that entered the battlefield under your control this turn");
|
private static final FilterPermanent shaileFilter = new FilterControlledCreaturePermanent("creature that entered the battlefield under your control this turn");
|
||||||
|
|
|
@ -12,7 +12,7 @@ import mage.abilities.effects.common.DamageMultiEffect;
|
||||||
import mage.abilities.effects.common.TapSourceUnlessPaysEffect;
|
import mage.abilities.effects.common.TapSourceUnlessPaysEffect;
|
||||||
import mage.abilities.mana.RedManaAbility;
|
import mage.abilities.mana.RedManaAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
|
@ -25,7 +25,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class ShatterskullSmashing extends ModalDoubleFacesCard {
|
public final class ShatterskullSmashing extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
private static final DynamicValue xValue = new MultipliedValue(ManacostVariableValue.REGULAR, 2);
|
private static final DynamicValue xValue = new MultipliedValue(ManacostVariableValue.REGULAR, 2);
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ import mage.abilities.common.EntersBattlefieldTappedAbility;
|
||||||
import mage.abilities.effects.common.LookLibraryAndPickControllerEffect;
|
import mage.abilities.effects.common.LookLibraryAndPickControllerEffect;
|
||||||
import mage.abilities.mana.BlueManaAbility;
|
import mage.abilities.mana.BlueManaAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.PutCards;
|
import mage.constants.PutCards;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
@ -15,7 +15,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class SilundiVision extends ModalDoubleFacesCard {
|
public final class SilundiVision extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public SilundiVision(UUID ownerId, CardSetInfo setInfo) {
|
public SilundiVision(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -5,9 +5,8 @@ import mage.abilities.common.EntersBattlefieldTappedAbility;
|
||||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||||
import mage.abilities.effects.common.GainLifeEffect;
|
import mage.abilities.effects.common.GainLifeEffect;
|
||||||
import mage.abilities.mana.WhiteManaAbility;
|
import mage.abilities.mana.WhiteManaAbility;
|
||||||
import mage.cards.CardImpl;
|
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
|
||||||
|
@ -16,7 +15,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public final class SkyclaveCleric extends ModalDoubleFacesCard {
|
public final class SkyclaveCleric extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public SkyclaveCleric(UUID ownerId, CardSetInfo setInfo) {
|
public SkyclaveCleric(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -7,7 +7,7 @@ import mage.abilities.effects.common.continuous.GainControlTargetEffect;
|
||||||
import mage.abilities.keyword.HasteAbility;
|
import mage.abilities.keyword.HasteAbility;
|
||||||
import mage.abilities.mana.RedManaAbility;
|
import mage.abilities.mana.RedManaAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
@ -18,7 +18,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public final class SongMadTreachery extends ModalDoubleFacesCard {
|
public final class SongMadTreachery extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public SongMadTreachery(UUID ownerId, CardSetInfo setInfo) {
|
public SongMadTreachery(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -4,9 +4,8 @@ import mage.abilities.common.EntersBattlefieldTappedAbility;
|
||||||
import mage.abilities.effects.common.DamageTargetEffect;
|
import mage.abilities.effects.common.DamageTargetEffect;
|
||||||
import mage.abilities.effects.common.ExileTargetIfDiesEffect;
|
import mage.abilities.effects.common.ExileTargetIfDiesEffect;
|
||||||
import mage.abilities.mana.RedManaAbility;
|
import mage.abilities.mana.RedManaAbility;
|
||||||
import mage.cards.CardImpl;
|
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.target.common.TargetAnyTarget;
|
import mage.target.common.TargetAnyTarget;
|
||||||
|
@ -16,7 +15,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public final class SpikefieldHazard extends ModalDoubleFacesCard {
|
public final class SpikefieldHazard extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public SpikefieldHazard(UUID ownerId, CardSetInfo setInfo) {
|
public SpikefieldHazard(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -3,9 +3,8 @@ package mage.cards.t;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.EntersBattlefieldTappedAbility;
|
import mage.abilities.common.EntersBattlefieldTappedAbility;
|
||||||
import mage.abilities.mana.GreenManaAbility;
|
import mage.abilities.mana.GreenManaAbility;
|
||||||
import mage.cards.CardImpl;
|
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
|
||||||
|
@ -14,7 +13,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public final class TangledFlorahedron extends ModalDoubleFacesCard {
|
public final class TangledFlorahedron extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public TangledFlorahedron(UUID ownerId, CardSetInfo setInfo) {
|
public TangledFlorahedron(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -10,7 +10,7 @@ import mage.abilities.effects.common.UntapSourceEffect;
|
||||||
import mage.abilities.keyword.MenaceAbility;
|
import mage.abilities.keyword.MenaceAbility;
|
||||||
import mage.cards.Card;
|
import mage.cards.Card;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.choices.Choice;
|
import mage.choices.Choice;
|
||||||
import mage.choices.ChoiceImpl;
|
import mage.choices.ChoiceImpl;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
|
@ -31,7 +31,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author jeffwadsworth
|
* @author jeffwadsworth
|
||||||
*/
|
*/
|
||||||
public final class TergridGodOfFright extends ModalDoubleFacesCard {
|
public final class TergridGodOfFright extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public TergridGodOfFright(UUID ownerId, CardSetInfo setInfo) {
|
public TergridGodOfFright(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(
|
super(
|
||||||
|
|
|
@ -8,10 +8,7 @@ import mage.abilities.effects.common.continuous.EachSpellYouCastHasReplicateEffe
|
||||||
import mage.abilities.effects.keyword.ScryEffect;
|
import mage.abilities.effects.keyword.ScryEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCardHalf;
|
|
||||||
import mage.cards.SplitCardHalf;
|
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Zone;
|
|
||||||
import mage.filter.FilterSpell;
|
import mage.filter.FilterSpell;
|
||||||
import mage.filter.predicate.Predicate;
|
import mage.filter.predicate.Predicate;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
|
|
|
@ -18,7 +18,7 @@ import mage.abilities.effects.common.continuous.GainAbilityWithAttachmentEffect;
|
||||||
import mage.abilities.keyword.EquipAbility;
|
import mage.abilities.keyword.EquipAbility;
|
||||||
import mage.abilities.keyword.TrampleAbility;
|
import mage.abilities.keyword.TrampleAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
import mage.filter.common.FilterAnyTarget;
|
import mage.filter.common.FilterAnyTarget;
|
||||||
|
@ -38,7 +38,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class ToralfGodOfFury extends ModalDoubleFacesCard {
|
public final class ToralfGodOfFury extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
private static final Condition condition
|
private static final Condition condition
|
||||||
= new AttachedToMatchesFilterCondition(StaticFilters.FILTER_PERMANENT_LEGENDARY);
|
= new AttachedToMatchesFilterCondition(StaticFilters.FILTER_PERMANENT_LEGENDARY);
|
||||||
|
|
|
@ -9,7 +9,7 @@ import mage.abilities.effects.common.DamageTargetEffect;
|
||||||
import mage.abilities.keyword.WardAbility;
|
import mage.abilities.keyword.WardAbility;
|
||||||
import mage.cards.Card;
|
import mage.cards.Card;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
|
@ -29,7 +29,7 @@ import static mage.constants.Outcome.Benefit;
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class TorrentSculptor extends ModalDoubleFacesCard {
|
public final class TorrentSculptor extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public TorrentSculptor(UUID ownerId, CardSetInfo setInfo) {
|
public TorrentSculptor(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -24,7 +24,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class TurntimberSymbiosis extends ModalDoubleFacesCard {
|
public final class TurntimberSymbiosis extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public TurntimberSymbiosis(UUID ownerId, CardSetInfo setInfo) {
|
public TurntimberSymbiosis(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -6,9 +6,8 @@ import mage.abilities.common.SpellCastControllerTriggeredAbility;
|
||||||
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
|
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
import mage.abilities.keyword.FlyingAbility;
|
||||||
import mage.abilities.mana.BlueManaAbility;
|
import mage.abilities.mana.BlueManaAbility;
|
||||||
import mage.cards.CardImpl;
|
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
@ -19,7 +18,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public final class UmaraWizard extends ModalDoubleFacesCard {
|
public final class UmaraWizard extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public UmaraWizard(UUID ownerId, CardSetInfo setInfo) {
|
public UmaraWizard(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -92,8 +92,8 @@ class UrzasHotTubPredicate implements Predicate<MageObject> {
|
||||||
String name = input.getName();
|
String name = input.getName();
|
||||||
if (input instanceof SplitCard) {
|
if (input instanceof SplitCard) {
|
||||||
return sharesWordWithName(((SplitCard) input).getLeftHalfCard().getName()) || sharesWordWithName(((SplitCard) input).getRightHalfCard().getName());
|
return sharesWordWithName(((SplitCard) input).getLeftHalfCard().getName()) || sharesWordWithName(((SplitCard) input).getRightHalfCard().getName());
|
||||||
} else if (input instanceof ModalDoubleFacesCard) {
|
} else if (input instanceof ModalDoubleFacedCard) {
|
||||||
return sharesWordWithName(((ModalDoubleFacesCard) input).getLeftHalfCard().getName()) || sharesWordWithName(((ModalDoubleFacesCard) input).getRightHalfCard().getName());
|
return sharesWordWithName(((ModalDoubleFacedCard) input).getLeftHalfCard().getName()) || sharesWordWithName(((ModalDoubleFacedCard) input).getRightHalfCard().getName());
|
||||||
} else if (input instanceof Spell && ((Spell) input).getSpellAbility().getSpellAbilityType() == SpellAbilityType.SPLIT_FUSED) {
|
} else if (input instanceof Spell && ((Spell) input).getSpellAbility().getSpellAbilityType() == SpellAbilityType.SPLIT_FUSED) {
|
||||||
SplitCard card = (SplitCard) ((Spell) input).getCard();
|
SplitCard card = (SplitCard) ((Spell) input).getCard();
|
||||||
return sharesWordWithName(card.getLeftHalfCard().getName()) || sharesWordWithName(card.getRightHalfCard().getName());
|
return sharesWordWithName(card.getLeftHalfCard().getName()) || sharesWordWithName(card.getRightHalfCard().getName());
|
||||||
|
|
|
@ -33,7 +33,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class UvildaDeanOfPerfection extends ModalDoubleFacesCard {
|
public final class UvildaDeanOfPerfection extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public UvildaDeanOfPerfection(UUID ownerId, CardSetInfo setInfo) {
|
public UvildaDeanOfPerfection(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(
|
super(
|
||||||
|
|
|
@ -19,7 +19,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class ValakutAwakening extends ModalDoubleFacesCard {
|
public final class ValakutAwakening extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public ValakutAwakening(UUID ownerId, CardSetInfo setInfo) {
|
public ValakutAwakening(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -14,7 +14,7 @@ import mage.abilities.keyword.LifelinkAbility;
|
||||||
import mage.abilities.keyword.MenaceAbility;
|
import mage.abilities.keyword.MenaceAbility;
|
||||||
import mage.abilities.keyword.TrampleAbility;
|
import mage.abilities.keyword.TrampleAbility;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
|
@ -29,7 +29,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class ValentinDeanOfTheVein extends ModalDoubleFacesCard {
|
public final class ValentinDeanOfTheVein extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public ValentinDeanOfTheVein(UUID ownerId, CardSetInfo setInfo) {
|
public ValentinDeanOfTheVein(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(
|
super(
|
||||||
|
|
|
@ -17,7 +17,7 @@ import mage.abilities.effects.common.GetEmblemEffect;
|
||||||
import mage.cards.Card;
|
import mage.cards.Card;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.Cards;
|
import mage.cards.Cards;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
|
@ -42,7 +42,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author jeffwadsworth
|
* @author jeffwadsworth
|
||||||
*/
|
*/
|
||||||
public final class ValkiGodOfLies extends ModalDoubleFacesCard {
|
public final class ValkiGodOfLies extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public ValkiGodOfLies(UUID ownerId, CardSetInfo setInfo) {
|
public ValkiGodOfLies(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(
|
super(
|
||||||
|
|
|
@ -3,9 +3,8 @@ package mage.cards.v;
|
||||||
import mage.abilities.common.EntersBattlefieldTappedAbility;
|
import mage.abilities.common.EntersBattlefieldTappedAbility;
|
||||||
import mage.abilities.effects.common.counter.AddCountersTargetEffect;
|
import mage.abilities.effects.common.counter.AddCountersTargetEffect;
|
||||||
import mage.abilities.mana.GreenManaAbility;
|
import mage.abilities.mana.GreenManaAbility;
|
||||||
import mage.cards.CardImpl;
|
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
|
@ -16,7 +15,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public final class VastwoodFortification extends ModalDoubleFacesCard {
|
public final class VastwoodFortification extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public VastwoodFortification(UUID ownerId, CardSetInfo setInfo) {
|
public VastwoodFortification(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -22,7 +22,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class WanderingArchaic extends ModalDoubleFacesCard {
|
public final class WanderingArchaic extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public WanderingArchaic(UUID ownerId, CardSetInfo setInfo) {
|
public WanderingArchaic(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(
|
super(
|
||||||
|
|
|
@ -86,8 +86,8 @@ class ZiatorasEnvoyEffect extends OneShotEffect {
|
||||||
// TODO: factor this out and reuse for other cards
|
// TODO: factor this out and reuse for other cards
|
||||||
if (player.canPlayLand()) {
|
if (player.canPlayLand()) {
|
||||||
Set<Card> landSet = new HashSet<>();
|
Set<Card> landSet = new HashSet<>();
|
||||||
if (card instanceof ModalDoubleFacesCard) {
|
if (card instanceof ModalDoubleFacedCard) {
|
||||||
ModalDoubleFacesCard mdfc = (ModalDoubleFacesCard) card;
|
ModalDoubleFacedCard mdfc = (ModalDoubleFacedCard) card;
|
||||||
if (mdfc.getLeftHalfCard().isLand(game)) {
|
if (mdfc.getLeftHalfCard().isLand(game)) {
|
||||||
landSet.add(mdfc.getLeftHalfCard());
|
landSet.add(mdfc.getLeftHalfCard());
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,9 +4,8 @@ import mage.abilities.common.EntersBattlefieldTappedAbility;
|
||||||
import mage.abilities.effects.common.GainLifeEffect;
|
import mage.abilities.effects.common.GainLifeEffect;
|
||||||
import mage.abilities.effects.common.LoseLifeOpponentsEffect;
|
import mage.abilities.effects.common.LoseLifeOpponentsEffect;
|
||||||
import mage.abilities.mana.BlackManaAbility;
|
import mage.abilities.mana.BlackManaAbility;
|
||||||
import mage.cards.CardImpl;
|
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
|
||||||
|
@ -15,7 +14,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public final class ZofConsumption extends ModalDoubleFacesCard {
|
public final class ZofConsumption extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
public ZofConsumption(UUID ownerId, CardSetInfo setInfo) {
|
public ZofConsumption(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo,
|
super(ownerId, setInfo,
|
||||||
|
|
|
@ -478,7 +478,7 @@ public class CommandersCastTest extends CardTestCommander4PlayersWithAIHelps {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void test_ModalDoubleFacesCard_1() {
|
public void test_ModalDoubleFacedCard_1() {
|
||||||
// Player order: A -> D -> C -> B
|
// Player order: A -> D -> C -> B
|
||||||
|
|
||||||
// use case:
|
// use case:
|
||||||
|
@ -533,7 +533,7 @@ public class CommandersCastTest extends CardTestCommander4PlayersWithAIHelps {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void test_ModalDoubleFacesCard_CanReturnAfterKillAndCommanderControlCondition() {
|
public void test_ModalDoubleFacedCard_CanReturnAfterKillAndCommanderControlCondition() {
|
||||||
// Player order: A -> D -> C -> B
|
// Player order: A -> D -> C -> B
|
||||||
|
|
||||||
// Cosima, God of the Voyage, {2}{U}, creature, 2/4
|
// Cosima, God of the Voyage, {2}{U}, creature, 2/4
|
||||||
|
|
|
@ -4,7 +4,7 @@ import mage.abilities.MageSingleton;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
import mage.abilities.keyword.FlyingAbility;
|
||||||
import mage.cards.AdventureCard;
|
import mage.cards.AdventureCard;
|
||||||
import mage.cards.Card;
|
import mage.cards.Card;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.cards.SplitCard;
|
import mage.cards.SplitCard;
|
||||||
import mage.cards.repository.CardRepository;
|
import mage.cards.repository.CardRepository;
|
||||||
import mage.constants.PhaseStep;
|
import mage.constants.PhaseStep;
|
||||||
|
@ -716,10 +716,10 @@ public class CopySpellTest extends CardTestPlayerBase {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void test_SimpleCopy_MDFC() {
|
public void test_SimpleCopy_MDFC() {
|
||||||
ModalDoubleFacesCard sourceCard = (ModalDoubleFacesCard) CardRepository.instance.findCard("Agadeem's Awakening").getCard();
|
ModalDoubleFacedCard sourceCard = (ModalDoubleFacedCard) CardRepository.instance.findCard("Agadeem's Awakening").getCard();
|
||||||
ModalDoubleFacesCard originalCard = (ModalDoubleFacesCard) CardRepository.instance.findCard("Agadeem's Awakening").getCard();
|
ModalDoubleFacedCard originalCard = (ModalDoubleFacedCard) CardRepository.instance.findCard("Agadeem's Awakening").getCard();
|
||||||
prepareZoneAndZCC(originalCard);
|
prepareZoneAndZCC(originalCard);
|
||||||
ModalDoubleFacesCard copiedCard = (ModalDoubleFacesCard) currentGame.copyCard(originalCard, null, playerA.getId());
|
ModalDoubleFacedCard copiedCard = (ModalDoubleFacedCard) currentGame.copyCard(originalCard, null, playerA.getId());
|
||||||
// main
|
// main
|
||||||
Assert.assertNotEquals("main - id must be different", originalCard.getId(), copiedCard.getId());
|
Assert.assertNotEquals("main - id must be different", originalCard.getId(), copiedCard.getId());
|
||||||
Assert.assertEquals("main - rules must be same", originalCard.getRules(), copiedCard.getRules());
|
Assert.assertEquals("main - rules must be same", originalCard.getRules(), copiedCard.getRules());
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package org.mage.test.cards.cost.modaldoublefaces;
|
package org.mage.test.cards.cost.modaldoublefaced;
|
||||||
|
|
||||||
import mage.constants.PhaseStep;
|
import mage.constants.PhaseStep;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
|
@ -8,7 +8,7 @@ import org.mage.test.serverside.base.CardTestCommanderDuelBase;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public class ModalDoubleFacesCardsInCommanderTest extends CardTestCommanderDuelBase {
|
public class ModalDoubleFacedCardsInCommanderTest extends CardTestCommanderDuelBase {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void test_Triggers_MustAddTriggersOneTimeOnly() {
|
public void test_Triggers_MustAddTriggersOneTimeOnly() {
|
|
@ -1,8 +1,8 @@
|
||||||
package org.mage.test.cards.cost.modaldoublefaces;
|
package org.mage.test.cards.cost.modaldoublefaced;
|
||||||
|
|
||||||
import mage.abilities.keyword.HasteAbility;
|
import mage.abilities.keyword.HasteAbility;
|
||||||
import mage.cards.Card;
|
import mage.cards.Card;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.constants.PhaseStep;
|
import mage.constants.PhaseStep;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
|
@ -18,7 +18,7 @@ import org.mage.test.serverside.base.CardTestPlayerBase;
|
||||||
/**
|
/**
|
||||||
* @author JayDi85
|
* @author JayDi85
|
||||||
*/
|
*/
|
||||||
public class ModalDoubleFacesCardsTest extends CardTestPlayerBase {
|
public class ModalDoubleFacedCardsTest extends CardTestPlayerBase {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void test_Playable_AsCreature() {
|
public void test_Playable_AsCreature() {
|
||||||
|
@ -417,8 +417,8 @@ public class ModalDoubleFacesCardsTest extends CardTestPlayerBase {
|
||||||
.findFirst()
|
.findFirst()
|
||||||
.orElse(null);
|
.orElse(null);
|
||||||
Assert.assertNotNull(card);
|
Assert.assertNotNull(card);
|
||||||
Assert.assertTrue("must be mdf card", card instanceof ModalDoubleFacesCard);
|
Assert.assertTrue("must be mdf card", card instanceof ModalDoubleFacedCard);
|
||||||
ModalDoubleFacesCard mdfCard = (ModalDoubleFacesCard) card;
|
ModalDoubleFacedCard mdfCard = (ModalDoubleFacedCard) card;
|
||||||
Assert.assertEquals("card must be on exile", Zone.EXILED, currentGame.getState().getZone(mdfCard.getId()));
|
Assert.assertEquals("card must be on exile", Zone.EXILED, currentGame.getState().getZone(mdfCard.getId()));
|
||||||
Assert.assertEquals("left part must be on exile", Zone.EXILED, currentGame.getState().getZone(mdfCard.getLeftHalfCard().getId()));
|
Assert.assertEquals("left part must be on exile", Zone.EXILED, currentGame.getState().getZone(mdfCard.getLeftHalfCard().getId()));
|
||||||
Assert.assertEquals("right part must be on exile", Zone.EXILED, currentGame.getState().getZone(mdfCard.getRightHalfCard().getId()));
|
Assert.assertEquals("right part must be on exile", Zone.EXILED, currentGame.getState().getZone(mdfCard.getRightHalfCard().getId()));
|
|
@ -37,7 +37,7 @@ public class ReleaseToTheWindTest extends CardTestPlayerBase {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void test_Exile_ModalDoubleFacesCard() {
|
public void test_Exile_ModalDoubleFacedCard() {
|
||||||
// Exile target nonland permanent. For as long as that card remains exiled, its owner may cast it without paying its mana cost.
|
// Exile target nonland permanent. For as long as that card remains exiled, its owner may cast it without paying its mana cost.
|
||||||
addCard(Zone.HAND, playerA, "Release to the Wind"); // {2}{U}
|
addCard(Zone.HAND, playerA, "Release to the Wind"); // {2}{U}
|
||||||
addCard(Zone.BATTLEFIELD, playerA, "Island", 3);
|
addCard(Zone.BATTLEFIELD, playerA, "Island", 3);
|
||||||
|
|
|
@ -5,7 +5,7 @@ import mage.abilities.Ability;
|
||||||
import mage.abilities.keyword.PartnerWithAbility;
|
import mage.abilities.keyword.PartnerWithAbility;
|
||||||
import mage.cards.Card;
|
import mage.cards.Card;
|
||||||
import mage.cards.ExpansionSet;
|
import mage.cards.ExpansionSet;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.cards.repository.CardInfo;
|
import mage.cards.repository.CardInfo;
|
||||||
import mage.cards.repository.CardScanner;
|
import mage.cards.repository.CardScanner;
|
||||||
import mage.constants.Rarity;
|
import mage.constants.Rarity;
|
||||||
|
@ -314,7 +314,7 @@ public class BoosterGenerationTest extends MageTestBase {
|
||||||
);
|
);
|
||||||
assertEquals(
|
assertEquals(
|
||||||
"Booster must contain exactly 1 MDFC", 1,
|
"Booster must contain exactly 1 MDFC", 1,
|
||||||
booster.stream().filter(ModalDoubleFacesCard.class::isInstance).count()
|
booster.stream().filter(ModalDoubleFacedCard.class::isInstance).count()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -390,7 +390,7 @@ public class BoosterGenerationTest extends MageTestBase {
|
||||||
fail("Booster can't have more than three snow lands");
|
fail("Booster can't have more than three snow lands");
|
||||||
}
|
}
|
||||||
|
|
||||||
long mdfcCount = booster.stream().filter(ModalDoubleFacesCard.class::isInstance).count();
|
long mdfcCount = booster.stream().filter(ModalDoubleFacedCard.class::isInstance).count();
|
||||||
assertTrue("Booster can't have more than one MDFC", mdfcCount < 2);
|
assertTrue("Booster can't have more than one MDFC", mdfcCount < 2);
|
||||||
|
|
||||||
foundMDFC |= mdfcCount > 0;
|
foundMDFC |= mdfcCount > 0;
|
||||||
|
|
|
@ -1871,7 +1871,7 @@ public class VerifyCardDataTest {
|
||||||
Card card = CardImpl.createCard(cardInfo.getClassName(), testSet);
|
Card card = CardImpl.createCard(cardInfo.getClassName(), testSet);
|
||||||
System.out.println();
|
System.out.println();
|
||||||
System.out.println(card.getName() + " " + card.getManaCost().getText());
|
System.out.println(card.getName() + " " + card.getManaCost().getText());
|
||||||
if (card instanceof SplitCard || card instanceof ModalDoubleFacesCard) {
|
if (card instanceof SplitCard || card instanceof ModalDoubleFacedCard) {
|
||||||
card.getAbilities().getRules(card.getName()).forEach(this::printAbilityText);
|
card.getAbilities().getRules(card.getName()).forEach(this::printAbilityText);
|
||||||
} else {
|
} else {
|
||||||
card.getRules().forEach(this::printAbilityText);
|
card.getRules().forEach(this::printAbilityText);
|
||||||
|
|
|
@ -3,7 +3,7 @@ package mage.abilities.effects;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.ActivatedAbility;
|
import mage.abilities.ActivatedAbility;
|
||||||
import mage.cards.Card;
|
import mage.cards.Card;
|
||||||
import mage.cards.ModalDoubleFacesCard;
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
import mage.cards.SplitCard;
|
import mage.cards.SplitCard;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
|
@ -94,9 +94,9 @@ public abstract class AsThoughEffectImpl extends ContinuousEffectImpl implements
|
||||||
player.setCastSourceIdWithAlternateMana(leftCard.getId(), null, leftCard.getSpellAbility().getCosts());
|
player.setCastSourceIdWithAlternateMana(leftCard.getId(), null, leftCard.getSpellAbility().getCosts());
|
||||||
Card rightCard = ((SplitCard) card).getRightHalfCard();
|
Card rightCard = ((SplitCard) card).getRightHalfCard();
|
||||||
player.setCastSourceIdWithAlternateMana(rightCard.getId(), null, rightCard.getSpellAbility().getCosts());
|
player.setCastSourceIdWithAlternateMana(rightCard.getId(), null, rightCard.getSpellAbility().getCosts());
|
||||||
} else if (card instanceof ModalDoubleFacesCard) {
|
} else if (card instanceof ModalDoubleFacedCard) {
|
||||||
Card leftCard = ((ModalDoubleFacesCard) card).getLeftHalfCard();
|
Card leftCard = ((ModalDoubleFacedCard) card).getLeftHalfCard();
|
||||||
Card rightCard = ((ModalDoubleFacesCard) card).getRightHalfCard();
|
Card rightCard = ((ModalDoubleFacedCard) card).getRightHalfCard();
|
||||||
// some MDFC's are land. IE: sea gate restoration
|
// some MDFC's are land. IE: sea gate restoration
|
||||||
if (!leftCard.isLand(game)) {
|
if (!leftCard.isLand(game)) {
|
||||||
player.setCastSourceIdWithAlternateMana(leftCard.getId(), null, leftCard.getSpellAbility().getCosts());
|
player.setCastSourceIdWithAlternateMana(leftCard.getId(), null, leftCard.getSpellAbility().getCosts());
|
||||||
|
|
|
@ -24,7 +24,6 @@ import mage.game.stack.Spell;
|
||||||
import mage.players.ManaPoolItem;
|
import mage.players.ManaPoolItem;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
import mage.target.common.TargetCardInHand;
|
import mage.target.common.TargetCardInHand;
|
||||||
import mage.util.CardUtil;
|
|
||||||
import mage.util.trace.TraceInfo;
|
import mage.util.trace.TraceInfo;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
@ -541,7 +540,7 @@ public class ContinuousEffects implements Serializable {
|
||||||
} else if (!type.needPlayCardAbility() && objectToCheck instanceof AdventureCardSpell) {
|
} else if (!type.needPlayCardAbility() && objectToCheck instanceof AdventureCardSpell) {
|
||||||
// adventure spell uses alternative characteristics for spell/stack, all other cases must use main card
|
// adventure spell uses alternative characteristics for spell/stack, all other cases must use main card
|
||||||
idToCheck = ((AdventureCardSpell) objectToCheck).getMainCard().getId();
|
idToCheck = ((AdventureCardSpell) objectToCheck).getMainCard().getId();
|
||||||
} else if (!type.needPlayCardAbility() && objectToCheck instanceof ModalDoubleFacesCardHalf) {
|
} else if (!type.needPlayCardAbility() && objectToCheck instanceof ModalDoubleFacedCardHalf) {
|
||||||
// each mdf side uses own characteristics to check for playing, all other cases must use main card
|
// each mdf side uses own characteristics to check for playing, all other cases must use main card
|
||||||
// rules:
|
// rules:
|
||||||
// "If an effect allows you to play a land or cast a spell from among a group of cards,
|
// "If an effect allows you to play a land or cast a spell from among a group of cards,
|
||||||
|
@ -549,7 +548,7 @@ public class ContinuousEffects implements Serializable {
|
||||||
// of that effect. For example, if Sejiri Shelter / Sejiri Glacier is in your graveyard
|
// of that effect. For example, if Sejiri Shelter / Sejiri Glacier is in your graveyard
|
||||||
// and an effect allows you to play lands from your graveyard, you could play Sejiri Glacier.
|
// and an effect allows you to play lands from your graveyard, you could play Sejiri Glacier.
|
||||||
// That effect doesn't allow you to cast Sejiri Shelter."
|
// That effect doesn't allow you to cast Sejiri Shelter."
|
||||||
idToCheck = ((ModalDoubleFacesCardHalf) objectToCheck).getMainCard().getId();
|
idToCheck = ((ModalDoubleFacedCardHalf) objectToCheck).getMainCard().getId();
|
||||||
} else {
|
} else {
|
||||||
idToCheck = objectId;
|
idToCheck = objectId;
|
||||||
}
|
}
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue