* Some fixes to some Battleebond cards.

This commit is contained in:
LevelX2 2018-05-27 00:41:53 +02:00
parent d743864bbd
commit 66cc29325c
21 changed files with 57 additions and 44 deletions

View file

@ -257,6 +257,7 @@ public enum MythicspoilerComSource implements CardImageSource {
supportedSets.add("UST");
supportedSets.add("RIX");
supportedSets.add("DOM");
supportedSets.add("BBD");
sets = new LinkedHashMap<>();
setsAliases = new HashMap<>();

View file

@ -210,6 +210,7 @@ public enum ScryfallImageSource implements CardImageSource {
supportedSets.add("PPRO");
supportedSets.add("A25");
supportedSets.add("DOM");
supportedSets.add("BBD");
// supportedSets.add("M19");
}

View file

@ -33,10 +33,10 @@ import mage.abilities.common.DiesTriggeredAbility;
import mage.abilities.costs.common.ExileSourceFromGraveCost;
import mage.abilities.effects.common.DoIfCostPaid;
import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect;
import mage.constants.SubType;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.common.FilterPlaneswalkerCard;
import mage.target.common.TargetCardInLibrary;
@ -60,7 +60,7 @@ public class ArenaRector extends CardImpl {
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(new FilterPlaneswalkerCard())),
new ExileSourceFromGraveCost(),
"Exile to search for a planeswalker?"
), false
).setText("you may exile it. If you do, search your library for a planeswalker card, put it onto the battlefield, then shuffle your library"), false
));
}

View file

@ -32,7 +32,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.ColoredManaCost;
import mage.abilities.costs.mana.ColorlessManaCost;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.ReturnToHandSourceEffect;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
@ -95,7 +95,7 @@ public class Brightling extends CardImpl {
this.addAbility(new SimpleActivatedAbility(
Zone.BATTLEFIELD,
new BrightlingEffect(),
new ColorlessManaCost(1)
new GenericManaCost(1)
));
}

View file

