mirror of
https://github.com/correl/mage.git
synced 2024-12-26 03:00:11 +00:00
Implemented Archon of Sun's Grace
This commit is contained in:
parent
cab8724a7d
commit
aa72251627
3 changed files with 92 additions and 0 deletions
61
Mage.Sets/src/mage/cards/a/ArchonOfSunsGrace.java
Normal file
61
Mage.Sets/src/mage/cards/a/ArchonOfSunsGrace.java
Normal file
|
@ -0,0 +1,61 @@
|
|||
package mage.cards.a;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.abilityword.ConstellationAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
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.PegasusToken2;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class ArchonOfSunsGrace extends CardImpl {
|
||||
|
||||
private static final FilterPermanent filter
|
||||
= new FilterCreaturePermanent(SubType.PEGASUS, "Pegasus creatures");
|
||||
|
||||
public ArchonOfSunsGrace(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}{W}");
|
||||
|
||||
this.subtype.add(SubType.ARCHON);
|
||||
this.power = new MageInt(3);
|
||||
this.toughness = new MageInt(4);
|
||||
|
||||
// Flying
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
// Lifelink
|
||||
this.addAbility(LifelinkAbility.getInstance());
|
||||
|
||||
// Pegasus creatures you control have lifelink.
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(
|
||||
LifelinkAbility.getInstance(), Duration.WhileOnBattlefield, filter
|
||||
)));
|
||||
|
||||
// Constellation—Whenever an enchantment enters the battlefield under your control, create a 2/2 white Pegasus creature token with flying.
|
||||
this.addAbility(new ConstellationAbility(
|
||||
new CreateTokenEffect(new PegasusToken2()), false, false
|
||||
));
|
||||
}
|
||||
|
||||
private ArchonOfSunsGrace(final ArchonOfSunsGrace card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ArchonOfSunsGrace copy() {
|
||||
return new ArchonOfSunsGrace(this);
|
||||
}
|
||||
}
|
|
@ -30,6 +30,7 @@ public final class TherosBeyondDeath extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Aphemia, the Cacophony", 84, Rarity.RARE, mage.cards.a.AphemiaTheCacophony.class));
|
||||
cards.add(new SetCardInfo("Arasta of the Endless Web", 165, Rarity.RARE, mage.cards.a.ArastaOfTheEndlessWeb.class));
|
||||
cards.add(new SetCardInfo("Archon of Falling Stars", 2, Rarity.UNCOMMON, mage.cards.a.ArchonOfFallingStars.class));
|
||||
cards.add(new SetCardInfo("Archon of Sun's Grace", 3, Rarity.RARE, mage.cards.a.ArchonOfSunsGrace.class));
|
||||
cards.add(new SetCardInfo("Arena Trickster", 126, Rarity.COMMON, mage.cards.a.ArenaTrickster.class));
|
||||
cards.add(new SetCardInfo("Ashiok's Erasure", 43, Rarity.RARE, mage.cards.a.AshioksErasure.class));
|
||||
cards.add(new SetCardInfo("Ashiok, Nightmare Muse", 208, Rarity.MYTHIC, mage.cards.a.AshiokNightmareMuse.class));
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
package mage.game.permanent.token;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class PegasusToken2 extends TokenImpl {
|
||||
|
||||
public PegasusToken2() {
|
||||
super("Pegasus", "2/2 white Pegasus creature token with flying");
|
||||
this.cardType.add(CardType.CREATURE);
|
||||
this.color.setWhite(true);
|
||||
this.subtype.add(SubType.PEGASUS);
|
||||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(2);
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
}
|
||||
|
||||
private PegasusToken2(final PegasusToken2 token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public PegasusToken2 copy() {
|
||||
return new PegasusToken2(this);
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue