mirror of
https://github.com/magefree/mage.git
synced 2025-12-28 06:22:01 -08:00
[CMB1] Implement Evil Boros Charm (#11142)
This commit is contained in:
parent
58fdbc9345
commit
ecf4b11d2e
3 changed files with 94 additions and 0 deletions
60
Mage.Sets/src/mage/cards/e/EvilBorosCharm.java
Normal file
60
Mage.Sets/src/mage/cards/e/EvilBorosCharm.java
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
|
||||
package mage.cards.e;
|
||||
|
||||
import mage.abilities.Mode;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.abilities.effects.common.DamageTargetEffect;
|
||||
import mage.abilities.effects.common.GainLifeEffect;
|
||||
import mage.abilities.effects.common.continuous.BoostAllEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.filter.predicate.permanent.AttackingPredicate;
|
||||
import mage.filter.predicate.permanent.UnblockedPredicate;
|
||||
import mage.game.permanent.token.SpiritEvilBorosCharmToken;
|
||||
import mage.target.common.TargetAnyTarget;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author Susucr
|
||||
*/
|
||||
public final class EvilBorosCharm extends CardImpl {
|
||||
|
||||
private static final FilterCreaturePermanent filter
|
||||
= new FilterCreaturePermanent("unblocked attacking creatures");
|
||||
|
||||
static {
|
||||
filter.add(AttackingPredicate.instance);
|
||||
filter.add(UnblockedPredicate.instance);
|
||||
}
|
||||
|
||||
public EvilBorosCharm(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{B/R}{W/B}");
|
||||
|
||||
// Choose one —
|
||||
// • Evil Boros Charm deals 2 damage to any target and you gain 2 life.
|
||||
this.getSpellAbility().addTarget(new TargetAnyTarget());
|
||||
this.getSpellAbility().addEffect(new DamageTargetEffect(2));
|
||||
this.getSpellAbility().addEffect(new GainLifeEffect(2).concatBy("and"));
|
||||
|
||||
// • Unblocked attacking creatures get +1/+0 until end of turn.
|
||||
Mode mode = new Mode(new BoostAllEffect(1, 0, Duration.EndOfTurn, filter, false));
|
||||
this.getSpellAbility().addMode(mode);
|
||||
|
||||
// • Create a 1/1 colorless Spirit creature token with lifelink and haste.
|
||||
mode = new Mode(new CreateTokenEffect(new SpiritEvilBorosCharmToken()));
|
||||
this.getSpellAbility().addMode(mode);
|
||||
}
|
||||
|
||||
private EvilBorosCharm(final EvilBorosCharm card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EvilBorosCharm copy() {
|
||||
return new EvilBorosCharm(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -24,6 +24,7 @@ public class MysteryBoosterPlaytest extends ExpansionSet {
|
|||
this.hasBasicLands = false;
|
||||
|
||||
cards.add(new SetCardInfo("Banding Sliver", 2, Rarity.RARE, mage.cards.b.BandingSliver.class));
|
||||
cards.add(new SetCardInfo("Evil Boros Charm", 90, Rarity.RARE, mage.cards.e.EvilBorosCharm.class));
|
||||
cards.add(new SetCardInfo("Frogkin Kidnapper", 42, Rarity.RARE, mage.cards.f.FrogkinKidnapper.class));
|
||||
cards.add(new SetCardInfo("How to Keep an Izzet Mage Busy", 93, Rarity.RARE, mage.cards.h.HowToKeepAnIzzetMageBusy.class));
|
||||
cards.add(new SetCardInfo("Recycla-bird", 28, Rarity.RARE, mage.cards.r.RecyclaBird.class));
|
||||
|
|
|
|||
|
|
@ -0,0 +1,33 @@
|
|||
package mage.game.permanent.token;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.keyword.HasteAbility;
|
||||
import mage.abilities.keyword.LifelinkAbility;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
/**
|
||||
* @author Susucr
|
||||
*/
|
||||
public class SpiritEvilBorosCharmToken extends TokenImpl {
|
||||
|
||||
public SpiritEvilBorosCharmToken() {
|
||||
super("Spirit Token", "1/1 colorless Spirit creature token with lifelink and haste");
|
||||
cardType.add(CardType.CREATURE);
|
||||
subtype.add(SubType.SPIRIT);
|
||||
|
||||
power = new MageInt(1);
|
||||
toughness = new MageInt(1);
|
||||
addAbility(LifelinkAbility.getInstance());
|
||||
addAbility(HasteAbility.getInstance());
|
||||
}
|
||||
|
||||
private SpiritEvilBorosCharmToken(final SpiritEvilBorosCharmToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SpiritEvilBorosCharmToken copy() {
|
||||
return new SpiritEvilBorosCharmToken(this);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue