forked from External/mage
[FIN] Implement Circle of Power
This commit is contained in:
parent
b5fe0610d9
commit
05ded6d1eb
3 changed files with 92 additions and 0 deletions
53
Mage.Sets/src/mage/cards/c/CircleOfPower.java
Normal file
53
Mage.Sets/src/mage/cards/c/CircleOfPower.java
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
package mage.cards.c;
|
||||
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||
import mage.abilities.effects.common.LoseLifeSourceControllerEffect;
|
||||
import mage.abilities.effects.common.continuous.BoostControlledEffect;
|
||||
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
|
||||
import mage.abilities.keyword.LifelinkAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.game.permanent.token.BlackWizardToken;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class CircleOfPower extends CardImpl {
|
||||
|
||||
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(SubType.WIZARD, "");
|
||||
private static final FilterPermanent filter2 = new FilterPermanent(SubType.WIZARD, "");
|
||||
|
||||
public CircleOfPower(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{B}");
|
||||
|
||||
// You draw two cards and you lose 2 life. Create a 0/1 black Wizard creature token with "Whenever you cast a noncreature spell, this token deals 1 damage to each opponent."
|
||||
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2, true));
|
||||
this.getSpellAbility().addEffect(new LoseLifeSourceControllerEffect(2).concatBy("and"));
|
||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new BlackWizardToken()));
|
||||
|
||||
// Wizards you control get +1/+0 and gain lifelink until end of turn.
|
||||
this.getSpellAbility().addEffect(new BoostControlledEffect(
|
||||
1, 0, Duration.EndOfTurn
|
||||
).setText("Wizards you control get +1/+0").concatBy("<br>"));
|
||||
this.getSpellAbility().addEffect(new GainAbilityControlledEffect(
|
||||
LifelinkAbility.getInstance(), Duration.EndOfTurn, filter2
|
||||
).setText("and gain lifelink until end of turn"));
|
||||
}
|
||||
|
||||
private CircleOfPower(final CircleOfPower card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CircleOfPower copy() {
|
||||
return new CircleOfPower(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -59,6 +59,8 @@ public final class FinalFantasy extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Cid, Timeless Artificer", 419, Rarity.UNCOMMON, mage.cards.c.CidTimelessArtificer.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Cid, Timeless Artificer", 420, Rarity.UNCOMMON, mage.cards.c.CidTimelessArtificer.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Cid, Timeless Artificer", 480, Rarity.UNCOMMON, mage.cards.c.CidTimelessArtificer.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Circle of Power", 583, Rarity.UNCOMMON, mage.cards.c.CircleOfPower.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Circle of Power", 92, Rarity.UNCOMMON, mage.cards.c.CircleOfPower.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Clive, Ifrit's Dominant", 133, Rarity.MYTHIC, mage.cards.c.CliveIfritsDominant.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Clive, Ifrit's Dominant", 318, Rarity.MYTHIC, mage.cards.c.CliveIfritsDominant.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Clive, Ifrit's Dominant", 385, Rarity.MYTHIC, mage.cards.c.CliveIfritsDominant.class, NON_FULL_USE_VARIOUS));
|
||||
|
|
|
|||
|
|
@ -0,0 +1,37 @@
|
|||
package mage.game.permanent.token;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.SpellCastControllerTriggeredAbility;
|
||||
import mage.abilities.effects.common.DamagePlayersEffect;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.TargetController;
|
||||
import mage.filter.StaticFilters;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class BlackWizardToken extends TokenImpl {
|
||||
|
||||
public BlackWizardToken() {
|
||||
super("Wizard Token", "0/1 black Wizard creature token with \"Whenever you cast a noncreature spell, this token deals 1 damage to each opponent.\"");
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setBlack(true);
|
||||
subtype.add(SubType.WIZARD);
|
||||
power = new MageInt(0);
|
||||
toughness = new MageInt(1);
|
||||
|
||||
addAbility(new SpellCastControllerTriggeredAbility(
|
||||
new DamagePlayersEffect(1, TargetController.OPPONENT),
|
||||
StaticFilters.FILTER_SPELL_A_NON_CREATURE, false
|
||||
));
|
||||
}
|
||||
|
||||
private BlackWizardToken(final BlackWizardToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public BlackWizardToken copy() {
|
||||
return new BlackWizardToken(this);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue