mirror of
https://github.com/correl/mage.git
synced 2025-04-10 09:11:04 -09:00
[MID] Implemented Bereaved Survivor / Dauntless Avenger
This commit is contained in:
parent
3463b720ce
commit
4c69286c14
6 changed files with 141 additions and 94 deletions
Mage.Sets/src/mage
cards
sets
Mage/src/main/java/mage/abilities/effects/common
|
@ -1,38 +1,39 @@
|
||||||
|
|
||||||
package mage.cards.a;
|
package mage.cards.a;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.AttacksTriggeredAbility;
|
import mage.abilities.common.AttacksTriggeredAbility;
|
||||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
|
||||||
import mage.abilities.effects.common.DoIfCostPaid;
|
import mage.abilities.effects.common.DoIfCostPaid;
|
||||||
|
import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect;
|
||||||
import mage.abilities.keyword.FirstStrikeAbility;
|
import mage.abilities.keyword.FirstStrikeAbility;
|
||||||
import mage.cards.Card;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.*;
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.ComparisonType;
|
||||||
|
import mage.constants.SubType;
|
||||||
|
import mage.constants.SuperType;
|
||||||
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.common.FilterCreatureCard;
|
import mage.filter.common.FilterCreatureCard;
|
||||||
import mage.filter.predicate.mageobject.PowerPredicate;
|
import mage.filter.predicate.mageobject.PowerPredicate;
|
||||||
import mage.game.Game;
|
|
||||||
import mage.players.Player;
|
|
||||||
import mage.target.common.TargetCardInYourGraveyard;
|
import mage.target.common.TargetCardInYourGraveyard;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
*/
|
*/
|
||||||
public final class AleshaWhoSmilesAtDeath extends CardImpl {
|
public final class AleshaWhoSmilesAtDeath extends CardImpl {
|
||||||
|
|
||||||
private static final FilterCreatureCard filter = new FilterCreatureCard("creature card with power 2 or less");
|
private static final FilterCard filter
|
||||||
|
= new FilterCreatureCard("creature card with power 2 or less from your graveyard");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new PowerPredicate(ComparisonType.FEWER_THAN, 3));
|
filter.add(new PowerPredicate(ComparisonType.FEWER_THAN, 3));
|
||||||
}
|
}
|
||||||
|
|
||||||
public AleshaWhoSmilesAtDeath(UUID ownerId, CardSetInfo setInfo) {
|
public AleshaWhoSmilesAtDeath(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}");
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}");
|
||||||
addSuperType(SuperType.LEGENDARY);
|
addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add(SubType.HUMAN);
|
this.subtype.add(SubType.HUMAN);
|
||||||
this.subtype.add(SubType.WARRIOR);
|
this.subtype.add(SubType.WARRIOR);
|
||||||
|
@ -43,7 +44,10 @@ public final class AleshaWhoSmilesAtDeath extends CardImpl {
|
||||||
this.addAbility(FirstStrikeAbility.getInstance());
|
this.addAbility(FirstStrikeAbility.getInstance());
|
||||||
|
|
||||||
// Whenever Alesha, Who Smiles at Death attacks, you may pay {W/B}{W/B}. If you do, return target creature card with power 2 or less from your graveyard to the battlefield tapped and attacking.
|
// Whenever Alesha, Who Smiles at Death attacks, you may pay {W/B}{W/B}. If you do, return target creature card with power 2 or less from your graveyard to the battlefield tapped and attacking.
|
||||||
Ability ability = new AttacksTriggeredAbility(new DoIfCostPaid(new AleshaWhoSmilesAtDeathEffect(), new ManaCostsImpl("{W/B}{W/B}")), false);
|
Ability ability = new AttacksTriggeredAbility(new DoIfCostPaid(
|
||||||
|
new ReturnFromGraveyardToBattlefieldTargetEffect(true, true),
|
||||||
|
new ManaCostsImpl<>("{W/B}{W/B}")
|
||||||
|
), false);
|
||||||
ability.addTarget(new TargetCardInYourGraveyard(filter));
|
ability.addTarget(new TargetCardInYourGraveyard(filter));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
@ -57,38 +61,3 @@ public final class AleshaWhoSmilesAtDeath extends CardImpl {
|
||||||
return new AleshaWhoSmilesAtDeath(this);
|
return new AleshaWhoSmilesAtDeath(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class AleshaWhoSmilesAtDeathEffect extends OneShotEffect {
|
|
||||||
|
|
||||||
public AleshaWhoSmilesAtDeathEffect() {
|
|
||||||
super(Outcome.PutCreatureInPlay);
|
|
||||||
this.staticText = "return target creature card with power 2 or less from your graveyard to the battlefield tapped and attacking";
|
|
||||||
}
|
|
||||||
|
|
||||||
public AleshaWhoSmilesAtDeathEffect(final AleshaWhoSmilesAtDeathEffect effect) {
|
|
||||||
super(effect);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean apply(Game game, Ability source) {
|
|
||||||
Player controller = game.getPlayer(source.getControllerId());
|
|
||||||
|
|
||||||
if (controller != null) {
|
|
||||||
Card card = game.getCard(getTargetPointer().getFirst(game, source));
|
|
||||||
if (card != null) {
|
|
||||||
if (controller.moveCards(card, Zone.BATTLEFIELD, source, game, true, false, false, null)) {
|
|
||||||
game.getCombat().addAttackingCreature(card.getId(), game);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public AleshaWhoSmilesAtDeathEffect copy() {
|
|
||||||
return new AleshaWhoSmilesAtDeathEffect(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
46
Mage.Sets/src/mage/cards/b/BereavedSurvivor.java
Normal file
46
Mage.Sets/src/mage/cards/b/BereavedSurvivor.java
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
package mage.cards.b;
|
||||||
|
|
||||||
|
import mage.MageInt;
|
||||||
|
import mage.abilities.common.DiesCreatureTriggeredAbility;
|
||||||
|
import mage.abilities.effects.common.TransformSourceEffect;
|
||||||
|
import mage.abilities.keyword.TransformAbility;
|
||||||
|
import mage.cards.CardImpl;
|
||||||
|
import mage.cards.CardSetInfo;
|
||||||
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.SubType;
|
||||||
|
import mage.filter.StaticFilters;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author TheElk801
|
||||||
|
*/
|
||||||
|
public final class BereavedSurvivor extends CardImpl {
|
||||||
|
|
||||||
|
public BereavedSurvivor(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}");
|
||||||
|
|
||||||
|
this.subtype.add(SubType.HUMAN);
|
||||||
|
this.subtype.add(SubType.PEASANT);
|
||||||
|
this.power = new MageInt(2);
|
||||||
|
this.toughness = new MageInt(1);
|
||||||
|
this.transformable = true;
|
||||||
|
this.secondSideCardClazz = mage.cards.d.DauntlessAvenger.class;
|
||||||
|
|
||||||
|
// When another creature you control dies, transform Bereaved Survivor.
|
||||||
|
this.addAbility(new TransformAbility());
|
||||||
|
this.addAbility(new DiesCreatureTriggeredAbility(
|
||||||
|
new TransformSourceEffect(true), false,
|
||||||
|
StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
private BereavedSurvivor(final BereavedSurvivor card) {
|
||||||
|
super(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BereavedSurvivor copy() {
|
||||||
|
return new BereavedSurvivor(this);
|
||||||
|
}
|
||||||
|
}
|
56
Mage.Sets/src/mage/cards/d/DauntlessAvenger.java
Normal file
56
Mage.Sets/src/mage/cards/d/DauntlessAvenger.java
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
package mage.cards.d;
|
||||||
|
|
||||||
|
import mage.MageInt;
|
||||||
|
import mage.abilities.Ability;
|
||||||
|
import mage.abilities.common.AttacksTriggeredAbility;
|
||||||
|
import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect;
|
||||||
|
import mage.cards.CardImpl;
|
||||||
|
import mage.cards.CardSetInfo;
|
||||||
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.ComparisonType;
|
||||||
|
import mage.constants.SubType;
|
||||||
|
import mage.filter.FilterCard;
|
||||||
|
import mage.filter.common.FilterCreatureCard;
|
||||||
|
import mage.filter.predicate.mageobject.ManaValuePredicate;
|
||||||
|
import mage.target.common.TargetCardInYourGraveyard;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author TheElk801
|
||||||
|
*/
|
||||||
|
public final class DauntlessAvenger extends CardImpl {
|
||||||
|
|
||||||
|
private static final FilterCard filter
|
||||||
|
= new FilterCreatureCard("creature card with mana value 2 or less from your graveyard");
|
||||||
|
|
||||||
|
static {
|
||||||
|
filter.add(new ManaValuePredicate(ComparisonType.FEWER_THAN, 3));
|
||||||
|
}
|
||||||
|
|
||||||
|
public DauntlessAvenger(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "");
|
||||||
|
|
||||||
|
this.subtype.add(SubType.HUMAN);
|
||||||
|
this.subtype.add(SubType.SOLDIER);
|
||||||
|
this.power = new MageInt(3);
|
||||||
|
this.toughness = new MageInt(2);
|
||||||
|
this.color.setWhite(true);
|
||||||
|
this.transformable = true;
|
||||||
|
this.nightCard = true;
|
||||||
|
|
||||||
|
// Whenever Dauntless Avenger attacks, return target creature card with mana value 2 or less from your graveyard to the battlefield tapped and attacking.
|
||||||
|
Ability ability = new AttacksTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(true, true));
|
||||||
|
ability.addTarget(new TargetCardInYourGraveyard(filter));
|
||||||
|
this.addAbility(ability);
|
||||||
|
}
|
||||||
|
|
||||||
|
private DauntlessAvenger(final DauntlessAvenger card) {
|
||||||
|
super(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DauntlessAvenger copy() {
|
||||||
|
return new DauntlessAvenger(this);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,25 +1,19 @@
|
||||||
package mage.cards.y;
|
package mage.cards.y;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.AttacksTriggeredAbility;
|
import mage.abilities.common.AttacksTriggeredAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect;
|
||||||
import mage.cards.Card;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.constants.Zone;
|
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
import mage.game.Game;
|
|
||||||
import mage.game.permanent.Permanent;
|
|
||||||
import mage.players.Player;
|
|
||||||
import mage.target.common.TargetCardInYourGraveyard;
|
import mage.target.common.TargetCardInYourGraveyard;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author fireshoes
|
* @author fireshoes
|
||||||
*/
|
*/
|
||||||
public final class YoreTillerNephilim extends CardImpl {
|
public final class YoreTillerNephilim extends CardImpl {
|
||||||
|
@ -31,8 +25,8 @@ public final class YoreTillerNephilim extends CardImpl {
|
||||||
this.toughness = new MageInt(2);
|
this.toughness = new MageInt(2);
|
||||||
|
|
||||||
// Whenever Yore-Tiller Nephilim attacks, return target creature card from your graveyard to the battlefield tapped and attacking.
|
// Whenever Yore-Tiller Nephilim attacks, return target creature card from your graveyard to the battlefield tapped and attacking.
|
||||||
Ability ability = new AttacksTriggeredAbility(new YoreTillerNephilimEffect(), false);
|
Ability ability = new AttacksTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(true, true), false);
|
||||||
ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE));
|
ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -45,39 +39,3 @@ public final class YoreTillerNephilim extends CardImpl {
|
||||||
return new YoreTillerNephilim(this);
|
return new YoreTillerNephilim(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class YoreTillerNephilimEffect extends OneShotEffect {
|
|
||||||
|
|
||||||
public YoreTillerNephilimEffect() {
|
|
||||||
super(Outcome.PutCreatureInPlay);
|
|
||||||
this.staticText = "return target creature card from your graveyard to the battlefield tapped and attacking";
|
|
||||||
}
|
|
||||||
|
|
||||||
public YoreTillerNephilimEffect(final YoreTillerNephilimEffect effect) {
|
|
||||||
super(effect);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean apply(Game game, Ability source) {
|
|
||||||
Player controller = game.getPlayer(source.getControllerId());
|
|
||||||
|
|
||||||
if (controller != null) {
|
|
||||||
Card card = game.getCard(getTargetPointer().getFirst(game, source));
|
|
||||||
if (card != null) {
|
|
||||||
controller.moveCards(card, Zone.BATTLEFIELD, source, game, true, false, false, null);
|
|
||||||
Permanent permanent = game.getPermanent(card.getId());
|
|
||||||
if (permanent != null) {
|
|
||||||
game.getCombat().addAttackingCreature(permanent.getId(), game);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public YoreTillerNephilimEffect copy() {
|
|
||||||
return new YoreTillerNephilimEffect(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -46,6 +46,7 @@ public final class InnistradMidnightHunt extends ExpansionSet {
|
||||||
cards.add(new SetCardInfo("Baithook Angler", 42, Rarity.COMMON, mage.cards.b.BaithookAngler.class));
|
cards.add(new SetCardInfo("Baithook Angler", 42, Rarity.COMMON, mage.cards.b.BaithookAngler.class));
|
||||||
cards.add(new SetCardInfo("Bat Whisperer", 86, Rarity.COMMON, mage.cards.b.BatWhisperer.class));
|
cards.add(new SetCardInfo("Bat Whisperer", 86, Rarity.COMMON, mage.cards.b.BatWhisperer.class));
|
||||||
cards.add(new SetCardInfo("Benevolent Geist", 61, Rarity.RARE, mage.cards.b.BenevolentGeist.class));
|
cards.add(new SetCardInfo("Benevolent Geist", 61, Rarity.RARE, mage.cards.b.BenevolentGeist.class));
|
||||||
|
cards.add(new SetCardInfo("Bereaved Survivor", 4, Rarity.UNCOMMON, mage.cards.b.BereavedSurvivor.class));
|
||||||
cards.add(new SetCardInfo("Bird Admirer", 169, Rarity.COMMON, mage.cards.b.BirdAdmirer.class));
|
cards.add(new SetCardInfo("Bird Admirer", 169, Rarity.COMMON, mage.cards.b.BirdAdmirer.class));
|
||||||
cards.add(new SetCardInfo("Bladebrand", 87, Rarity.COMMON, mage.cards.b.Bladebrand.class));
|
cards.add(new SetCardInfo("Bladebrand", 87, Rarity.COMMON, mage.cards.b.Bladebrand.class));
|
||||||
cards.add(new SetCardInfo("Bladestitched Skaab", 212, Rarity.UNCOMMON, mage.cards.b.BladestitchedSkaab.class));
|
cards.add(new SetCardInfo("Bladestitched Skaab", 212, Rarity.UNCOMMON, mage.cards.b.BladestitchedSkaab.class));
|
||||||
|
@ -90,6 +91,7 @@ public final class InnistradMidnightHunt extends ExpansionSet {
|
||||||
cards.add(new SetCardInfo("Curse of Shaken Faith", 134, Rarity.RARE, mage.cards.c.CurseOfShakenFaith.class));
|
cards.add(new SetCardInfo("Curse of Shaken Faith", 134, Rarity.RARE, mage.cards.c.CurseOfShakenFaith.class));
|
||||||
cards.add(new SetCardInfo("Curse of Silence", 15, Rarity.RARE, mage.cards.c.CurseOfSilence.class));
|
cards.add(new SetCardInfo("Curse of Silence", 15, Rarity.RARE, mage.cards.c.CurseOfSilence.class));
|
||||||
cards.add(new SetCardInfo("Curse of Surveillance", 46, Rarity.RARE, mage.cards.c.CurseOfSurveillance.class));
|
cards.add(new SetCardInfo("Curse of Surveillance", 46, Rarity.RARE, mage.cards.c.CurseOfSurveillance.class));
|
||||||
|
cards.add(new SetCardInfo("Dauntless Avenger", 4, Rarity.UNCOMMON, mage.cards.d.DauntlessAvenger.class));
|
||||||
cards.add(new SetCardInfo("Dawnhart Mentor", 179, Rarity.UNCOMMON, mage.cards.d.DawnhartMentor.class));
|
cards.add(new SetCardInfo("Dawnhart Mentor", 179, Rarity.UNCOMMON, mage.cards.d.DawnhartMentor.class));
|
||||||
cards.add(new SetCardInfo("Dawnhart Rejuvenator", 180, Rarity.COMMON, mage.cards.d.DawnhartRejuvenator.class));
|
cards.add(new SetCardInfo("Dawnhart Rejuvenator", 180, Rarity.COMMON, mage.cards.d.DawnhartRejuvenator.class));
|
||||||
cards.add(new SetCardInfo("Dawnhart Wardens", 216, Rarity.UNCOMMON, mage.cards.d.DawnhartWardens.class));
|
cards.add(new SetCardInfo("Dawnhart Wardens", 216, Rarity.UNCOMMON, mage.cards.d.DawnhartWardens.class));
|
||||||
|
|
|
@ -22,19 +22,26 @@ import java.util.UUID;
|
||||||
public class ReturnFromGraveyardToBattlefieldTargetEffect extends OneShotEffect {
|
public class ReturnFromGraveyardToBattlefieldTargetEffect extends OneShotEffect {
|
||||||
|
|
||||||
private final boolean tapped;
|
private final boolean tapped;
|
||||||
|
private final boolean attacking;
|
||||||
|
|
||||||
public ReturnFromGraveyardToBattlefieldTargetEffect() {
|
public ReturnFromGraveyardToBattlefieldTargetEffect() {
|
||||||
this(false);
|
this(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ReturnFromGraveyardToBattlefieldTargetEffect(boolean tapped) {
|
public ReturnFromGraveyardToBattlefieldTargetEffect(boolean tapped) {
|
||||||
|
this(tapped, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ReturnFromGraveyardToBattlefieldTargetEffect(boolean tapped, boolean attacking) {
|
||||||
super(Outcome.PutCreatureInPlay);
|
super(Outcome.PutCreatureInPlay);
|
||||||
this.tapped = tapped;
|
this.tapped = tapped;
|
||||||
|
this.attacking = attacking;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected ReturnFromGraveyardToBattlefieldTargetEffect(final ReturnFromGraveyardToBattlefieldTargetEffect effect) {
|
protected ReturnFromGraveyardToBattlefieldTargetEffect(final ReturnFromGraveyardToBattlefieldTargetEffect effect) {
|
||||||
super(effect);
|
super(effect);
|
||||||
this.tapped = effect.tapped;
|
this.tapped = effect.tapped;
|
||||||
|
this.attacking = effect.attacking;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -54,6 +61,11 @@ public class ReturnFromGraveyardToBattlefieldTargetEffect extends OneShotEffect
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
controller.moveCards(cardsToMove, Zone.BATTLEFIELD, source, game, tapped, false, false, null);
|
controller.moveCards(cardsToMove, Zone.BATTLEFIELD, source, game, tapped, false, false, null);
|
||||||
|
if (attacking) {
|
||||||
|
for (Card card : cardsToMove) {
|
||||||
|
game.getCombat().addAttackingCreature(card.getId(), game);
|
||||||
|
}
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -82,8 +94,12 @@ public class ReturnFromGraveyardToBattlefieldTargetEffect extends OneShotEffect
|
||||||
}
|
}
|
||||||
sb.append(yourGrave ? " to" : " onto");
|
sb.append(yourGrave ? " to" : " onto");
|
||||||
sb.append(" the battlefield");
|
sb.append(" the battlefield");
|
||||||
if (tapped) {
|
if (tapped && attacking) {
|
||||||
|
sb.append(" tapped and attacking");
|
||||||
|
} else if (tapped) {
|
||||||
sb.append(" tapped");
|
sb.append(" tapped");
|
||||||
|
} else if (attacking) {
|
||||||
|
sb.append(" attacking");
|
||||||
}
|
}
|
||||||
if (!yourGrave) {
|
if (!yourGrave) {
|
||||||
sb.append(" under your control");
|
sb.append(" under your control");
|
||||||
|
|
Loading…
Add table
Reference in a new issue