@ -35,10 +35,10 @@ import mage.abilities.condition.common.MyTurnCondition;
import mage.abilities.decorator.ConditionalTriggeredAbility;
import mage.abilities.effects.common.UntapTargetEffect;
import mage.abilities.keyword.PartnerWithAbility;
import mage.constants.SubType;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.target.common.TargetCreaturePermanent;
/**
@ -65,6 +65,7 @@ public class ChakramRetriever extends CardImpl {
"Whenever you cast a spell during your turn, untap target creature."
);
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}
public ChakramRetriever(final ChakramRetriever card) {

View file

@ -34,12 +34,12 @@ import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.InfoEffect;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.constants.SubType;
import mage.abilities.keyword.AssistAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.TargetController;
/**
@ -63,6 +63,7 @@ public class FanFavorite extends CardImpl {
ActivatedAbility ability = new SimpleActivatedAbility(new BoostSourceEffect(1, 1, Duration.EndOfTurn), new GenericManaCost(2));
ability.setMayActivate(TargetController.ANY);
ability.addEffect(new InfoEffect("Any player may activate this ability"));
this.addAbility(ability);
}
public FanFavorite(final FanFavorite card) {

View file

@ -48,7 +48,7 @@ public class HuddleUp extends CardImpl {
this.addAbility(new AssistAbility());
// Two target players each draw a card.
this.getSpellAbility().addEffect(new DrawCardTargetEffect(1));
this.getSpellAbility().addEffect(new DrawCardTargetEffect(1).setText("Two target players each draw a card"));
this.getSpellAbility().addTarget(new TargetPlayer(2));
}

View file

@ -42,13 +42,12 @@ import mage.target.TargetPlayer;
public class KissOfTheAmesha extends CardImpl {
public KissOfTheAmesha(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{4}{W}{U}");
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{W}{U}");
// Target player gains 7 life and draws two cards.
this.getSpellAbility().addTarget(new TargetPlayer());
this.getSpellAbility().addEffect(new GainLifeTargetEffect(7));
this.getSpellAbility().addEffect(new DrawCardTargetEffect(2));
this.getSpellAbility().addEffect(new DrawCardTargetEffect(2).setText("and draws two cards"));
}
public KissOfTheAmesha(final KissOfTheAmesha card) {

View file

@ -34,10 +34,10 @@ import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.DrawCardTargetEffect;
import mage.abilities.keyword.PartnerWithAbility;
import mage.constants.SubType;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.target.TargetPlayer;
/**
@ -60,6 +60,7 @@ public class LoreWeaver extends CardImpl {
// {5}{U}{U}: Target player draws two cards.
Ability ability = new SimpleActivatedAbility(new DrawCardTargetEffect(2), new ManaCostsImpl("{5}{U}{U}"));
ability.addTarget(new TargetPlayer());
this.addAbility(ability);
}
public LoreWeaver(final LoreWeaver card) {

View file

@ -37,12 +37,12 @@ import mage.abilities.dynamicvalue.common.SourcePermanentToughnessValue;
import mage.abilities.effects.common.FlipUntilLoseEffect;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.abilities.keyword.PartnerWithAbility;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.constants.TargetController;
/**
@ -75,7 +75,7 @@ public class OkaunEyeOfChaos extends CardImpl {
sourceToughness,
Duration.EndOfTurn,
true
).setText("double {this}'s power until end of turn")
).setText("double {this}'s power and toughness until end of turn")
));
}

View file

@ -32,8 +32,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.common.DrawCardTargetEffect;
import mage.abilities.effects.common.discard.DiscardTargetEffect;
import mage.abilities.effects.common.DrawDiscardTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
@ -48,15 +47,15 @@ import mage.target.TargetPlayer;
public class RecklessScholar extends CardImpl {
public RecklessScholar(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}");
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}");
this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.WIZARD);
this.power = new MageInt(2);
this.toughness = new MageInt(1);
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardTargetEffect(1), new TapSourceCost());
ability.addEffect(new DiscardTargetEffect(1));
// {T}: Target player draws a card, then discards a card.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawDiscardTargetEffect(1, 1), new TapSourceCost());
ability.addTarget(new TargetPlayer());
this.addAbility(ability);
}

View file

@ -31,7 +31,6 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.AttacksAllTriggeredAbility;
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
import mage.constants.SubType;
import mage.abilities.keyword.DeathtouchAbility;
import mage.abilities.keyword.PartnerWithAbility;
import mage.cards.CardImpl;
@ -39,6 +38,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SetTargetPointer;
import mage.constants.SubType;
import mage.counters.CounterType;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.permanent.CounterPredicate;
@ -46,6 +46,7 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.targetpointer.FixedTarget;
/**
*
@ -93,7 +94,7 @@ class SoulbladeCorrupterTriggeredAbility extends AttacksAllTriggeredAbility {
super(new GainAbilityTargetEffect(
DeathtouchAbility.getInstance(),
Duration.EndOfTurn
), false, filter2, SetTargetPointer.PERMANENT, false);
).setText("that creature gains deathtouch until end of turn"), false, filter2, SetTargetPointer.PERMANENT, false);
}
SoulbladeCorrupterTriggeredAbility(final SoulbladeCorrupterTriggeredAbility effect) {
@ -106,12 +107,20 @@ class SoulbladeCorrupterTriggeredAbility extends AttacksAllTriggeredAbility {
Permanent permanent = game.getPermanent(event.getSourceId());
if (permanent != null) {
Player player = game.getPlayer(permanent.getControllerId());
return player != null && player.hasOpponent(getControllerId(), game);
if (player != null && player.hasOpponent(getControllerId(), game)) {
getEffects().setTargetPointer(new FixedTarget(permanent, game));
return true;
}
}
}
return false;
}
@Override
public String getRule() {
return "Whenever a creature with a +1/+1 counter on it attacks one of your opponents, that creature gains deathtouch until end of turn.";
}
@Override
public SoulbladeCorrupterTriggeredAbility copy() {
return new SoulbladeCorrupterTriggeredAbility(this);

View file

@ -31,11 +31,11 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect;
import mage.constants.SubType;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.ComparisonType;
import mage.constants.SubType;
import mage.filter.common.FilterInstantOrSorceryCard;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.target.common.TargetCardInLibrary;
@ -62,7 +62,7 @@ public class Spellseeker extends CardImpl {
// When Spellseeker enters the battlefield, you may search your library for an instant or sorcery card with converted mana cost 2 or less, reveal it, put it into your hand, then shuffle your library.
this.addAbility(new EntersBattlefieldTriggeredAbility(
new SearchLibraryPutInHandEffect(new TargetCardInLibrary(0, 1, filter), true, true),
new SearchLibraryPutInHandEffect(new TargetCardInLibrary(filter), true, true),
true
));
}

View file

@ -70,7 +70,7 @@ class StunningReversalEffect extends ReplacementEffectImpl {
public StunningReversalEffect() {
super(Duration.EndOfTurn, Outcome.Benefit);
staticText = "The next time you would lose the game this turn, instead draw seven cards and your life total becomes 1. ";
staticText = "The next time you would lose the game this turn, instead draw seven cards and your life total becomes 1";
}
public StunningReversalEffect(final StunningReversalEffect effect) {

View file

@ -50,7 +50,7 @@ import mage.target.common.TargetCreaturePermanent;
*/
public class TheCrowdGoesWild extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature with a +1/+1 counter on it");
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("each creature with a +1/+1 counter on it");
static {
filter.add(new CounterPredicate(CounterType.P1P1));
@ -64,7 +64,7 @@ public class TheCrowdGoesWild extends CardImpl {
// Support X (Put a +1/+1 counter on each of up to X target creatures.)
this.getSpellAbility().addEffect(new AddCountersTargetEffect(CounterType.P1P1.createInstance())
.setText("Support X <i>(Put a +1/+1 counter on each of up to X target creatures.)</i>")
.setText("Support X <i>(Put a +1/+1 counter on each of up to X target creatures.)</i><br>")
);
this.getSpellAbility().addTarget(new TargetCreaturePermanent());

View file

@ -35,11 +35,11 @@ import mage.abilities.dynamicvalue.common.CountersSourceCount;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.abilities.keyword.PartnerWithAbility;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.counters.CounterType;
/**
@ -63,7 +63,9 @@ public class ToothyImaginaryFriend extends CardImpl {
this.addAbility(new DrawCardControllerTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), true));
// When Toothy leaves the battlefield, draw a card for each +1/+1 counter on it.
this.addAbility(new LeavesBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(new CountersSourceCount(CounterType.P1P1)), false));
this.addAbility(new LeavesBattlefieldTriggeredAbility(
new DrawCardSourceControllerEffect(new CountersSourceCount(CounterType.P1P1))
.setText("draw a card for each +1/+1 counter on it"), false));
}
public ToothyImaginaryFriend(final ToothyImaginaryFriend card) {

View file

@ -40,9 +40,9 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.AttachmentType;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.Outcome;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.target.TargetPermanent;
import mage.target.common.TargetCreaturePermanent;
@ -54,10 +54,9 @@ import mage.target.common.TargetCreaturePermanent;
public class UnflinchingCourage extends CardImpl {
public UnflinchingCourage(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}{W}");
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{G}{W}");
this.subtype.add(SubType.AURA);
// Enchant creature
TargetPermanent auraTarget = new TargetCreaturePermanent();
this.getSpellAbility().addTarget(auraTarget);
@ -66,9 +65,10 @@ public class UnflinchingCourage extends CardImpl {
this.addAbility(ability);
// Enchanted creature gets +2/+2 and has trample and lifelink.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield)));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(TrampleAbility.getInstance(), AttachmentType.AURA)));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(LifelinkAbility.getInstance(), AttachmentType.AURA)));
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield));
ability.addEffect(new GainAbilityAttachedEffect(TrampleAbility.getInstance(), AttachmentType.AURA).setText("and has trample"));
ability.addEffect(new GainAbilityAttachedEffect(LifelinkAbility.getInstance(), AttachmentType.AURA).setText("and lifelink"));
this.addAbility(ability);
}
public UnflinchingCourage(final UnflinchingCourage card) {

View file

@ -29,7 +29,7 @@ package mage.cards.v;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.DealsDamageToOpponentTriggeredAbility;
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
import mage.abilities.effects.common.LoseHalfLifeTargetEffect;
import mage.constants.SubType;
import mage.constants.SuperType;
@ -61,7 +61,7 @@ public class VirtusTheVeiled extends CardImpl {
this.addAbility(DeathtouchAbility.getInstance());
// Whenever Virtus the Veiled deals combat damage to a player, that player loses half their life, rounded up.
this.addAbility(new DealsDamageToOpponentTriggeredAbility(new LoseHalfLifeTargetEffect(), false, true, true));
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new LoseHalfLifeTargetEffect(), false, true));
}
public VirtusTheVeiled(final VirtusTheVeiled card) {

View file

@ -25,7 +25,6 @@
* authors and should not be interpreted as representing official policies, either expressed
* or implied, of BetaSteward_at_googlemail.com.
*/
package mage.abilities.common;
import mage.abilities.TriggeredAbilityImpl;
@ -65,6 +64,6 @@ public class WinsCoinFlipTriggeredAbility extends TriggeredAbilityImpl {
@Override
public String getRule() {
return "Whenever a player wins a coin flip," + super.getRule();
return "Whenever a player wins a coin flip, " + super.getRule();
}
}

View file

@ -115,7 +115,7 @@ public class DrawCardTargetEffect extends OneShotEffect {
} else {
target = mode.getTargets().get(0);
}
sb.append("Target ").append(target.getTargetName());
sb.append("target ").append(target.getTargetName());
} else {
sb.append("that player");
}

View file

@ -117,7 +117,7 @@ class PartnersWithSearchEffect extends OneShotEffect {
private final String partnerName;
public PartnersWithSearchEffect(String partnerName) {
super(Outcome.Detriment);
super(Outcome.DrawCard);
this.partnerName = partnerName;
this.staticText = "";
}